久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線與RS485總線的通訊接口設計

CAN總線與RS485總線的通訊接口設計

作者: 時間:2016-12-21 來源:網絡 收藏

CAN總線轉換到RS-485總線的程序如下:

CAN-RS485_TRANSITION:

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 下一頁

評論


技術專區

關閉