预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共31页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第7章中断系统与基本应用基于AVR的单片嵌入式系统原理与实践应用华东师范大学电子系马潮7-第7章中断系统与基本应用中断是现代计算机必备的重要功能。尤其在嵌入式系统和单片机系统中,中断扮演了非常重要的角色。因此,全面深入的了解中断的概念,并能灵活掌握中断技术的应用,成为学习和真正掌握单片机应用非常重要的关键问题之一。7.1中断的基本概念中断是指计算机(MCU)自动响应一个“中断请求”信号,暂时停止(中断)了当前程序的执行,转而执行为外部设备服务的程序(中断服务程序),并在执行完服务程序后自动返回原程序执行的过程。单片机一般都具有良好的中断系统,它的优点有:实现实时处理。利用中断技术,MCU可以及时响应和处理来自内部功能模块或外部设备的中断请求,并为其服务,以满足实时处理和控制的要求。实现分时操作,提高了MCU的效率。在嵌入式系统的应用中可以通过分时操作的方式启动多个功能部件和外设同时工作。当外设或内部功能部件向MCU发出中断申请时,MCU才转去为它服务。这样,利用中断功能,MCU就可以“同时”执行多个服务程序,提高了MCU的效率。进行故障处理。对系统在运行过程中出现的难以预料的情况或故障,如掉电,可以通过中断系统及时向MCU请求中断,做紧急故障处理。待机状态的唤醒。在单片机嵌入式系统的应用中,为了减少电源的功耗,当系统不处理任何事物,处于待机状态时,可以让单片机工作在休眠的低功耗方式。通常,恢复到正常工作方式往往也是利用中断信号来唤醒。7.1.1中断处理过程主程序中断服务程序KK+1中断响应中断返回中断请求图7-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.中断信号中断信号是