单片机嵌入式系统原理及应用 教学课件 ppt 作者 贾好来 ch6

上传人:E**** 文档编号:89498406 上传时间:2019-05-25 格式:PPT 页数:48 大小:989.50KB
返回 下载 相关 举报
单片机嵌入式系统原理及应用 教学课件 ppt 作者 贾好来 ch6_第1页
第1页 / 共48页
单片机嵌入式系统原理及应用 教学课件 ppt 作者 贾好来 ch6_第2页
第2页 / 共48页
单片机嵌入式系统原理及应用 教学课件 ppt 作者 贾好来 ch6_第3页
第3页 / 共48页
单片机嵌入式系统原理及应用 教学课件 ppt 作者 贾好来 ch6_第4页
第4页 / 共48页
单片机嵌入式系统原理及应用 教学课件 ppt 作者 贾好来 ch6_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《单片机嵌入式系统原理及应用 教学课件 ppt 作者 贾好来 ch6》由会员分享,可在线阅读,更多相关《单片机嵌入式系统原理及应用 教学课件 ppt 作者 贾好来 ch6(48页珍藏版)》请在金锄头文库上搜索。

1、1,第6章 8051单片机的中断系统,1,2,2,6.1 微型计算机中断技术概述 6.2 8051单片机的中断控制,主要内容,3,6.1 微型计算机中断技术概述 6.1.1 中断的概念,1.中断及中断技术的特点 首先我们先来了解一下什么是中断,比如一个人正在看书时,突然电话响了,这个时候他就要先去接电话,接完后再继续回来看书,当时看到哪页了,现在继续从哪页看起,这是日常生活中的中断实例。 交通信号灯控制应用中断实例:一般情况下,交通信号灯正常显示,有急救车到达时,两个方向上交通信号灯全为红色,以便让急救车通过。设急救车通过路口的时间为10S,急救车通过后,交通灯恢复正常。,4,4,中断的定义

2、计算机在执行某一程序的过程中,由于突发某种紧急事件(随机出现的内部或外部事件),CPU暂停现行程序而转去处理此事件(即转去执行相应的中断服务程序),待该事件处理完毕,CPU再返回到原程序被中断的下一条指令(称为断点)继续执行,这个过程称为中断。 中断源 能够打断当前程序的外部或内部事件,被称为中断源。中断属于一种对事件的实时处理过程,中断源可能随时迫使CPU停止当前正在执行的工作,转而去处理中断源指示的另一项工作,待后者完成后,再返回原来工作的“断点”处,继续原来的工作。,5,中断优先权和中断嵌套 一个计算机一般具有多个中断源,这就存在中断优先权和中断嵌套的问题。例如,一个人在读书时如果接了电

3、话并且正在通话时,又有人敲门,由于敲门的优先权更高,这个人又“响应”这个敲门的中断申请,暂停通话,去与敲门人交谈;交谈完毕,接着原来的话茬继续通话,直到通话完毕,再返回书桌前继续看书。这里,敲门的中断源就比电话的中断源优先权高,因此,出现了中断嵌套,即高级优先权的中断源可以打断低级中断优先权的中断服务程序,而去执行高级中断源的中断处理,直至该处理程序完毕,再返回接着执行低级中断源的中断服务程序,直至这个处理程序完毕,最后返回主程序。,6,计算机响应中断的条件是,计算机的CPU是处于开中断状态的,同时只能在一条指令执行完毕后才能响应中断请求。,2. 中断的功能 可实现高速CPU与慢速外设之间的配

4、合 可实现实时处理 实现故障的紧急处理 便于人机联系,7,7,6.1.2 中断处理过程 中断的处理过程主要包括:中断请求、中断响应、中断服务、中断返回4个过程。,图6-1 中断处理流程,8,1. 保护现场与恢复现场 为了使中断服务程序的执行不破坏CPU中寄存器或存储单元的原有内容,以免在中断返回后影响主程序的运行,因此,要把CPU中有关寄存器或存储单元的内容推入堆栈中保护起来,这就是所谓保护现场。而在中断服务程序结束时和返回主程序之前,则需要把保护起来的那些现场内容从堆栈中弹出,以便恢复寄存器或存储单元原有的内容,这就是恢复现场。注意一定要按先进后出的原则进行推入和弹出堆栈。,9,2. 开中断

