- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAN总线的双机通信doc
实验3 CAN总线的双机通信
一、实验目的:
学习并完成CAN总线的双机通信
二、实验设备:
EL-8051-III型单片机实验箱
三、实验内容:
初始化CAN节点,使SJA1000处在准备工作状态。编写发送和接收程序,一台发送,一台接收,并验证实验程序。
四、实验步骤:
1.给试验箱换上CAN控制器;
2.编写并编译初始化和发送、接收程序;
3.下载程序并调试。
五、实验程序:
;本程序适用于带ALE发生器的新板,是两块板的收发程序
;将模块1上CS0用跳线帽短接,模块2上CS1用跳线帽短接.
;两块模块上的JUMP-4的两个跳线短接在Single侧
;用导线分别对应短接两模块上的CANL和CANH.
;(也可用带水晶头的专用CAN连接线的两头分别插在两模块的插座中而不用导线连接)
;有且只能有一块模块上的A短接到CANL,B短接到CANH.
;接通电源,运行本测试程序,在断点处查看内存单元20H~27H中的值是否与30H~37H中的值完全对应相等
;如果相等表示模块正常,否则用自检程序分别检测收发模块
MODE EQU 0DE00H ;模式寄存器
CMR EQU 0DE01H ;命令寄存器
SR EQU 0DE02H ;状态寄存器
IR EQU 0DE03H ;中断寄存器
IER EQU 0DE04H ;中断使能寄存器
BTR0 EQU 0DE06H ;总线定时寄存器一
BTR1 EQU 0DE07H ;总线定时寄存器二
OCR EQU 0DE08H ;输出控制寄存器
ALC EQU 0DE0BH ;仲裁丢失捕捉寄存器
ECC EQU 0DE0CH ;错误代码捕捉寄存器
TXERR EQU 0DE0FH ;发送错误计数器
ACR0 EQU 0DE10H ;验收代码寄存器0
ACR1 EQU 0DE11H ; 1
ACR2 EQU 0DE12H ; 2
ACR3 EQU 0DE13H ; 3
AMR0 EQU 0DE14H ;验收屏蔽寄存器0
AMR1 EQU 0DE15H ; 1
AMR2 EQU 0DE16H ; 2
AMR3 EQU 0DE17H ; 3
CANTRXB EQU 0DE10H ;发送/接收帧信息
ID1 EQU 0DE11H ;发送/接收缓冲区之标示符一
ID2 EQU 0DE12H ;发送/接收缓冲区之标示符二
DATA1 EQU 0DE13H ;发送/接收数据首址
RBSA EQU 0DE1EH ;接收缓冲器起始地址寄存器 CDR EQU 0DE1FH ;时钟分频寄存器
ORG 4000H
JMP CANINI
ORG 4080H
;----------------------------------------------------------------
;初始化
CANINI:
MOV DPTR,#MODE ;方式寄存器
MOV A,#09H ;进入复位状态
MOVX @DPTR,A ;
MOV DPTR,#CDR ;时钟分频寄存器
MOV A,#88H ;选择PLICAN模式,关闭时钟输出
MOVX @DPTR,A ;
MOV DPTR,#IER ;中断允许寄存器
MOV A,#0DH ;开放发送中断,溢出中断和错误警告中断
MOVX @DPTR,A ;
MOV DPTR,#AMR0 ;接收屏蔽寄存器
MOV A,#00H ;
MOVX @DPTR,A ;
MOV DPTR,#AMR1 ;
MOV A,#00H ;
MOVX @DPTR,A ;
MOV DPTR,#AMR2 ;
MOV A,#00H ;
MOVX @DPTR,A ;
MOV DPTR,#AMR3 ;
MOV A,#0FFH ;
MOVX @DPTR,A ;
MOV DPTR,#ACR0 ;验收代码寄存器
MOV A,#
文档评论(0)