《单片机的中断》PPT课件.ppt

上传人:小飞机 文档编号:5475508 上传时间:2023-07-11 格式:PPT 页数:59 大小:438.50KB
返回 下载 相关 举报
《单片机的中断》PPT课件.ppt_第1页
第1页 / 共59页
《单片机的中断》PPT课件.ppt_第2页
第2页 / 共59页
《单片机的中断》PPT课件.ppt_第3页
第3页 / 共59页
《单片机的中断》PPT课件.ppt_第4页
第4页 / 共59页
《单片机的中断》PPT课件.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《《单片机的中断》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《单片机的中断》PPT课件.ppt(59页珍藏版)》请在三一办公上搜索。

1、第5章 中断系统,教学目的,了解中断的基本概念和功能。掌握中断系统的结构和控制方式。掌握中断系统的中断处理过程。用中断系统设计一个手控流水灯控制器。用中断系统设计一个交通信号灯控制器。,学习重点和难点,中断响应的条件和中断优先级的应用。外部中断源的扩展方法。,第5章 中断系统,5.1 中断系统结构与控制 5.2 中断处理过程 5.3 外部中断扩展 本章小结习题,5.1 中断系统结构与控制,5.1.1 中断的概念 5.1.2 中断的功能 5.1.3 中断系统结构 5.1.4 中断系统控制,5.1.1 中断的概念,在单片机中,当CPU在执行程序时,由单片机内部或外部的原因引起的随机事件要求CPU暂

2、时停止正在执行的程序,而转向执行一个用于处理该随机事件的程序,处理完后又返回被中止的程序断点处继续执行,这一过程就称为中断。单片机处理中断的4个步骤:中断请求、中断响应、中断处理和中断返回。向CPU发出中断请求的来源,或引起中断的原因称为中断源。中断源要求服务的请求称为中断请求。中断源可分为两大类:一类来自单片机内部,称之为内部中断源;另一类来自单片机外部,称之为外部中断源。,5.1.2 中断的功能,中断系统是指能实现中断功能的硬件和软件。中断系统的功能一般包括以下几个方面。进行中断优先级排队实现中断嵌套自动响应中断实现中断返回中断的特点。可以提高CPU的工作效率实现实时处理处理故障,5.1.

3、2 中断的功能,(1)进行中断优先级排队通常,单片机中有多个中断源,设计人员能按轻重缓急给每个中断源的中断请求赋予一定的中断优先级。当两个或两个以上的中断源同时请求中断时,CPU可通过中断优先级排队电路首先响应中断优先级高的中断请求,等到处理完优先级高的中断请求后,再来响应优先级低的中断请求。,5.1.2 中断的功能,(2)实现中断嵌套CPU在响应某一中断源中断请求而进行中断处理时,若有中断优先级更高的中断源发出中断请求,CPU会暂停正在执行的中断服务程序,转向执行中断优先级更高的中断源的中断服务程序,等处理完这个高优先级的中断请求后,再返回来继续执行被暂停的中断服务程序。这个过程称为中断嵌套

4、。,5.1.2 中断的功能,(3)自动响应中断中断源向CPU发出的中断请求是随机的。通常,CPU总是在每条指令的最后状态对中断请求信号进行检测;当某一中断源发出中断请求时,CPU能根据相关条件(如中断优先级、是否允许中断)进行判断,决定是否响应这个中断请求。若允许响应这个中断请求,CPU在执行完相关指令后,会自动完成断点地址压入堆栈、中断矢量地址送入程序计数器PC、撤除本次中断请求标志,转入执行相应中断服务程序。,5.1.2 中断的功能,(4)实现中断返回CPU响应某一中断源中断请求,转入执行相应中断服务程序,在执行中断服务程序最后的中断返回指令时,会自动弹出堆栈区中保存的断点地址,返回到中断

