[精选]中断及定时系统课程

上传人:我**** 文档编号:183795585 上传时间:2021-06-15 格式:PPT 页数:42 大小:1,015.50KB
返回 下载 相关 举报
[精选]中断及定时系统课程_第1页
第1页 / 共42页
[精选]中断及定时系统课程_第2页
第2页 / 共42页
[精选]中断及定时系统课程_第3页
第3页 / 共42页
[精选]中断及定时系统课程_第4页
第4页 / 共42页
[精选]中断及定时系统课程_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《[精选]中断及定时系统课程》由会员分享,可在线阅读,更多相关《[精选]中断及定时系统课程(42页珍藏版)》请在金锄头文库上搜索。

1、项目6 中断及定时系统,6.1 中断系统,6.1.1 中断的几个概念概念 1.中断的定义 对于CPU来说,CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。 所以我们把可以引起中断的请求源称之为中断源。单片机中也有一些可以引起中断的事件,8051中一共有5个中断源:两个外部中断,两个定时/计数器中断,一个串行口中断。 2.中断的嵌套与优先级 8051单片机5个中断源有两个优先级,项目6 中断及定时系统,3

2、.中断的响应过程 五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。中断响应过程可以分为以下几个步骤: 1)保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈; 2)寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的中断服务程序入口地址。在这5个入口地址处存放有中断处理程序; 3)执行中断处理程序; 4)中断返回:执行完中断处理程序后,就从中断处返回到主程序,继续执行主程序。 中断系统是计算机的重要组成部分。中断系统可以提高CPU的工作效率,还可以提高实时数据的

3、处理时效,所以实时控制、故障自动处理往往采用中断系统,计算机与外围设备间传送数据及实现人机联系也常采用中断方式。,项目6 中断及定时系统,6.1.2中断系统的结构,项目6 中断及定时系统,6.1.3 中断源和中断标志 1.中断源 MCS-51的5个中断源为两个外部中断、两个定时器中断和一个串行口中断。 1)外部中断请求源:即外中断0和1,经由外部引脚引入的,在单片机上有两个引脚,名称为 、 ,也就是P3.2、P3.3这两个引脚。 2)内部中断请求源:两个定时器中断和串行口中断。8051内部有两个16位的定时/计数器,对内部定时脉冲或者T0/T1引脚上输入的外部计数脉冲计数,当定时时间到或计数脉

4、冲满时,自动向CPU提出中断请求。串行口中断分为串行口发送中断和串行口接收中断两种,在串行口进行发送/接收数据时,每当串行口发送/接收完一组数据,单片机自动使串行口控制寄存器SCON的RI或TI中断标志置位,并且自动向CPU提出串行口中断请求。,项目6 中断及定时系统,80C51单片机的中断系统提供了5个中断源,具有2个中断优先级,可实现两级中断嵌套。 80C51单片机的5个中断源分别是:2个外部中断(由 、 引脚输入中断请求信号)、2个片内定时器/计数器溢出中断(T0、T1)和1个片内串行口中断。TCON、SCON是用来存放各中断源的中断申请标志的寄存器;IE是用来设置是否允许中断源中断的寄

5、存器;IP是用来设置中断源优先级别的寄存器;硬件查询是相同优先级的中断源再进行排队的硬件电路。,项目6 中断及定时系统,(1)定时器控制寄存器TCON (Timer Control Register),IE0:外部中断0请求标志位。当CPU检测到 引脚上出现下降沿信号或低电平信号时,由内部硬件置位IE0(IE0=1),向CPU请求中断。 IE1:外部中断1请求标志位。当CPU检测到 引脚上出现下降沿信号或低电平信号时,由内部硬件置位IE1(IE1=1),向CPU申请中断。 TF0:定时器/计数器T0的溢出中断请求标志位。当T0计数溢出时,由内部硬件置位TF0(TF0=1),向CPU申请中断。

