首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
CAN总线与RS-485总线的通信接口设计
来源:本站整理  作者:佚名  2009-08-27 10:10:36




  CAN总线转换到RS-485总线的程序如下:

CAN-RS485_TR

ANSITION: 
  MOV DPTR, #SR; 状态寄存器
  MOVX A, @DPTR;
  JNB ACC.0, CAN_QUIT; 
  是否接收到信息,无数据则退出转换程序
  CAN-RS485_HANDLE:
  MOV DPTR, #CANR ;接收缓冲区首地址 
  MOVX A , @DPTR   ;接收帧的格式
  JNB ACC.6 , RECEIVE _ FRAME
  ;RTR=1则报文是远程请求帧 
  LCALL TRANSMIT_ DATA  
  ;发送对方请求的数据
  LJMP  CAN_QUIT  ;退出转换程序
  RECEIVE_ FRAME: MOVX A, @DPTR; 
  ANL A, #0FH;
  ADD A, #05H
  ;获得接收数据的长度
  MOV R7, A
  MOV R0,#43H
  ;设定MCU接收数据缓冲区
  DATAFRAME:  MOVX A, @DPTR
  
 ;接收数据
  MOV @R0, A   
  LCALL  RS485_SEND ;将有效信息通过MAX485转发到RS-485总线     
  INC DPTR
  INC R0
  DJNZ R7, DATAFRAME ;判断接收是否结束
  RECOUT:      MOV DPTR, #CMR
  MOV A, #04H
  ;释放接收缓冲区
  MOVX @DPTR, A
  CAN_QUIT:  RET ;退出转换程序


4  结束语
  CAN总线是当前应用最为广泛的现场总线之一,而RS-485总线则是常用的串行总线,两者之间的相互转换具有很高的实用价值。本文设计的CAN-RS485通信接口电路能够很好地解决这两种串行数据总线之间的相互转换问题,并已成功应用于某地区的智能交通控制系统。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:156,777.30000 毫秒