网站大量收购闲置独家精品文档,联系QQ:2885784924

07章 S12中断系统.ppt

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

重庆大学通信工程学院 任勇 第7章 S12中断系统 7.1 中断系统概述 中断概念:指某外部事件或异常发生时,CPU暂时停止执行当前的程序 保护断点 ,转向中断服务程序;中断处理完后返回原来的程序继续运行 恢复断点 。中断是MCU的重要功能。 S12MCU丰富的中断源: 多个普通中断、多个特殊中断 S12的特殊中断---复位 4种情况可以触发复位中断: 上电复位---不可屏蔽。 外部 RESET 复位---不可屏蔽 看门狗定时器溢出复位---可屏蔽。设置COPCTL寄存器 CR[2:0]非零 时钟监视失效复位---可屏蔽。设置PLLCTL寄存器 CME 1,SCME 1 S12的其它普通中断 不可屏蔽中断--- 非法指令中断、软件中断、外部中断XIRQ CCR的X位可设置一次 可屏蔽中断 通过设置CCR中的I位 --- 外部IRQ、实时中断、定时器、SCI、SPI、CAN等功能部件 CCR的X、I位 --- 0 允许中断;1 屏蔽中断,复位默认1 中断向量--- 地址$FF80~$FFFF为S12的中断向量映射,最大可有64个中断向量。每个向量 2个字节 指向中断服务程序的入口地址。 (见教材P131 表7-2),大多可屏蔽、可使能。其中: 上电复位和外部RESET复位中断的向量地址:$FFFE~$FFFF 外部中断IRQ的向量地址:$FFF2~$FFF3 中断优先级 总体上,不可屏蔽中断高于可屏蔽中断,可以多级嵌套。 不可屏蔽中断的优先级---由硬件规定,按以下次序递减: 上电复位或外部RESET引脚复位; 时钟监视复位 看门狗复位 指令陷阱 软件中断SWI 外部中断XIRQ 可屏蔽中断的优先级 默认由中断向量在中断向量表的排序确定 也可修改最高优先级中断寄存器HPRIO来修改 复位默认$F2 ,此时外部中断IRQ是可屏蔽中断优先级别最高的 可以修改最高优先级中断寄存器HPRIO的值来改变优先级,最后写入HPRIO的值指定的中断为当前最高优先级 写入不合规范的值会自动恢复IRQ为最高优先级 注意:HPRIO设置的优先级仅对同时申请中断响应时起作用 HPRIO 7.2 中断处理 硬件+软件结合完成: 1 中断请求 在中断源未被屏蔽,且中断允许触发器被置位时,可以向CPU发出中断请求 2 中断响应 中断请求随机,一般在现行指令结束时检测中断请求,如中断响应条件满足就进入中断响应周期,自动进行3件事: 关中断,即将CCR的I位置1,以屏蔽其它中断干扰。 保护断点地址和标志寄存器CCR的内容压入到堆栈,即现场保护。 跳转到中断服务程序的入口地址,即将中断向量地址的内容载入PC。 3 中断处理程序 完成中断后要处理的功能。中断服务程序通常放在不分页FLASH区。 4 中断返回 中断服务的最后一条指令必须是RTI,返回时自动将堆栈中的标志寄存器内容和断点地址弹出,使程序回到中断前的地址继续运行原来的程序。 7.3 中断程序设计 主程序中进行中断初始化,并执行占用时间较多的程序; 中断服务程序要求简短、高效,条件苛刻时尽量使用汇编语言; 在整个源程序的末尾声明中断子程序的所对应的矢量地址,格式如例; 以上所有源程序会通过IDE集成开发环境自动进行编译、链接、定位,形成可执行机器代码。 【例】用中断源IRQ产生中断显示LED跑马灯。 在IRQ引脚和地之间加接一个按键,内部默认上拉。 初始化设置外部中断控制寄存器INTCR IRQE:0 低电平触发,1 下降沿触发 IRQEN:0 禁止IRQ中断,1 使能 本章习题: S12MCU的有哪几种复位中断?上电复位和外部RESET复位的中断向量地址是什么? 外部中断IRQ的控制寄存器的各位定义是什么?开放其中断需要设定什么位?CPU在地址$FFF2处取得的址代表什么? 简述S12中断处理的基本流程。 理解中断服务程序的程序安排和位置定义。 * * 0 PSEL1 PSEL2 PSEL3 PSEL4 PSEL5 PSEL6 PSEL7 Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 注:在中断发生时S12自动将寄存器Y、X、D也压栈 Entry: LDAA #$FF STAA DDRB ;设置B口为输出 LDAA #$C0

文档评论(0)

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

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

1亿VIP精品文档

相关文档