5、前的原程序中。,5.1.3 中断系统结构,8051单片机的中断系统主要由与中断有关的4个特殊功能寄存器和硬件查询电路等组成。定时器控制寄存器TCON 主要用于保存中断信息。串行口控制寄存器SCON 主要用于保存中断信息。中断允许寄存器IE 主要用于控制中断的开放和关闭。中断优先级寄存器IP主要用于设定优先级别。硬件查询电路主要用于判定5个中断源的自然优先级别。8051单片机的中断源有五个,可分为三类。外部中断定时中断串行口中断,5.1.3 中断系统结构,5.1.3 中断系统结构,1.外部中断类外部中断是由外部原因(如打印机、键盘、控制开关、外部故障)引起的,可以通过两个固定引脚来输入到单片机内

6、的信号,即外部中断0(INT0)和外部中断1(INT1)。INT0外部中断0中断请求信号输入端,P3.2的第二功能。由定时器控制寄存器TCON中的IT0位决定中断请求信号是低电平有效还是下降沿有效。一旦输入信号有效,即向CPU申请中断,并且硬件自动使IE0置1。INT1外部中断1中断请求信号输入端,P3.3的第二功能。由定时器控制寄存器TCON中的IT1位决定采用电平触发方式还是边沿触发方式。一旦输入信号有效,即向CPU申请中断,并且硬件自动使IE1置1。,5.1.3 中断系统结构,2.定时中断类定时中断是由内部定时(或计数)溢出或外部定时(或计数)溢出引起的,即定时器0(T0)中断和定时器1

7、(T1)中断。当定时器对单片机内部定时脉冲进行计数而发生计数溢出时,即表明定时时间到,由硬件自动使TF0(TF1)置1,并申请中断。当定时器对单片机外部计数脉冲进行计数而发生计数溢出时,即表明计数次数到,由硬件自动使TF0(TF1)置1,并申请中断。外部计数脉冲是通过两个固定引脚来输入到单片机内的。T0外部计数输入端P3.4的第二功能。当定时器0工作于计数方式时,外部计数脉冲下降沿有效,定时器0进行加1计数。T1外部计数输入端P3.5的第二功能。当定时器1工作于计数方式时,外部计数脉冲下降沿有效,定时器1进行加1计数。,5.1.3 中断系统结构,3.串行口中断类串行口中断是为接收或发送串行数据

8、而设置的。串行中断请求是在单片机芯片内部发生的。RXD串行口输入端,P3.0的第二功能。当接收完一帧数据时,硬件自动使RI置1,并申请中断。TXD串行口输出端,P3.1的第二功能。当发送完一帧数据时,硬件自动使TI置1,并申请中断。,5.1.4 中断系统控制,1.定时器控制寄存器TCON 定时器控制寄存器TCON的作用是控制定时器的启动与停止,并保存T0、T1的溢出中断标志和外部中断、的中断标志。TCON的格式:TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H(88H)各位的功能说明:(1)TF1(TCON.7):定时器1溢出标志位。定时器1被启动计数后,从初值开始进行

9、加1计数,当定时器1计满溢出时,由硬件自动使TF1置1,并申请中断。该标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。(2)TR1(TCON.6):定时器1启停控制位。,5.1.4 中断系统控制,各位的功能说明:(3)IT1(TCON.2):外部中断1触发方式选择位。当ITl=0时,外部中断1为电平触发方式。在这种方式下,CPU在每个机器周期的S5P2期间对 INT1(P3.3)引脚采样,若采到低电平,则认为有中断申请,硬件自动使IEl置1;若为高电平,认为无中断申请或中断申请已撤除,硬件自动使IEl清0。在电平触发方式中,CPU响应中断后硬件不能自动使I

10、El清0,也不能由软件使IEl清0,所以在中断返回前必须撤消INT1引脚上的低电平,否则将再次响应中断造成出错。当ITl=1时,外部中断1为边沿触发方式。CPU在每个机器周期的S5P2期间采样 INT1(P3.3)引脚。若在连续两个机器周期采样到先高电平后低电平,则认为有中断申请,硬件自动使IEl置1,此标志一直保持到CPU响应中断时,才由硬件自动清0。在边沿触发方式下,为保证CPU在两个机器周期内检测到先高后低的负跳变,输入高低电平的持续时间至少要保持12个时钟周期。,5.1.4 中断系统控制,各位的功能说明:(4)IE1(TCON.3):外部中断1请求标志位。IEl=1表示外部中断1向CP

