AL,[BX]+ JBC AL,6,RCDATA;标识符的RTR=1? LDB AL,#04H; 是远程帧,释放接收缓存区 STB AL,CMR; LCALL TRANSMIT; 相应远程帧,发送相应数据 SJMP BACK RCDATA: ANDB AL,#0FH; 取低四位数据长度 ADDB AL,#03H; STB AL,R1; 该报文含有的字节数 LD BX,#RXB; 接收缓存器的首地址 LD CX,#CRBF; CPU内的接收数据缓存区首址 RECE: LDB AL,[BX]+ STB AL,[CX]+ INCB R1 DJNZ R1,RECE; 接收完否? LDB AL,#04H STB AL,CMR; 释放接收缓存区 BACK; POPF RET
结语
CAN总线已被公认为是最有前途的几种现场总线之一。因其高性能价格比、实现简单等突出优点深得越来越多的研发人员的青睐。文中的智能节点来源于一电源组集散控制系统,其硬、软件电路的设计方法同样适合于其他基于CAN总线的分布式控制系统的节点设计。