5、与关中断 在中断处理正在进行的过程中,可能又有新的中断请求到来,一般说来,为防止这种高于当前优先级的中断请求打断当前的中断服务程序的执行,CPU响应中断后应关中断(很多CPU是自动关中断的,但8051单片机不是自动关闭的,需要用软件指令关闭),而在编写保护现场和恢复现场的程序时,也应在关闭中断后进行,以免使保护现场和恢复现场的工作不被干扰,这样,就可屏蔽其他中断请求了。如果要想响应更高级的中断源的中断请求那么应在现场保护之后,将CPU处于开中断的状态,这样就使系统具有中断嵌套的功能。对于不同的CPU, 开中断和关中断的方法有所不同,有关8051单片机的开中断和关中断的办法将在下节叙述。,10,

6、3.中断服务 中断服务是中断处理程序的主要内容,将根据中断功能去编写,以满足用户的需要。复杂的中断服务程序也可以用子程序形式。 4.中断返回 中断返回是把当前运行的中断服务程序转回到被中断请求中断的主程序上来。中断返回指令与子程序返回不同,用专用的中断返回指令RETI来完成。因此,这条指令是中断服务程序的最后一条指令;另外,开中断后,必须运行一条指令后才有响应中断的可能性,所以,后面紧跟一条RETI指令,在执行完RETI指令前不可能响应新的中断申请。,11,11,6.2.1中断源与中断标志位 8051型单片机提供了5个中断源:两个外部中断源和三个内部中断源,8052增加了一个中断源定时器2中断

7、。每一个中断源都有一个中断申请标志,但串行口占两个中断标志位,一共六个中断标志。,6.2 8051单片机的中断控制,12,表6-1 中断源和中断申请标志,13,外部中断源 由单片机的外围引脚P3.2、P3.3输入低电平或下降沿信号,向CPU发出中断请求,相应的中断标志位置为1。这个中断请求信号究竟是低电平有效还是一个下降沿有效,可以被软件设定,称之为“外部中断触发方式选择”。 内部中断源 有定时器和串行中断两种。当定时时间到或计数次数已满时,就置相应中断请求标志为1,向单片机申请中断。这个中断请求是在单片机内部发生的,因此,无需从单片机芯片的外部引入输入端。串行中断是为串行数据传送而设计的,每

8、当串行口完成一次数据发送或接收时,就会向CPU请求中断,串行口的发送和接收中断是共用的,只占一个中断源。,14,6.2.2 与中断有关的特殊功能寄存器SFR 中断允许控制寄存器(IE) 定时器控制寄存器(TCON) 中断优先级控制寄存器(IP) 串行口控制寄存器(SCON) 这4个寄存器都属于专用寄存器,且可以位寻址,通过置位和清零这些位以便对中断进行控制。,15,中断允许控制寄存器(IE) 字节地址为0A8H,其位地址为0A8H-0AFH,也可以用相应的位名称IE.0-IE.7表示。该寄存器中各位的内容及位地址表示如下:,EA中断允许的总控制位。当EA=0时,中断总禁止,相当于关中断,即禁止

9、所有中断;当EA=1时,中断总允许,相当于开中断。此时,每个中断源是否开放由各中断控制位决定。所以只有当EA=1时,各中断控制位才有意义。 ES串行口中断允许控制位,当ES=0,禁止该中断;ES=1,允许串行中断。 ET1定时器1中断允许控制位,当ET1=0,禁止该中断;ET1=1,允许定时器1中断。,16,17,EX1外部中断1允许控制位,当EX1=0,禁止外部 中断1;当EX1=1,允许外部中断1。 ET0定时器0中断允许控制位,当ET0=0,禁止该中断;ET0=1,允许定时器0中断。 EX0外部中断0允许控制位,当EX0=0,禁止外部中断0;当EX0=1,允许外部中断0。,18,对于在程

10、序中IE的设置,由于IE既可以字节址,又可以位寻址,因此,对该寄存器的设置既能够用字节操作指令,也可用位操作指令。 例如:要开放定时器0中断,使用字节操作的指令是 MOV IE,#82H 如果使用位操作指令则需要以下两条指令 SETB EA SETB ET0,19,定时器控制寄存器(TCON) 该寄存器的字节地址为88H,位地址为88H-8FH,也可以用TCON.0-TCON.7表示,该寄存器的内容及位地址表示如下:,20,IE0外部中断0( )请求标志位。当CPU采样到INT0引脚出现中断请求后,此位由硬件置1。在中断响应完成后转向中断服务程序时,再由硬件自动清0。这样,就可以接收下一次外中

11、断源的请求。 IE1外部中断1( )请求标志位,功能同上。 IT0外中断0请求信号方式控制位。当IT0=1时下降沿信号有效;IT0=0时,低电平信号有效。 IT1外中断1请求信号方式控制位。当IT1=1时下降沿信号有效;IT1=0时,低电平信号有效。,21,TF0计数器0溢出标志位。当计数器0产生计数溢出时,该位由硬件置1,并向CPU申请中断,当转入中断服务子程序时,再由硬件自动清零。TF0也可作为程序查询的标志位,在查询方式下该标志位应由软件清0。 TF1计数器1溢出标志位。当计数器1产生计数溢出时,该位由硬件置1,并向CPU申请中断,当转入中断服务子程序时,再由硬件自动清零。TF1也可作为

