基于CAN总线的RS-232串口设备远程通信
子程序:
;//////////////////////////////////////////////////////////////////
;//CAN数据接收/统一成2个字节ID的帧格式//
;///////////////////////////////////////////////////////////////////////
RECAN:
MOV R0,#C_RE ;单片机内缓冲区起始地址
MOV DPTR,#RXBUF ;读取并保存接收缓冲区的内容
MOVX A,@DPTR ;读取CAN缓冲区的2号字节
MOV @R0,A ;保存
JB ACC.7,EFF_RE ;FF位,0-SFF,1-EFF
MOV R2,#0
SJMP SFF_RE ;ID数目不同,截取"数据字节"的位置不同
EFF_RE:MOV R2,#2
SFF_RE:MOV R2,#2
SFF_RE:
JB ACC.6,EXIT_RECAN ;RTR位判断,1-远程帧,则跳出
ANL A,#0FH
MOV R3,A ;这时截取中间4位是数据长度
MOV C_NUM,A ;R3,R5中存放接收帧的长度
RDATA0:
INC DPTR ;2个字节ID
INC R0
MOVX A,@DPTR
MOV @R0,A
INC DPTR
MOVX A,@R0,A
INC DPTR
MOVX A,@DPTR
MOV @R0,A
MOV A,R2 ;如果是EFF则跳过两个字节ID
JZ DRATA1
INC DPTR
INC DPTR
DATA1: ;数据字节
INC DPTR
INC R0
MOVX A,@DPTR
MOV @R0,A
DJNZ R3,RDATA1
EXIT_RECAN:
RET
4 结束语
计算机的微型化为测控仪表的智能化提供了必要的条件,使得带微处理器的终端设备具备更好的数字通信能力。随着越来越多智能终端的出现,无论是对网络的结构、协议、实时性,还是适用性、灵活性、可靠性乃至成本都有了更高的要求,因此现场总线有着很好的发展前景。CAN总线的帧结构拥有标识ID,这使得设备网络中拥有多台网络主机成为可能,即通过网络主机可以监控整个设备网络的工作情况并作出相应的控制决策。本装置目前已开发完成,并在实际应用中取得了非常好的效果。
- 现场总线CANbus与RS-485之间透明转换的实现(01-26)
- 支持CAN总线的电动车辅助逆变电源的设计(02-23)
- 单片机和MCP2510的CAN息线通信模块设计(05-03)
- CAN总线/RS232接口的设计(10-12)
- 机车空调逆变电源控制系统及其实现(06-21)
- 现场总线在并联逆变电源系统中的应用(06-23)