《第7章中断与中断系统.docVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《第7章中断与中断系统

第7章 中断系统与基本应用 中断是现代计算机必备的重要功能。尤其在嵌入式系统和单片机系统中,中断扮演了非常重要的角色。因此,全面深入的了解中断的概念,并能灵活掌握中断技术的应用,成为学习和真正掌握单片机应用非常重要的关键问题之一。 7.1 中断的基本概念 中断是指计算机(MCU)自动响应一个“中断请求”信号,暂时停止(中断)了当前程序的执行,转而执行为外部设备服务的程序(中断服务程序),并在执行完服务程序后自动返回原程序执行的过程。 单片机一般都具有良好的中断系统,它的优点有: 实现实时处理。利用中断技术,MCU可以及时响应和处理来自内部功能模块或外部设备的中断请求,并为其服务,以满足实时处理和控制的要求。 实现分时操作,提高了MCU的效率。在嵌入式系统的应用中可以通过分时操作的方式启动多个功能部件和外设同时工作。当外设或内部功能部件向MCU发出中断申请时,MCU才转去为它服务。这样,利用中断功能,MCU就可以“同时”执行多个服务程序,提高了MCU的效率。 进行故障处理。对系统在运行过程中出现的难以预料的情况或故障,如掉电,可以通过中断系统及时向MCU请求中断,做紧急故障处理。 待机状态的唤醒。在单片机嵌入式系统的应用中,为了减少电源的功耗,当系统不处理任何事物,处于待机状态时,可以让单片机工作在休眠的低功耗方式。通常,恢复到正常工作方式往往也是利用中断信号来唤醒。 7.1.1 中断处理过程 在中断系统中,通常将MCU处在正常情况下运行的程序称为主程序,把产生申请中断信号的单元和事件称为中断源,由中断源向MCU所发出的申请中断信号称为中断请求信号,MCU接受中断申请停止现行程序的运行而转向为中断服务称为中断响应,为中断服务的程序称为中断服务程序或中断处理程序。现行程序打断的地方称为断点,执行完中断处理程序后返回断点处继续执行主程序称为中断返回。这一整个的处理过程称为中断处理过程(图7-1)。 在整个中断处理过程中,由于MCU执行完中断处理程序后仍然要返回主程序,因此,在执行中断处理程序之前,要将主程序中断处的地址,即断点处(实际为程序计数器PC的当前值――即将执行的主程序的下一条指令地址,图7-1中的k+1点)保存起来,称为保护断点。又由于MCU在执行中断处理程序时,可能会使用和改变主程序使用过的寄存器、标志位,甚至内存单元,因此,在执行中断服务程序前,还要把有关的数据保护起来,称为中断现场保护。在MCU执行完中断处理程序后,则要恢复原来的数据,并返回主程序的断点处继续执行,称为恢复现场和恢复断点。 在单片机中,断点的保护和恢复操作,是在系统响应中断和执行中断返回指令时由单片机的内部硬件自动实现的,简单的说,就是在响应中断时,MCU的硬件系统会自动将断点地址压进系统的堆栈保存,而当执行中断返回指令时,硬件系统会自动又将压入堆栈的断点地址弹出到程序计数器PC中。 但对于中断现场的保护和恢复,则需要程序员在设计中断处理程序时编程实现。在使用中断时,要认真和仔细考虑中断现场的保护和恢复。 7.1.2 中断源、中断信号、中断向量 中断源 中断源是指能够向MCU发出中断请求信号的部件和设备。在一个系统中,往往存在多个中断源。对于单片机讲,中断源一般可分为内部中断源和外部中断源。 在单片机内部集成的许多功能模块,如定时器、串行通讯口、模/数转换器等,它们在正常工作时往往无需CPU参与,而当处于某种状态或达到某个规定值需要程序控制时,会通过发出中断请求信号通知CPU。这一类的中断源位于单片机内部,称作内部中断源。其典型例子有定时器溢出中断、ADC完成中断等。如8位的定时器在正常计数过程中无需CPU的干预,一旦计数到达0xff产生溢出时便产生一个中断申请信号,通知CPU进行必要的处理。内部中断源在中断条件成立时,一般通过片内硬件会自动产生中断请求信号,无须用户介入,使用方便。内部中断是CPU管理片内资源的一种高效的途径。 系统中的外部设备也可以用作中断源,这时要求它们能够产生一个中断信号(通常是高(低)电平或者电平跳变的上升(下降)沿),送到单片机的外部中断请求引脚供CPU检测。这些中断源位于单片机外部,称为外部中断源。通常用作外部中断源的有输入输出设备、控制对象、以及故障源等。例如,打印机打印完一个字符时可以通过中断请求CPU为它送下一个打印字符;控制对象可以通过中断要求CPU及时采集参量或者对参数超标做出反应;掉电检测电路发现掉电时可以通过中断通知CPU,以便在短时间内对数据进行保护。 2. 中断信号 中断信号是指内部或外部中断源产生的中断申请信号,这个中断信号往往是电信号的某种变化形式,通常有以下几种类型: 脉冲的上跳沿或下降沿(上升沿触发型或下降沿触发型)???? 高电平或低电平(电平触发型) 电平的变化(状态变化触发型)

文档评论(0)

lunwen1978 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档