12、程序查询的标志位,在查询方式下该标志位应由软件清0。,22,中断优先级控制寄存器(IP) 51单片机的中断控制系统只定义了高低两个优先级。每个中断源优先级的设定由IP的各控制位决定。IP的内容和位地址表示如下:,23,PS串行口中断优先级设定位。若PS=0,则串行口为低优先 级,若PS=1,则串行口为高优先级。 PT1定时器1优先级设定位。定义同上。 PX1外中断1优先级设定位。定义同上。 PT0定时器0优先级设定位。定义同上。 PX0外中断0优先级设定位。定义同上。,24,当几个不同级的中断源提出中断请求时,CPU先响应优先级高的中断请求;当几个同级的中断源同时提出中断请求时,CPU将按如下

13、的顺序响应: 当CPU正在执行一个低优先级中断处理程序时,它能被高优先级中断源所中断,但不能被同级中断源所中断。,一个中断服务子程序被另一个中断申请所中断,称为中断嵌套。8051单片机至少可以实现两级中断嵌套。图6-2是两级中断嵌套的示意图。,25,图6-2 两级中断嵌套示意图,在中断开放的条件下,中断优先级结构解决了如下两个问题: 1)正在执行一个中断服务子程序时,如果发生了另一个中断申请,CPU是否立即响应它而形成中断嵌套; 2)如果一个中断服务子程序执行完之后,发现已经有若干中断都提出了申请,那么应该先响应哪一个申请。,26,在开放中断的条件下,用下述四个原则使用中断优先级结构: (1)

14、非中断服务子程序可以被任何一个中断申请所 中断,而与优先级结构无关。 (2)如果若干中断同时提出申请,则CPU将选择优先级、优先权最高者予以响应。 (3)低优先级可以被高优先级的中断申请所中断。换句话说,同级不能形成嵌套、高优先级不能被低优先级嵌套,当禁止嵌套时,必须执行完当前中断服务子程序之后才考虑是否响应另一个中断申请。,27,(4)同一个优先级里,优先权的顺序是由硬件决定而不能改变的。但是用户可以通过改变优先级的方法改变中断响应的顺序。例如,8051单片机中串行口的优先权最低,但是可以在中断优先级寄存器IP中写入10H,则只有串行口是最高优先级。若同时有若干中断提出申请,则一定会优先响应

15、串行口的申请。 805l复位以后,特殊功能寄存器IP的内容为00H。所以在初始化程序中要考虑到对其编程。,28,29,串行口控制寄存器(SCON) SCON寄存器的字节地址为98H,位地址为98H9FH,其中的低两位RI和TI锁存串行口的接收中断和发送中断的请求标志位,如下表所示。,30,TI串行口发送中断请求标志位。当串行口发送完一帧串行数据后,由硬件自动置1,表示串行口发送器向CPU申请中断,在转入中断服务程序后,用软件清0。 RI串行口接收中断请求标志位。当串行口接收完一帧串行数据后,由硬件自动置1,表示串行口接收器向CPU申请中断,在转入中断服务程序后,用软件清0。 串行中断请求由TI

16、和RI的逻辑或得到,即无论是发送标志还是接收标志都会产生串行中断请求。,图6-3 8051单片机中断系统示意图,31,32,中断处理可分为4个过程: 对外部中断请求的采样 查询与响应 中断服务 中断返回,6.2.3 中断响应过程,33,中断响应的条件: 中断源有中断请求; 此中断源的中断允许位为1; CPU开中断(即EA=1)。 只有三者同时满足时,CPU才有可能响应中断。,34,1.中断请求采样 就是如何识别外部中断请求信号,并把它锁定在定时器控制寄存器(TCON)的相应标志位中,只有两个外中断源才有采样问题;其他中断源的中断请求都在单片机芯片的内部,可以直接置位相应的中断请求标志位,因此,不存在中断请求标志位问题。 8051单片机的每个机器周期的S5P2(第5状态第2节拍)对外中断请求引脚(P3.2和P3.3 )进行采样。如果有中断请求,则把 IE0 或 IE1 置位。,35,外部中断0,使用了管脚P3.2的第二功能。只要该引脚上得到了从外设送来的“适当信号”,就可以导致标志位 IE0 硬件置位。其过程如下: (

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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