11、U申请中断。当CPU响应外部中断1的中断请求时,由硬件自动使IE1清0(边沿触发方式)。(5)TF0(TCON.5):定时器0溢出标志位。其功能同TF1。(6)TR0(TCON.4):定时器0启、停控制位。其功能同TR1。(7)IE0(TCON.1):外部中断0请求标志位。其功能同IE1。(8)IT0(TCON.0):外部中断0触发方式选择位。其功能同IT1。,5.1.4 中断系统控制,2.串行口控制寄存器SCON 串行口控制寄存器SCON的低2位TI和RI保存串行口的接收中断和发送中断标志。SCON的格式:SCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H(98H)各位

12、的功能说明:(1)TI(SCON.1):串行发送中断请求标志。CPU将一个字节数据写入发送缓冲器SBUF后启动发送,每发送完一帧数据,硬件自动使TI置1。但CPU响应中断后,硬件并不能自动使TI清0,必须由软件使TI清0。(2)RI(SCON.0):串行接收中断请求标志。在串行口允许接收时,每接收完一帧数据,硬件自动使RI置1。但CPU响应中断后,硬件并不能自动使RI清0,必须由软件使RI清0。,5.1.4 中断系统控制,3.中断允许寄存器IE 中断允许寄存器IE的作用是控制CPU对中断的开放或屏蔽以及每个中断源是否允许中断。IE的格式:IE AFH ACH ABH AAH A9H A8H(A

13、8H)各位的功能说明:(1)EA(IE.7):CPU中断总允许位。EA=1,CPU开放中断。每个中断源是被允许还是被禁止,分别由各中断源的中断允许位确定;EA=0,CPU屏蔽所有的中断要求,称为关中断。(2)ES(IE.4):串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。,5.1.4 中断系统控制,各位的功能说明:(3)ET1(IE.3):定时器1中断允许位。ET1=1,允许定时器1中断;ETl=0,禁止定时器1中断。(4)EX1(IE.2):外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。(5)ET0(IE.1):定时器0中断允许

14、位。ET0=1,允许定时器0中断;ET0=0,禁止定时器0中断。(6)EX0(IE.0):外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。,5.1.4 中断系统控制,4.中断优先级寄存器IP 中断优先级寄存器IP的作用是设定各中断源的优先级别。IP的格式:IP BCH BBH BAH B9H B8H(B8H)各位的功能说明:(1)PS(IP.4):串行口中断优先级控制位。PS=1,串行口为高优先级中断;PS=0,串行口为低优先级中断。(2)PT1(IP.3):定时器1中断优先级控制位。PT1=1,定时器1为高优先级中断;PTl=0,定时器1为低优先级中断。

15、,5.1.4 中断系统控制,各位的功能说明:(3)PX1(IP.2):外部中断1中断优先级控制位。PX1=1,外部中断1为高优先级中断;PXl=0,外部中断1为低优先级中断。(4)PT0(IP.1):定时器0中断优先级控制位。PT0=1,定时器T0为高优先级中断PT0=0,定时器0为低优先级中断。(5)PX0(IP.0):外部中断0中断优先级控制位。PX0=1,外部中断0为高优先级中断;PX0=0,外部中断0为低优先级中断。,5.2 中断处理过程,5.2.1 中断响应 5.2.2 中断处理 5.2.3 中断返回 5.2.4 中断的应用实例,5.2.1 中断响应,1.CPU的中断响应条件CPU响

