单片机原理及应用第五章ppt课件_第1页
单片机原理及应用第五章ppt课件_第2页
单片机原理及应用第五章ppt课件_第3页
单片机原理及应用第五章ppt课件_第4页
单片机原理及应用第五章ppt课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章第五章 中断系统中断系统5.1 中断概述 中断是指中断是指CPUCPU对系统或系统外发生的某个事件对系统或系统外发生的某个事件的一种响应过程,即的一种响应过程,即CPUCPU暂时停止现行程序的执暂时停止现行程序的执行,而自动转去执行预先安排好的处理该事件的行,而自动转去执行预先安排好的处理该事件的服务子程序,处理结束后再返回被暂停处继续执服务子程序,处理结束后再返回被暂停处继续执行原来的程序。行原来的程序。 实现这种中断功能的硬件系统和软件系统统实现这种中断功能的硬件系统和软件系统统统称为中断系统。统称为中断系统。引起引起CPU中断的根源,称为中断源。中断源向中断的根源,称为中断源。中断

2、源向CPU提提出的中断请求。出的中断请求。CPU暂时中断原来的事务暂时中断原来的事务A,转去处理事,转去处理事件件B。对事件。对事件B处理完毕后,再回到原来被中断的地方即处理完毕后,再回到原来被中断的地方即断点),称为中断返回。实现上述中断功能的部件称为中断点),称为中断返回。实现上述中断功能的部件称为中断系统中断机构)。断系统中断机构)。 一个单片机系统可能有多个中断源,而单片机CPU在某一时刻只能响应一个中断源的中断请求,当多个中断源同时向CPU发出中断请求时,则必须按照“优先级别进行排队,CPU首先选定其中中断级别高的中断源为其服务,然后按排队顺序逐一服务,完毕后返回断点地址,继续执行主

3、程序。 分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;实时响应。实时响应。CPU能够及时处理应用系统的随机事能够及时处理应用系统的随机事件,系统的实时性大大增强;件,系统的实时性大大增强;可靠性高。可靠性高。CPU具有处理设备故障及掉电等突发具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。性事件能力,从而使系统可靠性提高。优点:优点:中断系统应考虑的基本问题:中断系统应考虑的基本问题:中断源:中断请求信号的来源。中断源:中断请求信号的来源。中断响应与返回:中断响应与返回:CPUCPU响应中断后转去执响应中断后转去执行特定中断服务程序及执行完毕后返回原行特定中

4、断服务程序及执行完毕后返回原执行的程序。执行的程序。优先级控制:多个中断提出请求时,优先级控制:多个中断提出请求时,CPU CPU 响应的次序。响应的次序。 中断与调用子程序的区别:子程序的执行是由程序员事先安排好的由一条调用子程序指令来转入),而中断服务程序是由随机的中断事件引起的;子程序的执行受到主程序或上一级子程序的控制,而中断服务程序一般与被中断的程序毫无关系;有可能发生多个中断事件同时请求CPU服务的情况。 中断的作用: 中断作为一项重要的计算机技术,在计算机中得到了广泛的应用。中断技术实质上就是一种资源共享技术,其主要作用如下: 中断技术能实现CPU与多个外部设备并行工作,提高了C

5、PU的利用率及数据的输入/输出效率; 中断技术能对计算机运行过程中某个事件的出现或突然发生的故障,做到及时发现并进行自动处理,即实现实时处理; 中断技术能使我们通过键盘发出请求,随时对运行中的计算机进行干预,即可以实现人机联系; 实现多道程序的切换运行; 在多机系统中,实现各处理机之间的信息交换和任务切换。5.2 AT89C515.2 AT89C51中断系统中断系统 5.2.1 中断源及中断系统构成中断源及中断系统构成 51子系列提供子系列提供5个中断源,具有两个优先个中断源,具有两个优先级,可形成中断嵌套。级,可形成中断嵌套。/INT0:外部中断:外部中断0,P3.2口,低电平或下降口,低电

6、平或下降沿触发。沿触发。/INT1:外部中断:外部中断1,P3.3口,低电口,低电平或下降沿触发。平或下降沿触发。T0:定时计数器:定时计数器0中断,中断,T0回零溢出触发回零溢出触发TF0标志。标志。T1:定时计数器:定时计数器1中断,中断,T1回零溢出触发回零溢出触发TF1标志。标志。TIRI:串行:串行I/O中断,串行口完成一帧数据中断,串行口完成一帧数据发送接收后触发。发送接收后触发。 80C51的中断系统有的中断系统有5个中断源,个中断源,2个优先级,可实个优先级,可实现二级中断嵌套现二级中断嵌套 。5.2.2 中断标志与中断控制中断标志与中断控制 1、中断锁存寄存器、中断锁存寄存器

