- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1SJA1000编程基础汇编
3.1 SJA1000编程基础
目 录
MCU访问SJA100
读写寄存器
精确延时
寄存器位操作
连续读写寄存器
接口电路
SJA1000使用并行接口总线与MCU连接,SJA1000可以认为是一个外扩的RAM。
访问SJA1000的地址决定于低8位与高8位地址,也就是片选信号。
片选信号产生方式
MCU产生片选信号有一下3种:
优点:无需译码电路,线路简单
线选法
SJA1000的访问基址:A[0:7] = 0x00~0xFF,A[8:15] = 2_0xxxxxxx
使用空闲的高位地址线作为作为扩展芯片的片选信号。
缺点:地址空间太多重复,地址空间没有被充分利用
优点:地址不重叠,充分利用地址空间
全地址译码法
SJA1000的访问基址:具体地址由译码电路决定,地址唯一
使用译码器对空闲的高位地址线进行译码,输出的译码信号作为扩展芯片的片选信号。
缺点:译码电路较多,线路复杂
优点:地址重叠少,译码电路少
部分地址译码法
SJA1000的访问基址:具体地址有译码电路决定,地址唯一
使用译码器对空闲的部分高位地址线进行译码,输出的译码信号作为扩展芯片的片选信号。
缺点:地址仍有重叠
A[12:15]
MCU访问SJA1000的地址
SJA1000的访问基址:0xA000~0xAF00
A[8:15] = 0xA0~0xAF
MCU
SJA1000
寄存器地址定义
若译码电路改变,访问基值改为0xB000,只需要改变基址的定义。
REG_BASE_ADD 0xB000 // 寄存器基址
#define REG_CAN_MOD 0xB000 // 内部控制寄存器
#define REG_CAN_CMR 0xB001 // 命令寄存器
#define REG_CAN_SR 0xB002 // 状态寄存器
#define REG_CAN_IR 0xB003 // 中断寄存器
如果译码电路改变,访问基值改为0xB000,寄存器的定义都需要改变。
实际访问时使用 基址 + 偏址 的方式读写寄存器
访问寄存器的常用操作
目 录
MCU访问SJA100
读写寄存器
精确延时
寄存器位操作
连续读写寄存器
定义寄存器读写指针
读写寄存器
// 写SJA1000寄存器
void WriteSJAReg(unsigned char RegAddr, unsigned char Value)
{
*(SJA_CS_Point + RegAddr) = Value;
return;
}
// 读SJA1000寄存器
unsigned char ReadSJAReg(unsigned char RegAddr)
{
return (*(SJA_CS_Point + RegAddr));
}
目 录
MCU访问SJA100
读写寄存器
精确延时
寄存器位操作
连续读写寄存器
寄存器位操作
设置寄存器位
1
:使用或操作
:使用与操作
0x0F | 0x80
0
0x0F (~0x01)
清零寄存器位
寄存器位操作
回写寄存器
temp = temp | BitValue0;
temp = temp (~BitValue1);
WriteSJAReg(RegAdr, temp);
目 录
MCU访问SJA100
读写寄存器
精确延时
寄存器位操作
连续读写寄存器
连续读写寄存器
目 录
MCU访问SJA100
读写寄存器
精确延时
寄存器位操作
连续读写寄存器
延时函数
延时是程序设计中常用的功能,常规的延时程序结构如下:
这种延时程序需要根据实际测试效果调整循环次数才能得到期望的延时时间,且延时时间与MCU平台相关,移植性不好。
调用延时函数
精确延时
循环n次结束?
操作流程
void timerDelay(unsigned int n)
{
}
TL0 = LOW_BYTE(65535UL-CUPCLK/100);
TH0 = HIGH_BYTE(65535UL-CPUCLK/100);
TR0 = 1;
do {
您可能关注的文档
- 人民币加入SDR-分解.pptx
- 人民币开转帐单兑换美元Agreement-(HSBC-TSL分解.doc
- 人民币上的学问分解.ppt
- 三草酸合铁(Ⅲ)酸钾合成与组成测定实验报告分解.docx
- 2重力坝(下)汇编.ppt
- 人民大会堂小礼堂改造装修工程施工组织设计g分解.doc
- 人民大会堂装修施组分解.doc
- 2项目二数控加工工艺设计汇编.ppt
- 人民大学应用统计专硕多元统计分析部分总结分解.docx
- 烧结总结报告分解.docx
- 2024-2025学年初中数学七年级上册(2024)苏科版(2024)教学设计合集.docx
- 第十三章 可见和紫外分光光度法 .pdf
- 2024-2025学年初中数学七年级上册(2024)浙教版(2024)教学设计合集.docx
- 2024-2025学年北京师范大学附属中学七年级上学期期中历史试题含详解.docx
- 2024-2025学年初中数学七年级下册北京课改版(2024)教学设计合集.docx
- 简单的汽车买卖合同6篇 .pdf
- 简单的机械买卖合同范本(推荐9篇) .pdf
- 简单家长会家长发言稿(精选7篇) .pdf
- 简单版房屋租赁合同电子版(5篇) .pdf
- 2024-2025学年初中数学七年级上册(2024)华师大版(2024)教学设计合集.docx
文档评论(0)