16、应中断必须首先满足以下三个基本条件。(1)有中断源发出中断请求。(2)中断总允许位EA=1。(3)请求中断的中断源的中断允许位为1。在满足以上条件的基础上,若有下列任何一种情况存在,中断响应都会受到阻断。(1)CPU正在执行一个同级或高优先级的中断服务程序。(2)正在执行的指令尚未执行完。(3)正在执行中断返回指令 RETI或者对专用寄存器IE、IP进行读/写的指令。CPU在执行完上述指令之后,要再执行一条指令,才能响应中断请求。,5.2.1 中断响应,2.中断优先级的判定中断源的优先级别分为高级和低级,通过由软件设置中断优先级寄存器IP相关位来设定每个中断源的级别。如果几个同一优先级别的中断

17、源同时向CPU请求中断,CPU通过硬件查询电路首先响应自然优先级较高的中断源的中断请求。中断可实现两级中断嵌套。高优先级中断源可中断正在执行的低优先级中断服务程序,除非执行了低优先级中断服务程序的CPU关中断指令。同级或低优先级的中断不能中断正在执行的中断服务程序。,5.2.1 中断响应,3.中断响应过程在满足中断响应条件时,CPU响应中断。首先,将相应的优先级状态触发器置1,以屏蔽同级别中断源的中断请求。其次,硬件自动生成长调用指令(LCALL),把断点地址压入堆栈保护(但不保护状态寄存器PSW及其他寄存器内容),然后将中断源对应的中断入口地址装入程序计数器PC中,使程序转向该中断入口地址,

18、并执行中断服务程序。8051单片机的中断入口地址(称为中断矢量)由单片机硬件电路决定。,5.2.2 中断处理,中断处理就是执行中断服务程序,从中断入口地址开始执行,直到返回指令(RETI)为止。此过程一般包括三部分内容,一是保护现场,二是处理中断源的请求,三是恢复现场。通常,主程序和中断服务程序都会用到累加器A、状态寄存器PSW及其他一些寄存器。在执行中断服务程序时,CPU若用到上述寄存器,就会破坏原先存在这些寄存器中的内容,中断返回,将会造成主程序的混乱。因此,在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序以前,再恢复现场。,5.2.2 中断处理,在编写中断服务

19、程序时要注意以下几个方面。一般在这些中断入口地址区存放一条无条件转移指令,转向中断服务程序的起始地址。若要求禁止更高优先级中断源的中断请求,应先用软件关闭CPU中断或屏蔽更高级中断源的中断,在中断返回前再开放被关闭或被屏蔽的中断。在保护现场和恢复现场时,为了不使现场数据受到破坏而造成混乱,在保护现场之前要关中断,在保护现场之后再开中断;在恢复现场之前关中断,在恢复现场之后再开中断。,5.2.3 中断返回,1.中断返回中断返回是指中断服务完成后,CPU返回到原程序的断点(即原来断开的位置),继续执行原来的程序。中断返回通过执行中断返回指令RETI来实现,该指令的功能是首先将相应的优先级状态触发器

20、置0,以开放同级别中断源的中断请求;其次,从堆栈区把断点地址取出,送回到程序计数器PC中。因此,不能用RET指令代替RETI指令。,5.2.3 中断返回,2.中断请求的撤除 CPU响应某中断请求后,在中断返回前,应该撤消该中断请求,否则会引起另一次中断。不同中断源中断请求的撤除方法是不一样的。(1)定时器溢出中断请求的撤除 CPU在响应中断后,硬件会自动清除中断请求标志TF0或TFl。(2)串行口中断的撤除 在CPU响应中断后,硬件不能清除中断请求标志TI和RI,而要由软件来清除相应的标志。,5.2.3 中断返回,(3)外部中断的撤除外部中断为边沿触发方式时,CPU响应中断后,硬件会自动清除中

21、断请求标志IE0或IEl。外部中断为电平触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl,但由于加到INT0或INT1引脚的外部中断请求信号并未撤除,中断请求标志IE0或IEl会再次被置1,所以在CPU响应中断后应立即撤除INT0或INT1引脚上的低电平。一般采用加一个D触发器和几条指令的方法来解决这个问题。,5.2.3 中断返回,由下图可知,外部中断请求信号直接加到D触发器的CP端,当外部中断请求的低电平脉冲信号出现在CP端时,D触发器的Q端置0,INT0或INT1引脚为低电平,发出中断请求。在中断服务程序中开始的三条指令可先在P1.0输出一个宽度为2个机器周期的负脉冲