7、TCON : TCON也为定时计数器的控制寄存器,也为定时计数器的控制寄存器,锁存锁存标志。字节地址锁存锁存标志。字节地址88H。 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 1、中断锁存寄存器、中断锁存寄存器TCON :TF1:T1溢出中断标志溢出中断标志TF0:T0溢出中断标志溢出中断标志 1有中断请求有中断请求IE1:INT1中断请求标志中断请求标志 0无中断请求无中断请求IE0:INT0中断请求标志中断请求标志IT1:INT1触发控制位触发控制位 1下降沿触发下降沿触发IT0:INT0触发控制位触发控制位 0低电平触发低电平触发2、串行口控制寄存器、串行口控制寄存器

8、SCON:TI,串行口发送中断标志位。当,串行口发送中断标志位。当CPU将一个发送将一个发送数据写入串行口发送缓冲器时,就启动了发送过数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除响应中断时,不能自动清除TI,TI必须由软件清必须由软件清除。除。RI,串行口接收中断标志位。当允许串行口接收,串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位数据时,每接收完一个串行帧,由硬件置位RI。同样,同样,RI必须由软件清除。必须由软件清除。3、中断允许寄存器、中断允许寄存器IE

9、:EA: 总中断控制位总中断控制位ES:串行口中断控制位:串行口中断控制位ET1:T1中断控制位中断控制位EX1:INT1中断控制位中断控制位ET0:T0中断控制位中断控制位EX0:INT0中断控制位中断控制位以上各位:以上各位:1允许中断;允许中断;0禁止中断。禁止中断。 用于打开或关断各中断源,字节地址用于打开或关断各中断源,字节地址A8H。 4、中断优先级寄存器、中断优先级寄存器IP :PS:串行口中断优先级控制位:串行口中断优先级控制位PT1:T1中断优先级控制位中断优先级控制位PX1:INT1中断优先级控制位中断优先级控制位PT0:T0中断优先级控制位中断优先级控制位PX0:INT0

10、中断优先级控制位中断优先级控制位以上各位:以上各位:1高优先级;高优先级;0低优先级。低优先级。 用于设定各中断源的优先级,字节地址用于设定各中断源的优先级,字节地址B8H。 中断基本规则中断基本规则 :任一种中断,不能被同级或低级中断所中断;任一种中断,不能被同级或低级中断所中断;高级中断能打断低级中断中断嵌套);高级中断能打断低级中断中断嵌套);若同时有几个同级中断源提出申请,若同时有几个同级中断源提出申请,CPU响响应的顺序为查询):应的顺序为查询):INT0高)高)T0INT1T1RITI最最低)低) 5.3 中断处理过程 中断处理过程可分为4个阶段:中断请求,中断查询和响应,中断处理

11、,中断返回。 1.中断请求 中断请求是由硬件完成的,定时中断和串行中断在单片机芯片内部自动完成,中断请求完成后,相应的中断请求标志位被直接置位。 外部中断的中断请求信号要分别从P3.2和 (P3.3) 2个引脚由片外输入。片内中断控制系统在每个机器周期的S5P2对引脚信号进行采样根据采样的结果来设置中断请求标志位的状态,中断请求完成后,中断请求标志位被置位。2.2.中断查询和响应中断查询和响应 中断的查询和中断的响应也是由硬件自中断的查询和中断的响应也是由硬件自动完成的。动完成的。 所谓查询所谓查询: :就是由就是由CPUCPU测试测试TCONTCON和和SCONSCON中的中的各标志位的状态

12、,以确定有无中断请求以及各标志位的状态,以确定有无中断请求以及是那一个中断请求。在程序执行过程中,中是那一个中断请求。在程序执行过程中,中断查询是在指令执行的每个机器周期中不停断查询是在指令执行的每个机器周期中不停地重复进行的。地重复进行的。3 中断响应条件中断响应条件中断源有中断请求;中断源有中断请求; 此中断源的中断允许位为此中断源的中断允许位为1; CPU开中断即开中断即EA=1)。)。同时满足时,同时满足时,CPU才有可能响应中断。才有可能响应中断。 此外,若某个中断源通过编程设置处于被打开的状态,并满足中断响应的条件,但是,若遇到以下任一情况,则单片机仍不能响应此中断: 当前CPU正

