(6) 第5章 复位中断存储器扩展.ppt_第1页
(6) 第5章 复位中断存储器扩展.ppt_第2页
(6) 第5章 复位中断存储器扩展.ppt_第3页
(6) 第5章 复位中断存储器扩展.ppt_第4页
(6) 第5章 复位中断存储器扩展.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CollegeofCommunicationEngineering JilinUniversity 第5章复位 中断及存储空间的扩展 2 CollegeofCommunicationEngineering JilinUniversity 本章提要 5 1复位和中断 S12X S12XS 5 2存储空间的扩展 3 CollegeofCommunicationEngineering JilinUniversity 本章提要 5 1复位和中断 S12X S12XS 5 2存储空间的扩展 4 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 所有IO口默认为输入 外部非屏蔽中断XIRQ被禁止 CCR中X 1 可屏蔽中断被禁止 CCR中I 1 PC FFFE 复位向量 CPU执行 FFFE和 FFFF中的指令 复位状态 5 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 中断向量 中断向量表 P100表5 1 存储空间地址范围为 FFFE FF10 每个中断源占据两个地址 F000 FDFF 3 5KB 地址空间为监控程序 F000 FFFF 4KB 被写保护以防误擦操作 监控程序将中断向量表由 FF10 FFFF移至 EF10 EFFF地址固定 复位向量 FFFE FFFF时钟监控复位向量 FFFC FFFD看门狗复位向量 FFFA FFFB 6 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 中断向量 续 其他中断向量地址 IVBR 8位地址 IVBR 中断向量基地址寄存器地址 0121复位后 IVBR FF重设IVBR值 可将中断向量区整块移至其他位置例如 监控程序定位在寻址空间高端并被保护时 通过设定IVBR将中断向量搬至 EF10开始的空间 7 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 中断响应 前提 复位后被禁止 使用时需开中断 CLI 过程 硬件将核心寄存器堆入栈 顺序CCR入栈后 硬件使I 1关闭中断中断向量表中取中断服务子程序入口地址给PC 执行中断子程序 子程序中先清中断 中断返回 RTI 中服子程序结尾 入栈内容出栈 8 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 中断优先级 7个级别 1级最低 7级最低 0关中断 在低优先级的中断可以通过开中断指令CLI 允许高优先级中断嵌入 相同优先级的中断不能嵌入 最多7级中断嵌套 至少占用70B堆栈空间 CCR中的高8位中的低3位IPL用来标志中断优先级 当高优先级中断嵌入低优先级时 低优先级中断的优先级等级将随CCR寄存器自动入栈 当高优先级中断退出后 CCR从堆栈中恢复原来的中断级别 9 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 中断优先级 续1 1 中断请求配置地址寄存器INT CFADDR 0127 8位寄存器 仅高4位有效 用来选择128个中断请求配置数据寄存器中的连续8个 例如 写入 E0就选择了基地址 E0 基地址 E02 基地址 EE这8个中断源 通过中断请求配置地址寄存器和中断请求配置数据寄存器来修改优先级 10 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 中断优先级 续2 2 中断请求配置数据寄存器INT CFDATA0 7 0128 012F 通过以上8个中断请求配置数据寄存器INT CFDATA0 7 为由中断请求地址寄存器指定的8个中断源设定优先级 仅低3位有效 中断请求配置数据寄存器复位后值为1 说明初始时所有中断源均设为最低级中断 12 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 中断程序设计方法 主程序中断源 中断控制 全局和专门 堆栈设置 中断优先级 中断服务程序中断向量表 13 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 中断程序设计实例 IRQ和XIRQ中断 XIRQ和IRQ是外部事件通过相应引脚 55 56 提出的请求 属于外部中断源 XIRQ中断一般用于系统掉电 硬件故障等重要场合 硬件上需要保证相应的低电平提出中断请求 P260 负极性单脉冲产生电路 IRQ是可屏蔽中断 受全局中断控制位控制 CCR寄存器中I位 专用控制位在IRQCR 0 x001E 具体定义如下 IRQE 选择触发方式0 低电平触发 1 下降沿触发IRQEN IRQ使能0 关闭 1 使能 默认 1 主程序中的必要设置 14 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS 电平触发和边沿触发的区别 低电平触发 只对低电平的持续时间有要求 对高电平不要求 中断服务程序执行完之前 外部中断源的有效电平必须被撤消 否则将产生下一次中断 边沿触发 对外部中断源输入的高 低电平时间都有要求 必须保证MCU能检测到由高到低的负跳变 XIRQ是非屏蔽中断引脚 在任何模式下 该引脚一旦被拉低 MCU执行完当前指令后 都会响应该中断 在等待和停止模式 该中断可唤醒MCU 受CCR寄存器中X位控制 voidmain void EnableInterrupts IRQCR 0 xc0 堆栈的设置由启动文件自动完成asmANDCC BF 1 主程序中的必要设置 续 15 CollegeofCommunicationEngineering JilinUniversity 5 1复位和中断 S12X S12XS IRQ中断向量为 FFF2 FFF3 中断向量号为6 XIRQ中断向量为 FFF4 FFF5 中断向量号为5 voidinterrupt5XIRQ void voidinterrupt6IRQ void flag 1 2 编写中断服务程序 打开project prm文件 找到 VECTOR0 Startup 填写 VECTOR5XIRQVECTOR6IRQ 3 填写中断向量表 16 CollegeofCommunicationEngineering JilinUniversity 本章提要 5 1复位和中断 S12X S12XS 5 2存储空间的扩展 17 CollegeofCommunicationEngineering JilinUniversity 5 2存储器空间的扩展和管理 S12X单片机寻址空间的扩展全程地址寄存器对扩展空间的连续寻址 5 2 1寻址空间的扩展 给连续存储空间分区闪存页面管理寄存器PPage数据闪存页面管理寄存器EPageRAM页面管理寄存器RPage子程序远程调用 5 2 2寻址空间的管理 18 CollegeofCommunicationEngineering JilinUniversity 5 2 1寻址空间的扩展 基本地址线是16位 决定了基本寻址空间 216B 64KB采用小模式 整个应用程序都在64KB空间内寻址 指针变量16位 程序紧凑 代码效率高 1 S12X单片机寻址空间的扩展 地址线扩展到24位 寻址空间 224B 256x64KB 16MB地址线扩展到32位 寻址空间 232B 256x16MB 4GB 目前 单片机片内可集成的RAM最多在64KB量级上 闪存最多在1MB量级上 因此不采用扩展地址线的方式 而是增加了一个全程地址寄存器 这样既能保留了16位机的优势 又能使存储空间得到扩展 19 CollegeofCommunicationEngineering JilinUniversity 5 2 1寻址空间的扩展 GPage是7位寄存器 低7位有效 基本地址线16位 7位 达到23位 决定了扩展寻址空间是 223B 128x64KB 8MB 2 全程地址寄存器GPage 地址 10 G globle 对GPage的理解 GPage寄存器把8M寻址空间分成了连续的128个64KB的存储器块儿 当连续读 写超过64KB空间时 需要改变GPage的值 给寄存器加1或减1如 INCGPage 20 CollegeofCommunicationEngineering JilinUniversity 5 2 1寻址空间的扩展 访问8MB空间有专门指令 读指令 GLDAR 写指令 GSTARR代表CPU内部6个寄存器中任意一个 A B D X Y和SPGLDAA GLDAB GLDD GLDX GLDY GLDSGSTAA GSTAB GSTD GSTX GSTY GSTS全程读写指令中没有立即数寻址方式 其他寻址方式都和非全程指令相同 3 对扩展空间的连续寻址 21 CollegeofCommunicationEngineering JilinUniversity 5 2 1寻址空间的扩展 访问 LDAA AALDAB 0FSTABGPAGEGSTAA E000GLDAB E000在CodeWarrior的Memory窗口中 利用Address填写地址 形式为0FE000 G来观察存储单元的变化 实例 RAM全地址存取 22 CollegeofCommunicationEngineering JilinUniversity 5 2 2寻址空间的管理 给连续存储空间分区 23 CollegeofCommunicationEngineering JilinUniversity 5 2 2寻址空间的管理 8MB空间为程序空间分配了4MB 需22 8 14 位地址线 PPage是8位寄存器 8 4MB 256 16KB 即 256个闪存页面 每页16KB 14 S12XCPU默认有连续的48KB的寻址空间从0 x4000 0 xFFFF S12X将地址0 x8000 0 xBFFF16KB开成一个闪存窗口 用PPage将64KB寻址空间外的某一个16KB替换进来 PPage FF 总是定位在 C000 FFFF PPage FD 总是定位在 4000 7FFF S12X128单片机片内有128KB闪存 PPage F8 FF S12X单片机复位时 PPage初值为 FE 闪存页面管理寄存器 PPage 15 24 CollegeofCommunicationEngineering JilinUniversity 5 2 2寻址空间的管理 8MB空间为数据闪存分配了256KB EPage是8位寄存器 256KB 256 1KB 即256个闪存页面 每页1KB S12XCPU默认有连续的2KB的寻址空间 从0 x0800 0 x0FFF 将地址0 x0800 0 x0BFF1KB开成一个闪存窗口 用EPage将2KB寻址空间外的某一个1KB替换进来 EPage FF 1KB的地址是从0 x0C00 0 x0FFF S12X128单片机片内有8KB数据闪存 且只能用EPage访问 EPage 00 07 S12X单片机初始EPage FE 初始化时应修改EPage为 00 07 数据闪存页面管理寄存器 EPage 17 25 CollegeofCommunicationEngineering JilinUniversity 5 2 2寻址空间的管理 8MB空间为RAM空间分配了1MB RPage是8位寄存器 1MB 256 4KB 即256个RAM页面 每页4KB S12XCPU默认有连续的12KB的RAM寻址空间 从0 x1000 0 x3FFF 将地址0 x1000 0 x1FFF4KB开成一个窗口 用RPage将12KB寻址空间外的某一个4KB替换进来 FD FE FF连成12KB空间 对应 1000 3FFF S12XS128片内只有8KBRAM 无需RPAGE管理 S12XS单片机复位时RPage FD 对S12XS128来说是个无效值 单片机初始化时应使RPage FE RAM页面管理寄存器 RPage 16 27 CollegeofCommunicationEngineering JilinUniversity 5 2 2寻址空间的管理 48KB以内子程序调用 返回JSRRTS例 JSRLOOP48KB以外子程序调用 返回CALLRTC例 CALLLOOP page 子程序远程调用 28 CollegeofCommunicationEngineering JilinUniversity 5 2寻址空间的扩展与管理 寻址空间扩展的程序示例 ORG 4000LDAA AALDAB 0FSTABGPAGEGSTAA E000GLDAB E000LDAB FESTABRPAGELDAB 1000LDAB 7FSTABGPAGEGLDAB 8000LDAB FESTABPPAGE GLDAB 8001CALLMY DEFAULT ROM SECTIONDATAFCB1 2 3 4MY LDY 00 LDD 01RTC注 RAM区 全局地址 0FE000 逻辑地址 FE1000FLASH区 全局地址 7F8000 逻辑地址 FE8000 29 CollegeofCommunicationEngineering JilinUniversity 5 2 2寻址空间的管理 1 对于RAM空间 1MB地址空间可以用全程读写指令读写 但若需要做运算 则要利用RPage映射 4KB 2 对于数据闪存空间 256KB地址空间可以用全程读指令读取 但若需要做运算 则要利用EPage映射 1KB 3 对于程序空间 4MB地址空间可以用全程读指令读取 也可利用PPage映射 16KB 还可利用CALL指令 小结 MC9S12X128S pagedEEPROM0 x0800TO0 x0BFF addressedthroughEPAGE EEPROM 00 READ ONLYDATA FARIBCC FAR0 x000800TO0 x000BFF EEPROM 01 READ ONLYDATA FARIBCC FAR0 x010800TO0 x010BFF EEPROM 02 READ ONLYDATA FARIBCC FAR0 x020800TO0 x020BFF EEPROM 03 READ ONLYDATA FARIBCC FAR0 x030800TO0 x030BFF EEPROM 04 READ ONLYDATA FARIBCC FAR0 x040800TO0 x040BFF EEPROM 05 READ ONLYDATA FARIBCC FAR0 x050800TO0 x050BFF EEPROM 06 READ ONLYDATA FARIBCC FAR0 x060800TO0 x060BFF EEPROM 07 READ ONLYDATA FARIBCC FAR0 x070800TO0 x070BFF pagedRAM 0 x1000TO0 x1FFF addressedthroughRPAGE RAM FE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论