22、,使D触发器的Q端置1,然后由软件来清除中断请求标志IE0或IEl。外部中断的撤除电路,5.2.4 中断的应用实例,中断系统的初始化步骤。(1)开放CPU中断和有关中断源的中断允许,设置中断允许寄存器IE中相应的位。(2)根据需要确定各中断源的优先级别,设置中断优先级寄存器IP中相应的位。(3)根据需要确定外部中断的触发方式,设置定时器控制寄存器TCON中相应的位。,5.2.4 中断的应用实例,【例1】P1口做输出口,控制八只灯(P1口输出低电平时灯被点亮),利用手控单脉冲信号作为外部中断信号,控制八只灯按一定的规律循环点亮。解:手控单脉冲信号作为外部中断信号由INT0(P3.2)管脚输入,设

23、置中断允许寄存器IE中的EA、EX0位为1;只有一个中断源可不设置优先级别;中断触发方式设为边沿触发,控制位IT0应设置为1。,参考程序:,5.2.4 中断的应用实例,【例2】P1口做输出口,正常时控制八只灯(P1口输出低电平时灯被点亮)每隔0.5秒全亮全灭一次;按下开关1八只灯从右向左依次点亮,按下开关2八只灯从左向右依次点亮。解:开关1的低电平脉冲信号作为外部中断信号由INT0(P3.2)管脚输入,开关2的低电平信号作为外部中断信号由INT1(P3.3)管脚输入。中断允许寄存器IE中相应的EA、EX1、EX0位设置为1。外部中断0为低优先级,IP中的PX0位设置为0;外部中断1为高优先级,

24、IP中的PX1位设置为1。外部中断0的中断触发方式设为边沿触发,控制位IT0应设置为1;外部中断1的中断触发方式设为电平触发,控制位IT1应设置为0。,5.2.4 中断的应用实例,主程序:,外部中断0中断服务程序:,外部中断1中断服务程序:,延时子程序:,5.3 外部中断扩展,5.3.1 定时器扩展法 5.3.2 中断加查询扩展法 5.3.3 外部中断扩展的应用实例,5.3.1 定时器扩展法,思路:8051单片机内部设有两个16位可编程定时器/计数器。定时器/计数器工作于计数方式时,定时器0外部输入端(P3.4)或定时器1外部输入端(P3.5)作为计数脉冲输入端,在计数输入脉冲的下降沿到来时进

25、行加1计数。当定时器/计数器计满后,若再有脉冲到来,定时器/计数器将产生溢出中断。方法:利用上述特点,预先将定时器/计数器设置为满量程,通过外部输入端P3.4或P3.5输入下降沿脉冲,将立即向CPU发出中断请求,在满足CPU的中断响应条件的情况下,CPU将执行相应的中断服务程序。应用:在外部中断源个数不太多并且定时器有空余的情况下,一般可采用定时器扩展法进行外部中断源的扩展。,5.3.2 中断加查询扩展法,思路:对多个外部中断源,采用中断加查询相结合的方法响应中断。扩展电路原理如下图所示。多个外部中断源通过多个OC门电路组成线或电路后与P3.2(P3.3)相连,同时,每一个外部中断源将并行I/

26、O口(如P1口)作为多个外部中断源的识别线。方法:在多个外部中断源中若有一个或几个为高电平则输出为0,则P3.2(P3.3)为低电平,向CPU发出中断请求;CPU在执行中断服务程序时,先依次查询P1口的中断源输入状态,然后转入到相应的中断服务程序。应用:中断加查询扩展法比较简单,但当外部中断源的个数较多时,因查询时间较长,不能满足实时控制的要求。,外部中断源扩展电路原理,5.3.3 外部中断扩展的应用实例,【例3】用发光二极管模拟交通信号灯,用逻辑电平开关模拟控制开关,设计一个交通信号灯控制系统。设计要求如下:A车道与B车道交叉组成十字路口,A是主道,B是支道;正常情况下,A、B两车道轮流放行

