9s12单片机-中断系统.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 6 章 S12 中断系统 ? 6.1 生活中的中断 ? 6.2 异常 ? 6.3 中断优先级与中断嵌套 ? 6.4 可屏蔽中断( I ) ? 6.5 中断向量表 ? 6.6 中断程序设计实例 6.1 生活中的中断 A 读书 - 书签 B 接电话 C 开门 A-main () B-Interrupt 1 () C -Interrupt 2 () 定义 ? 中断定义:是指 CPU 在正常执行程序 过程中 ,由于 内部 / 外部 事件 , CPU 暂时中断当前程序的运行, 转而执行由内部 / 外部事件引起的 中断服务子程序 。 在中断服务子程序执行完毕后, CPU 再 重新回来 执 行当前的程序; 定义 ? 单片机为什么引入中断系统机制 ? 首先想想生活中中断的处理机制及方法 ? 与查询的概念相对应;中断是用以提高计算机工 作 效率 的一种重要机制和技术; 中断系统的功能 ? 能实现: 中断响应 : CPU 能够知道 中断处理 :能够找到相应子程序 中断返回 :保证机制 中断屏蔽 :可以响应,也可以不响应 ? 能实现 中断优先级排队 :谁先谁后 ? 能实现 中断嵌套 :中断中的中断 6.2 异常 异常 1. 上电复位 2. 外部复位 3. 看门狗复位 4. 时钟监视复位 复位 中断 其他 X 位可屏蔽 I 位可屏蔽 1. 软件中断 2. 指令陷阱 XIRQ 中断 1.IRQ 2. 实时中断 3. 输入捕捉 4.AD 5.SCI …… S12 系列单片机的中断属于异常情况处理的一部分。 四种事件可以触发系统复位: ( 1 )上电复位 S12 的 VDD 引脚上的一个正向变化将触发上电复 位,这意味着当给 S12 上电时,它以一个已知的、 确定的设置启动。 ( 2 )外部复位 S12 配备一个标记为 RESET 的低电平有效复位引 脚,当该引脚电压为低电平时,触发复位。 6.2.1 、复位 ( 3 )看门狗复位( COP ,Computer Operating Properly ) 1 、当应用程序没有按照预期执行时, COP 看门狗会 强制系统复位。是一项重要的 安全保障功能 之一。 2 、 COP 系统包含一个用户设置的 倒计数定时器 ,一旦 定时器过期,则触发一个系统复位。 3 、为了防止复位发生,通过软件指令不间断的每隔 一段时间就将该定时器计数值赋值为初始值。如果 正常运行的话,将不会复位。 4 、可以开启看门狗功能,也可不用,一般不用。 ( 4 )时钟监控复位 当系统时钟频率低于某个预设置值或停止工作 时,将触发时钟监控复位。 当上述事件触发复位时, S12 单片机在程序计数 器中放置一个 复位向量 ,处理器执行 启动例程 。 6.2.2 、其他异常 (1) 软件中断 软件中断实质上是一条指令,但其执行过程与中断相同。 我们可以称之为没有中断源的中断,或是人为指令触发的中 断。 (2) 非法指令陷阱 CPU 正常工作时,每次获得的都是由汇编或编译程序生 成的有效操作码, CPU 能够正确解释并执行它们,但当受到 干扰或系统出现混乱时,可能得到无法识别的操作码,即非 法指令,这时将产生中断。 6.2.3 、中断 ? 上述异常发生时, CPU 必需响应 。但中断却例外, 有效利用的一种异常,有很多中断事件。 ? 中断可以屏蔽, CCR 的 X 、 I 位是相应中断的屏蔽 位。 ? 只有在 X 、 I 为 0 时相应的中断才可以被响应。 6.2.3 、中断 1 、 X 位可屏蔽中断 ? 当 X 标志位为 0 且 XIRQ 引脚被拉成低电平, MCU 将响应该中断。 ? 软件指令 只能将 X 标志位清零,不能将 X 标志位置 1 。 ? 不能人为屏蔽,只能开启中断。 ? 所以将 XIRQ 中断称为 不可屏蔽中断 。 6.2.3 、中断 2 、 I 位可屏蔽中断 ? 当 I 标志位为 0 ,中断发生时, MCU 执行完当前指 令后,将响应该中断。 ? 将 I 标志位置 1 ,关闭所有中断。 ? 通常情况下:中断程序内,开始将 I 置 1 ,服务代码 执行完毕后通过 RTI 指令将该标志位清零。 6.2.4 、异常处理 (1) 每一个异常都有一个异常向量( 中断向量 ),该 向量其实就是连续的两个内存单元,这两个内存单 元的存储值就是异常 服务程序代码的起始地址 。 (2) 所有的中断向量存放在内存空间的 $FFFF — $FF00 处,称为中断向量表。 S12 的 CPU 理论上 一 共可以处理 128 条异常。 以中断程序的执行过程辅助说明 6.2.4 、异常处理 (3) 、当异常发生时, CPU 选择相应异常的中断向量, 获取该向量中的地址信息,转而执行该地址所指向 的代码。 (4) 、还有一件很重要的事,就是中断

文档评论(0)

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

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

1亿VIP精品文档

相关文档