;//CAN數(shù)據(jù)接收/統(tǒng)一成2個(gè)字節(jié)ID的幀格式//
;///////////////////////////////////////////////////////////////////////
RECAN:
MOV R0,#C_RE ;單片機(jī)內(nèi)緩沖區(qū)起始地址
MOV DPTR,#RXBUF ;讀取并保存接收緩沖區(qū)的內(nèi)容
MOVX A,@DPTR ;讀取CAN緩沖區(qū)的2號(hào)字節(jié)
MOV @R0,A ;保存
JB ACC.7,EFF_RE ;FF位,0-SFF,1-EFF
MOV R2,#0
SJMP SFF_RE ;ID數(shù)目不同,截取“數(shù)據(jù)字節(jié)”的位置不同
EFF_RE:MOV R2,#2
SFF_RE:MOV R2,#2
SFF_RE:
JB ACC.6,EXIT_RECAN ;RTR位判斷,1-遠(yuǎn)程幀,則跳出
ANL A,#0FH
MOV R3,A ;這時(shí)截取中間4位是數(shù)據(jù)長(zhǎng)度
MOV C_NUM,A ;R3,R5中存放接收幀的長(zhǎng)度
RDATA0:
INC DPTR ;2個(gè)字節(jié)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則跳過(guò)兩個(gè)字節(jié)ID
JZ DRATA1
INC DPTR
INC DPTR
DATA1: ;數(shù)據(jù)字節(jié)
INC DPTR
INC R0
MOVX A,@DPTR
MOV @R0,A
DJNZ R3,RDATA1
EXIT_RECAN:
RET
4 結(jié)束語(yǔ)
計(jì)算機(jī)的微型化為測(cè)控儀表的智能化提供了必要的條件,使得帶微處理器的終端設(shè)備具備更好的數(shù)字通信能力。隨著越來(lái)越多智能終端的出現(xiàn),無(wú)論是對(duì)網(wǎng)絡(luò)的結(jié)構(gòu)、協(xié)議、實(shí)時(shí)性,還是適用性、靈活性、可靠性乃至成本都有了更高的要求,因此現(xiàn)場(chǎng)總線(xiàn)有著很好的發(fā)展前景。CAN總線(xiàn)的幀結(jié)構(gòu)擁有標(biāo)識(shí)ID,這使得設(shè)備網(wǎng)絡(luò)中擁有多臺(tái)網(wǎng)絡(luò)主機(jī)成為可能,即通過(guò)網(wǎng)絡(luò)主機(jī)可以監(jiān)控整個(gè)設(shè)備網(wǎng)絡(luò)的工作情況并作出相應(yīng)的控制決策。本裝置目前已開(kāi)發(fā)完成,并在實(shí)際應(yīng)用中取得了非常好的效果。