6、TF1:定时器/计数器T1的溢出中断请求标志位。当T1计数溢出时,由内部硬件置位TF1(TF1=1),向CPU申请中断。 IT0:外部中断0触发方式控制位。当IT0=0时,电平触发,低电平有效;当IT0=1时,边沿触发,下降沿有效。 IT1:外部中断1触发方式控制位。当IT1=0时,电平触发,低电平有效;当IT1=1时,边沿触发,下降沿有效。,项目6 中断及定时系统,(2)串行口控制寄存器SCON(Serial Control Register) TI:串行口发送中断请求标志位。当串行口发送完一个数据帧时,将TI置位(TI=1),向CPU申请中断。 RI:串行口接收中断请求标志位。当串行口接收

7、完一个数据帧时,将RI置位(RI=1),向CPU申请中断。,项目6 中断及定时系统,6.1.4 对中断请求的控制 1.对中断允许的控制 计算机中断系统有两种不同类型的中断:一类称为非屏蔽中断,另一类称为可屏蔽中断。对非屏蔽中断,用户不能用软件的方法加以禁止,一旦有中断申请,CPU必须予以响应。对可屏蔽中断,用户则可以通过软件方法来控制是否允许某中断源的中断,允许中断称中断开放,不允许中断称中断屏蔽。MCS-51系列单片机的5个中断源都是可屏蔽中断,项目6 中断及定时系统,EA:中断允许总控制位。EA0,中断总禁止,禁止所有中断;EA1,中断总允许,置1后,各中断源的中断允许由各个控制位进行设置

8、。 EX0、EX1:外部中断允许控制位。EX0(EX1)0,表示禁止外中断INT0(INT1)的中断申请;EX0(EX1)1,表示允许外中断INT0(INT1)的中断申请。 ET0、ET1:定时/计数中断允许控制位。ET0(ET1)0,表示禁止定时/计数器0(1)的中断申请;ET0(ET1)1,表示允许定时/计数器0(1)的中断申请; ES:串行口中断允许控制位。ES0,禁止串口中断;ES1,允许串口中断。 MCS-51单片机各个中断源均为可屏蔽中断。 中断允许寄存器IE的单元地址是A8H,各控制位可以位寻址,也可以字节寻址。例如可以采用位指令开放外部中断的溢出中断: SETB EA SETB

9、 EX0 若改为字节传送指令,则仅需采用一条指令:MOV IE,#81H,项目6 中断及定时系统,例:设允许定时器/计数器T1的溢出中断的中断请求,禁止其它中断源的中断请求,写出设置IE的指令。 分析:根据设定条件,则IE寄存器的EA=1,ET1=1,其它位为0,IE的值应为10001000B,即88H。 用字节传送指令可写为:MOV IE,#88H 或 MOV 0A8H,#88H 若改用位操作指令,则需两条指令: SETB ET1 ;允许T1溢出中断 SETB EA ;CPU允许所有中断源中断,项目6 中断及定时系统,(4)中断优先级寄存器IP(Interrupt Priority Regi

10、ster) 80C51单片机的5个中断源,均可由程序设置为高优先级中断或低优先级中断,谁的优先级别高,就先响应谁。每个中断源的中断优先级都通过中断优先级寄存器IP统一设置。,项目6 中断及定时系统,PX0和PX1:PX0是外部中断0的中断优先级控制位; PX1是外部中断1的中断优先级控制位。 PT0和PT1:PT0为定时器/计数器T0的溢出中断优先级控制位; PT1为定时器/计数器T1的溢出中断优先级控制位。 PS:串行口中断优先级控制位。 注意:当某个中断源的优先级控制位为1时,设置为高优先级中 断;为0时,设置为低优先级中断。,项目6 中断及定时系统,8051单片机共有5个中断源,在单片机

11、工作过程中,若出现三个或者更多的中断请求源,那么同一优先级别中的中断源就不止一个,这个时候也有中断优先级排队的问题,8051单片机对此有统一规定,如表6-1所示。可对中断系统的规定概括为以下两条基本规则: 1)低优先级中断系统的规定被高级中断系统中断,反之不能; 2)当多个中断源同时发出申请时,级别高的优先级先服务(先按高低优先级区分,再按辅助优先级区分)。,高,低,表6-1 8051各个中断源中断优先级顺序,项目6 中断及定时系统,例: 设80C51单片机的外部中断为高优先级,内部中断为低优先级,写出设置IP的指令。 分析:由给定的条件可知:IP寄存器中,PX1=1,PX0=1,其余位为0,