13、在处理比申请源高级或与申请源同级的中断。 当前正在执行的那条指令没有执行完。 正在访问IE、IP中断控制寄存器或执行RETI指令。并且,只有在执行这些指令后至少再执行一条指令时,才能接受中断请求。 由于上述原因而未能响应的中断请求,待上述原因消失时该中断请求标志却已消失,那么该中断不再被响应。也就是说,MCS-51对查询的结果不作记忆,查询过程在下个机器周期重新进行。4 4 中断响应中断响应 中断响应是对中断源提出的中断请求的接中断响应是对中断源提出的中断请求的接受,在中断查询中,当查询到有效的中断请求受,在中断查询中,当查询到有效的中断请求时,紧接着就进行中断响应。中断响应的主要时,紧接着就

14、进行中断响应。中断响应的主要内容是由硬件自动生成一条长调用指令内容是由硬件自动生成一条长调用指令LCALL LCALL addr16addr16,这里的,这里的addr16addr16就是程序存储器中相应就是程序存储器中相应的中断服务程序地址区的入口地址。的中断服务程序地址区的入口地址。中断入口地址中断入口地址 : 0003H :外部中断:外部中断0服务程序入口服务程序入口INT0) 000BH :定时器:定时器0中断服务程序入口中断服务程序入口T0) 0013H :外部中断:外部中断1服务程序入口服务程序入口INT1) 001BH :定时器:定时器1中断服务程序入口中断服务程序入口T1) 0

15、023H :串行口中断服务程序入口:串行口中断服务程序入口 5 中断响应时间中断响应时间 :一般情况下:一般情况下: 中断请求中断请求 响应中断响应中断 (38个机器周期)个机器周期) 中断响应时间是指从中断响应有效标志位置1到转向其中断服务程序地址区的入口地址所需的时间。 分析可知,在单中断源的中断系统中,中断响应时间至少要用3个机器周期,最多为8个机器周期。 在一般应用情况下,中断响应时间长短通常无需考虑,但是在需要精确定时的应用中,为了保证定时的精确,往往要估算中断响应的时间。6、中断响应过程、中断响应过程 :响应中断响应中断自动清除中断请求标志自动清除中断请求标志IE0、IE1、TF0

16、、TF1, 但但RI/TI需由软件清)需由软件清)保留断点当前保留断点当前PC值入栈)值入栈)中断入口地址中断入口地址PC执行中断服务程序执行中断服务程序中断返回中断返回RETI)恢复断点原恢复断点原PC值出栈)值出栈)8.中断请求的撤销 CPU响应中断后,应撤销该中断请求,否则会引起再次中断。对于定时中断,在CPU响应中断后,由中断机构硬件自动撤销中断请求标志TF0和TF1;对于脉冲方式触发的外中断,由于脉冲信号过后就消失了,也是在响应中断后由中断机构硬件自动撤销中断请求标志IE0和IE1;对电平触发的外中断,CPU响应中断后,必须立即撤除引脚上的低电平触发信号才能由硬件自动撤销中断请求标志

17、IE0和IE1;对于串行中断,CPU响中断后,中断请求标志RI和TI不会被自动撤销,它们要用软件来撤销,这在编写串行中断服务程序时应以注意。9.9.中断处理中断处理 中断处理应根据具体要求编写中断服务程序。在程序中要注意以下2个问题: 现场保护和现场恢复; 关中断和开中断 10.中断返回 中断服务程序的最后一条指令必须是中断返回指令RETI,CPU执行这条指令时,把响应中断时置位的优先级触发器复位,再从堆栈中弹出断点地址送PC,使程序回到断点处重新执行先前被中断了的程序。由于RETI的作用不同于RET,所以中断的返回不能用RET指令来替代。5.4 5.4 中断系统的应用中断系统的应用 AT89

18、C51中断功能的应用主要包括两方中断功能的应用主要包括两方面的内容:一是各中断源的合理运用和相应面的内容:一是各中断源的合理运用和相应硬件电路的设计,二是初始化程序和中断服硬件电路的设计,二是初始化程序和中断服务程序的编写。下面通过几个应用举例加以务程序的编写。下面通过几个应用举例加以理解。理解。例例利用外中断实现程序的单步执行。利用外中断实现程序的单步执行。 AT89C51内部有内部有4 KB字节的字节的Flash存储存储器,用户编写好的程序用简单的程序写入器,用户编写好的程序用简单的程序写入器很容易写入和擦除,在没有开发系统的器很容易写入和擦除,在没有开发系统的条件下,利用外中断实现程序的