27、。具体放行时间和要求如下:(1)A车道放行50s,其中绿灯常亮44s,绿灯闪烁3s(用于警告),黄灯常亮3s(用于警告)。(2)B车道放行30s,其中绿灯常亮24s,绿灯闪烁3s(用于警告),黄灯常亮3s(用于警告)。在交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。控制要求如下:(1)在B车道放行期间,若A车道有车而B车道无车,按下开关使A车道放行15s。(2)在A车道放行期间,若B车道有车而A车道无车,按下开关使B车道放行15s。(3)有紧急车辆通过时,按下开关使A、B车道均为红灯,禁行15s。,解:用发光二极管模拟交通信号灯,用P1口输出控制信号

28、,输出低电平时,信号灯亮;反之,则灯灭。根据题意分析,在正常情况和交通繁忙时,A、B两车道的六只信号灯的控制状态有五种形式。交通信号灯与控制状态的对应关系,用逻辑电平开关模拟控制开关,开关K1按下时,B车道放行;开关K2按下时,A车道放行;开关K3按下时,A、B车道禁行。开关K1和K2的控制信号经异或取反后,产生中断请求信号(低电平有效),通过外部中断1向CPU发出中断请求;采用中断加查询扩展法,可以判断出要求放行的是A车道(按下开关K1)还是B车道(按下开关K2)。控制系统电路示意图,交通信号灯控制系统程序流程图,主程序:,主程序:,外部中断0中断服务程序:,外部中断1中断服务程序:,外部中

29、断1中断服务程序:,延时子程序:,本章小结,单片机处理中断有中断请求、中断响应、中断处理和中断返回四个步骤。中断源有的来自单片机内部,称为内部中断源;也有的来自于单片机外部,称为外部中断源。中断系统的功能包括进行中断优先级排队、实现中断嵌套、自动响应中断和实现中断返回。中断的特点是可以提高CPU的工作效率、实现实时处理和故障处理。8051中断系统主要由定时器控制寄存器TCON、串行口控制寄存器SCON、中断允许寄存器IE、中断优先级寄存器IP和硬件查询电路等组成。定时器控制寄存器TCON用于控制定时器的启动与停止,并保存T0、T1的溢出中断标志和外部中断、的中断标志。串行口控制寄存器SCON的

30、低2位TI和RI用于保存串行口的接收中断和发送中断标志。中断允许寄存器IE用于控制CPU对中断的开放或屏蔽以及每个中断源是否允许中断。中断优先级寄存器IP用于设定各中断源的优先级别。,本章小结,中断处理过程包括中断响应、中断处理和中断返回三个阶段。中断响应是在满足CPU的中断响应条件之后,CPU对中断源中断请求的回答。由于设置了优先级,中断可实现两级中断嵌套。中断处理就是执行中断服务程序,包括保护现场、处理中断源的请求和恢复现场三部分内容。中断返回是指中断服务完成后,返回到原程序的断点,继续执行原来的程序;在返回前,要撤消中断请求,不同中断源中断请求的撤消方法不一样。中断系统初始化的内容包括开

31、放中断允许、确定中断源的优先级别和外部中断的触发方式。扩展外部中断源的方法有定时器扩展法和中断加查询扩展法两种。定时器扩展法用于外部中断源个数不太多并且定时器有空余的场合。中断加查询扩展法用于外部中断源个数较多的场合,但因查询时间较长,在实时控制中要注意能否满足实时控制要求。,习 题,1.什么是中断?中断系统的功能和特点有哪些?2.8051单片机的中断源有几个?自然优先级是如何排列的?3.外部中断触发方式有几种?它们的特点是什么?4.中断处理过程包括几个阶段?5.请简述中断响应的过程。6.外部中断请求撤销时要注意哪些事项?7.中断系统的初始化一般包括哪些内容?8.扩展外部中断源的方法有几种?,Thanks!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号