第5章CAN器件及开发实例分析.ppt

  1. 1、本文档共140页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章CAN器件及开发实例分析

* 5.6.4 中断 SJA1000在BasicCAN模式里有5个中断源,在PeliCAN模式里被扩展到8个。 一旦CAN产生中断,SJA1000会将中断输出设为低电平,直到主控制器通过读SJA1000的中断寄存器对中断采取相应措施。 中断被处理的次序取决于系统。由整个系统的设计者决定。 * PeliCAN模式 * CS BIT P2.7 ;片选信号 ;CAN寄存器描述 C0_CR EQU 00 ;控制寄存器 C0_CMR EQU 01 ;命令寄存器 C0_SR EQU 02 ;状态寄存器 C0_IR EQU 03 ;中断寄存器 C0_ACR EQU 04 ;接收码寄存器 C0_AMR EQU 05 ;接收屏蔽寄存器 C0_BTR0 EQU 06 ;总线定时寄存器0 C0_BTR1 EQU 07 ;总线定时寄存器1 C0_OCR EQU 08 ;输出控制寄存器 C0_CDR EQU 31 ;时钟分频寄存器 RECSTART EQU 40H ;存放接收数据RAM区首地址 程序实例 * ORG 0000H LJMP MAIN ORG 0013H LJMP EXINT1 ;------------------------------------------ ;初始化SJA1000寄存器 ;------------------------------------------ ORG 0030H MAIN: CLR EA ;关中断 WC0_CR: MOV R1, #C0_CR ;设定控制寄存器 MOV A, #01H ;复位请求位置1 LCALL WCAN LCALL RCAN ;读出SJA1000控制寄存器值 * ;------------------------------------------ ;读写SJA1000寄存器 ;------------------------------------------ WCAN: CLR P2.7 MOVX @R1,A SETB P2.7 RET RCAN: CLR P2.7 MOVX A,@R1 SETB P2.7 RET * ANL A, #01H ;该值与#01H数值相与 JZ WC0_CR ;非复位模式,继续设定CR MOV R1, #C0_CDR ;设定时钟分频寄存器 MOV A, #48H ; BasicCAN模式,禁能时钟引脚 LCALL WCAN MOV R1, #C0_ACR ;设定ACR MOV A, #55 ;置接收代码55) LCALL WCAN MOV R1,#C0_AMR ;设定AMR MOV A,#0FFH LCALL WCAN * MOV R1, #C0_BTR0 ;设定BTR0 MOV A, #0D3H ; 系统时钟2.5us LCALL WCAN MOV R1,#C0_BTR1 ;设定BTR1 MOV A,#0AFH ;位周期时间50us,波特率20K LCALL WCAN MOV R1, #C0_OCR ;设定OCR MOV A, ;正常模式,推挽方式 LCALL WCAN * RC0_CR: MOV R1,#C0_CR ;设定CR MOV A,#06H ; 允许发送、接收中断, LCALL WCAN LCALL RCAN

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档