19、单步运行条件下,利用外中断实现程序的单步运行为用户调试程序带来一定的方便。为用户调试程序带来一定的方便。89C51单稳态电路5 V0INT 外中断外中断/INT0设为电平触发方式,中断服务程序为:设为电平触发方式,中断服务程序为: ORG 0003H JNB P3.2,$ JB P3.2,$ RETI原理:当原理:当CPU正在处理某中断时,不能响应同级正在处理某中断时,不能响应同级别中断,且在执行别中断,且在执行RETI返回指令后,还必须多执返回指令后,还必须多执行一条指令才能响应新的中断。行一条指令才能响应新的中断。 例 扩展外部中断源: 在变频调速器中都设有过流(OC)、过压(OV)、欠压

20、(UV)、过热(OH)这四种故障保护,当任一故障发生时,都要立刻停机处理,避免故障范围扩大。这种情况必须采用中断方式,使单片机立刻响应中断处理。试设计其硬件电路和软件程序。 根据要求,四个故障相当四个中断源,可利用中断查询方法,将四个中断源归结为一个中断请求,同时四个故障信号引到P1口的四个输入端,然后在中断程序中查询P1口,确定是哪一个故障申请的中断。电路如图5-8所示。一旦发生故障,单片机必须响应中断,因此,该中断必须设置成最高级中断。在中断程序中可以显示故障信息。P1.3P1.2P1.1P1.0AT89C511OCOVUVOH1INT图5-8 扩展4个外中断源电路主程序和中断服务程序如下

21、:主程序和中断服务程序如下: ORG0000HLJMP ZCX1 ;转主程序;转主程序 ORG 0013HLJMP INT1 ;转中断程序;转中断程序 ORG 0100HZCX1:MOV SP,#30H ;置堆栈指针;置堆栈指针MOV IP,#04H ;设;设 为最高级为最高级CLR IT1 ;设;设 为电平触发为电平触发SETB EA ;开中断;开中断SETB EX1ZCX2:其他处理程序:其他处理程序 AJMP ZCX21INT1INTORG 0200HINT1:PUSH PSW ;中断服务程序;中断服务程序 PUSH ACC JB P1.0,XI1 ;P1.0为为1,转,转OC中断服务程

22、序中断服务程序 JB P1.1,XI2 ;P1.1为为1,转,转OV中断服务程序中断服务程序 JB P1.2,XI3 ;P1.2为为1,转,转UV中断服务程序中断服务程序 JB P1.3,XI4 ;P1.3为为1,转,转OH中断服务程序中断服务程序INRET:POP ACC POP PSW RETIXI1: AJMP OCXI2: AJMP OV XI3: AJMP UV XI4: AJMP OH OC: ;OC处理子程序处理子程序(略略) AJMP INRET OV: ;OV处理子程序处理子程序(略略) AJMP INRET UV: ;UV处理子程序处理子程序(略略) AJMP INRET

23、OH: ;OH处理子程序处理子程序(略略) AJMP INRET 例:下图是单片机控制的数据传输系统。将P1口设置成数据输入口,外部设备每准备好一个数据时发出一个正脉冲,使D触发器Q端置0,向送入一个低电平中断请求信号。中断响应后,为了撤销中断请求,可利用P3.0向D触发器的直接置位端SD输出一个负脉冲,使D触发器的Q端置1,从而撤销了低电平的中断请求信号。 程序编制如下: ORG 0000HSTART: LJMP MAIN ;跳转到主程序 ORG 0003H LJMP INT0 ;转向中断服务程序 ORG 0030H ;主程序MAIN: CLR IT0 ;设置电平触发方式 SETB EA ;CPU开放中断 SETB EX0 ;允许外中断0中断 MOV DPTR,#1000H ;置数据区地址针 ORG 0100H ;中断服务程序 INT0: PUSH PSW ;保护现场 PUSH A CLR P3.0 ;由P3.0输出负脉冲 NOP ; NOP ; SETB P3.0 ; MOV A,P1 ;输入数据 MOVX DPTR,A ;存入数据存储器 INC DPTR ;修改数针 POP A ;恢复现场 POP PSW ; RETI ;中断返回 例:图5-3的中断线路可实现多个故障。当系统无故障时,4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论