12、即IP=00000101B=05H。 用字节传送指令设置: MOV IP,#05H 或 MOV 0B8H,#05H 用位操作指令设置: SETB PX0 SETB PX1 CLR PT0 CLR PT1 CLR PS,项目6 中断及定时系统,6.1.5 中断处理过程 中断处理过程可分为中断响应、中断处理和中断返回三个阶段。 1.中断响应 中断响应是CPU对中断源中断请求的响应,包括保护断点和将程序转向中断服务程序的入口地址(通常称矢量地址)。CPU并非任何时刻都响应中断请求,而是在中断响应条件满足之后才会响应。 1)中断响应条件 (1)有中断源发出中断请求。 (2)中断总允许位EA = 1。

13、(3)申请中断的中断源允许。 满足以上基本条件,CPU一般会响应中断,但CPU正在响应同级或高优先级的中断、正在执行RETI中断返回指令以及访问专用寄存器IE和IP的指令时,CPU不响应中断请求而在下一机器周期继续查询,否则,CPU在下一机器周期响应中断。,项目6 中断及定时系统,2)中断响应过程 中断响应过程包括保护断点和将程序转向中断服务程序的入口地址。首先把中断点的地址(断点地址)压入堆栈保护,然后将对应的中断入口地址装入程序计数器PC(由硬件自动执行),使程序转向该中断入口地址,执行中断服务程序。MCS-51系列单片机各中断源的入口地址由硬件事先设定,分配如表6-2所示。 因为5个中断

14、源的入口地址之间,只相隔8个存储单元,一般的中断服务程序是容纳不下的,使用时通常在这些中断入口地址处存放一条绝对跳转指令,使程序跳转到存储器其他的任何空间,并且将中断服务程序安排在相应的空间中。 例如,若采用定时器T0中断,其中断入口地址为000BH,中断服务程序名为TIME00,因此,指令形式为: ORG 000BH ;T1中断入口 AJMPTIME00;转向中断服务程序,项目6 中断及定时系统,2.中断处理 中断处理就是执行中断服务程序。中断服务程序从中断入口地址开始执行,到返回指令“RETI”为止,一般包括两部分内容,一是保护现场,二是完成中断源请求的服务。 通常,主程序和中断服务程序都

15、会用到累加器A、状态寄存器PSW及其它一些寄存器,当CPU进入中断服务程序用到上述寄存器时,会破坏原来存储在寄存器中的内容,一旦中断返回,将会导致主程序的混乱,因此,在进入中断服务程序后,一般要先保护现场,然后,执行中断处理程序,在中断返回之前再恢复现场。 例如:TIME00: ;中断服务程序 CLR EA ;关中断 PUSH PSW ;保护现场 PUSH ACC PUSH B ;中断处理 PUSH B ;恢复现场 PUSH ACC PUSH PSW SETB EA ;开中断 RETI ;中断返回,项目6 中断及定时系统,编写中断服务程序时还需注意以下几点: 1)各中断源的中断入口地址之间只相

16、隔8个字节,容纳不下普通的中断服务程序,因此,在中断入口地址单元通常存放一条无条件转移指令,可将中断服务程序转至存储器的其它任何空间。 2)若要在执行当前中断程序时禁止其它更高优先级中断,需先用软件关闭CPU中断,或用软件禁止相应高优先级的中断,在中断返回前再开放中断。 3)在保护和恢复现场时,为了不使现场数据遭到破坏或造成混乱,一般规定此时CPU不再响应新的中断请求。因此,在编写中断服务程序时,要注意在保护现场前关中断,在保护现场后若允许高优先级中断,则应开中断。同样,在恢复现场前也应先关中断,恢复之后再开中断。,项目6 中断及定时系统,3.中断返回 中断返回是指中断服务完后,计算机返回原来断开的位置(即断点),继续执行原来的程序。中断返回由中断返回指令RETI来实现。该指令的功能是把断点地址从堆栈中弹出,送回到程序计数器PC,此外,还通知中断系统已完成中断处理,并同时清除优先级状态触发器。,项目6 中断及定时系统,4.中断请求的撤除 CPU响应中断请求后即进入中断服务程序,在中断返回前,应撤除该中断请求,否则,会重复引起中断而导致错误。MCS-51各中断源中断请求撤消的方法各不相同

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号