第7章 中断(1)_第1页
第7章 中断(1)_第2页
第7章 中断(1)_第3页
第7章 中断(1)_第4页
第7章 中断(1)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、 第第7章章 MCS-51 单片机的中断系统单片机的中断系统 在实际应用系统中,单片机与外部设备相连接,在实际应用系统中,单片机与外部设备相连接,单片机与外设进行信息(数据、状态信号和单片机与外设进行信息(数据、状态信号和控制命令)传送时,为了保证传送的可靠性控制命令)传送时,为了保证传送的可靠性和提高工作效率,有几种不同的传送方式:和提高工作效率,有几种不同的传送方式: (1)无条件传送方式)无条件传送方式 (2)查询传送方式)查询传送方式 (3)中断传送方式)中断传送方式 (1)无条件传送方式)无条件传送方式 单片机不需要了解外部设备的状态,直接向外部设单片机不需要了解外部设备的状态,直接

2、向外部设备发送数据。备发送数据。 (2)查询传送方式)查询传送方式 单片机主动查询外部设备的状态,根据查询的状态,单片机主动查询外部设备的状态,根据查询的状态,决定是否传送。单片机会经常处于等待状态。决定是否传送。单片机会经常处于等待状态。 (3)中断传送方式)中断传送方式n外部设备主动向单片机发送请求,单片机接到请求外部设备主动向单片机发送请求,单片机接到请求后,暂停当前的工作,处理外部设备的请求。单片后,暂停当前的工作,处理外部设备的请求。单片机的利用率提高,对外部设备有较快的响应速度。机的利用率提高,对外部设备有较快的响应速度。7.1 MCS-51单片机的中断系统结构单片机的中断系统结构

3、一、中断的概念一、中断的概念 执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回中断系统中断系统-中断源、中断方式中断源、中断方式 、中断控制寄存器、中、中断控制寄存器、中断响应。断响应。 引起引起CPU中断的根源,称为中断的根源,称为中断源中断源。 中断源向中断源向CPU提出的中断请求。提出的中断请求。CPU暂时中断原暂时中断原来的事务来的事务A,转去处理事件,转去处理事件B ),称为),称为中断响应中断响应。 对事件对事件B处理完毕后,再回到原来被中断的地方处理完毕后,再回到原来被中断的地方(即断点),称为(即断点),称为中断返回中断返回。 实现上述中断功能的部件称

4、为实现上述中断功能的部件称为中断系统中断系统(中断机(中断机构)。构)。 二、二、MCS-51单片机的中断系统中断源一、中断源一、中断源 共有共有五五个中断源,分别是个中断源,分别是外部中断外部中断两个、两个、定时中断定时中断两两个和个和串行中断串行中断一个,它们是:一个,它们是:外部中断外部中断0 ,由,由P3.2提供,提供,外部中断外部中断1 ,由,由P3.3提供,提供,外部中断有两种信号方式,即外部中断有两种信号方式,即电平电平方式和方式和脉冲脉冲方式。方式。T0溢出中断溢出中断: 由片内定时由片内定时/计数器计数器0提供提供T1溢出中断溢出中断: 由片内定时由片内定时/计数器计数器1提

5、供提供串行口中断串行口中断RI/TI; 由片内串行口提供由片内串行口提供7.2. MCS-51 中断源中断源0INT1INT二、中断方式 单片机的中断为单片机的中断为固定入口式中断固定入口式中断,即一响应中断就转,即一响应中断就转入入固定入口地址固定入口地址执行中断服务程序。具体入口如下:执行中断服务程序。具体入口如下:中断源中断源 入口地址入口地址 0003T0 000BH 0013HT1 001BHRI/TI 0023H给每个中断源安排的空间只有给每个中断源安排的空间只有8个单元,通常不满足个单元,通常不满足一个中断服务程序的存储。因此,在这些单元中往往一个中断服务程序的存储。因此,在这些

6、单元中往往是一些跳转指令,跳到真正的中断服务程序实际存储是一些跳转指令,跳到真正的中断服务程序实际存储的地址处。的地址处。0INT1INTnORG 0003HnAJMP PINT0nORG 000BHnAJMP PT0nORG 0013HnAJMP PINT1nORG 001BHnAJMP PT1nORG 0023HnAJMP PTRI三、中断控制的寄存器 MCS-51单片机设置了单片机设置了4个专用寄存器用于中断控制,个专用寄存器用于中断控制,用户通过设置其状态来管理中断系统。与中断控制有用户通过设置其状态来管理中断系统。与中断控制有关的控制寄存器有:关的控制寄存器有:TCON-定时控制寄存

7、器,定时控制寄存器, IE-中断允许控制寄存器,中断允许控制寄存器,IP-中断优先级控制寄存器,中断优先级控制寄存器,SCON-串行口控制寄存器。串行口控制寄存器。CPU识别中断申请的依据:识别中断申请的依据: CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。1定时控制寄存器TCON(88H) D7D6D5D4D3D2D1D0TF1 TR1 TF0 TR0IE1IT1IE0IT0中断请求标志触发方式选择0 低电平1 下降沿TF0/TF1:定时器溢出中断申请标志位(由:定时器溢出中断申请标志位(由硬件自动置位硬件自动置位)。)。 =0:定时

8、器未溢出;:定时器未溢出; =1:定时器溢出(由全:定时器溢出(由全“1”变成全变成全“0”)时由硬件自动置)时由硬件自动置位,申请中断,中断被位,申请中断,中断被CPU响应后由响应后由硬件自动清零硬件自动清零。TR0/TR1:定时器运行启停控制位(可由用户通过:定时器运行启停控制位(可由用户通过软件设置软件设置 )。)。 =0:定时器停止运行;:定时器停止运行; =1:定时器启动运行。:定时器启动运行。IE0/IE1:外部中断申请标志位(由:外部中断申请标志位(由硬件自动置位硬件自动置位 ,中断响应后,中断响应后转向中断服务程序时,由转向中断服务程序时,由硬件自动清硬件自动清0 )。)。 =

9、0:没有外部中断申请;:没有外部中断申请; =1:有外部中断申请。:有外部中断申请。IT0/IT1:外部中断请求外部中断请求的触发方式控制位(可由用户通过的触发方式控制位(可由用户通过软件软件设置设置 )。)。 =0:在:在 / 端申请中断的信号低电平有效;端申请中断的信号低电平有效; =1:在:在 / 端申请中断的信号负跳变有效。端申请中断的信号负跳变有效。0INT1INT0INT1INT2串行口控制寄存器SCON (98H) D7D6D5D4D3D2D1D0TIRI串行中断请求标志TI/RI:串行口发送:串行口发送/接收中断申请标志位(由接收中断申请标志位(由硬件自动置位硬件自动置位,必须

10、由用户在中断服务程序中用必须由用户在中断服务程序中用软件清软件清0)。)。 =0:没有串行口发送:没有串行口发送/接收中断申请;接收中断申请; =1:有串行口发送:有串行口发送/接收中断申请。接收中断申请。 SCON的高的高6位用于串行口工作方式设置和串行口发送位用于串行口工作方式设置和串行口发送/接收控制。接收控制。3中断允许控制寄存器IE (0A8H) D7D6D5D4D3D2D1D0EAESET1 EX1 ET0 EX00 禁止,1允许EX0、EX1、ET0、ET1、ES 位:分别是位:分别是 、 、 T0、T1、串行口的中断允许控制位。、串行口的中断允许控制位。 =0 :禁止中断;:禁

11、止中断; =1 :允许中断。:允许中断。EA:总的中断允许控制位(总开关):总的中断允许控制位(总开关): =0 :禁止全部中断;:禁止全部中断; =1 :允许中断。:允许中断。0INT1INT4中断优先级控制寄存器(IP) (0B8H) D7D6D5D4D3D2D1D0PSPT1 PX1 PT0 PX00 低级别,1高级别PX0/PX1: / 优先级控制位:优先级控制位: =0 :属低优先级;:属低优先级; =1 :属高优先级。:属高优先级。PT0/PT1:T0/T1中断优先级控制位:中断优先级控制位: =0 :属低优先级;:属低优先级; =1 :属高优先级。:属高优先级。PS1:串行口中断

12、优先级控制位:串行口中断优先级控制位: =0 :属低优先级;:属低优先级; =1 :属高优先级。:属高优先级。0INT1INTn中断申请标志中断申请标志n1、INT0(P3.2),外部中断),外部中断0。可由。可由IT0选择其为低电平有效选择其为低电平有效还是下降沿有效。当还是下降沿有效。当CPU检测到检测到P3.2引脚上出现有效的中断引脚上出现有效的中断信号时,中断标志信号时,中断标志IE0置置1,向,向CPU申请中断。申请中断。n2、INT1(P3.3),外部中断),外部中断1。可由。可由IT1选择其为低电平有效选择其为低电平有效还是下降沿有效。当还是下降沿有效。当CPU检测到检测到P3.

13、3引脚上出现有效的中断引脚上出现有效的中断信号时,中断标志信号时,中断标志IE1置置1,向,向CPU申请中断。申请中断。 n3、TF0(TCON.5),片内定时),片内定时/计数器计数器T0溢出中断请求标志。溢出中断请求标志。当定时当定时/计数器计数器T0发生溢出时,置位发生溢出时,置位TF0,并向,并向CPU申请中断。申请中断。n4、TF1(TCON.7),片内定时),片内定时/计数器计数器T1溢出中断请求标志。溢出中断请求标志。当定时当定时/计数器计数器T1发生溢出时,置位发生溢出时,置位TF1,并向,并向CPU申请中断。申请中断。n5、RI或或TI,串行口中断请求标志。当串行口接收完一帧

14、串行,串行口中断请求标志。当串行口接收完一帧串行数据时置位数据时置位RI或当串行口发送完一帧串行数据时置位或当串行口发送完一帧串行数据时置位TI,向,向CPU申请中断。申请中断。 n8051有两个中断优先级,即高优先级和低优先级,每个中断源有两个中断优先级,即高优先级和低优先级,每个中断源都可设置为高或低中断优先级,以便都可设置为高或低中断优先级,以便CPU对所有的中断实现两对所有的中断实现两级中断嵌套。级中断嵌套。n 8051内部中断系统对各中断源的中断优先级有一个统一的内部中断系统对各中断源的中断优先级有一个统一的规定,称为自然优先级(系统缺省优先级)。如下表所示。规定,称为自然优先级(系

15、统缺省优先级)。如下表所示。 8051单片机的中断优先级采用了自然优先级和人工设置高、低优单片机的中断优先级采用了自然优先级和人工设置高、低优先级的策略,中断处于同一级别时,就由自然优先级确定。开先级的策略,中断处于同一级别时,就由自然优先级确定。开机时,每个中断都处于低优先级,中断优先级可以通过程序来机时,每个中断都处于低优先级,中断优先级可以通过程序来设定,由中断优先级寄存器设定,由中断优先级寄存器IP来统一管理。来统一管理。n对同时发生多个中断申请时,中断优先级处理原则:对同时发生多个中断申请时,中断优先级处理原则:n 不同优先级的中断同时申请:先高后低不同优先级的中断同时申请:先高后低

16、n 相同优先级的中断同时申请:按序执行相同优先级的中断同时申请:按序执行n 正处理低优先级中断又接到高级别中断:高打断低正处理低优先级中断又接到高级别中断:高打断低n 正处理高优先级中断又接到低级别中断:高不理低正处理高优先级中断又接到低级别中断:高不理低四、中断响应 响应条件响应条件 MCS-51单片机工作时,在每个机器周期中都会去查询各个单片机工作时,在每个机器周期中都会去查询各个中断标志,如果有中断请求。必须满足下列条件单片机才能中断标志,如果有中断请求。必须满足下列条件单片机才能响应中断。响应中断。-CPU要响应中断需满足下列条件:要响应中断需满足下列条件:相应的中断是开放的;相应的中

17、断是开放的;无同级或高级中断正在服务;无同级或高级中断正在服务;当前指令周期结束,如果查询中断请求的机器周期不是当当前指令周期结束,如果查询中断请求的机器周期不是当前指令的最后一个周期,则不行;前指令的最后一个周期,则不行;若现行指令是若现行指令是RETI、RET或访问或访问IE、IP指令,则需要执指令,则需要执行到当前指令及下一条指令方可响应。行到当前指令及下一条指令方可响应。中断过程包括中断请求、中断响应、中断服务、中断返回四中断过程包括中断请求、中断响应、中断服务、中断返回四个阶段。个阶段。 中断请求:中断请求:中断源将相应请求中断的标志位置 “1”,表示发出请求,并由CPU 查询。 中

18、断响应:中断响应:在中断允许条件下响应中断。断点入栈撤除中断标志关闭低同级中断允许中断入口地址送PC。 这些工作都是由硬件自动完成的。 中断服务:中断服务:根据入口地址转中断服务程序,包含保护现场、执行中断主体、恢复现场。 中断返回:中断返回:执行中断返回RETI指令断点出栈开放中断允许返回原程序。响应过程响应过程-单片机响应中断后,自动执行下列操作:单片机响应中断后,自动执行下列操作: 置位中断优先级有效触发器,即关闭同级和低级中断:置位中断优先级有效触发器,即关闭同级和低级中断: 调用入口地址,断点入栈,相当于调用入口地址,断点入栈,相当于LCALL指令;指令; 进入中断服务程序。进入中断

19、服务程序。 中断服务中断服务:中断服务程序由程序员编写,用于满足用户的特定需求。注意:由于中断服务程序所使用的资源与主程序相同,中断服务程序的执行可能会影响到主程序所需要的数据,因此,在对中断处理之前需要将需要保护的数据压入堆栈保护。至于哪些数据需要保护,由程序员决定。例如需要保护断点处的PSW和A的状态,则在中断服务程序中需要执行如下命令:PINT0: PUSH PSW PUSH A 中断返回中断返回:当中断服务程序执行结束后需要返回主程序继续执行,此时需要在中断服务程序的最后使用RETI指令。 RETI指令表示中断服务程序的结束,CPU执行该指令时,一方面把响应中断时所置位的优先级状态触发

20、器清0,使得单片机可以继续响应别的中断请求;另一方面从栈顶弹出断点地址(两个字节)送到程序计数器PC,CPU从原来中断处继续执行被中断的程序。PINT0: PUSH PSW PUSH A POP A POP PSW RETI响应时间响应时间-从查询中断请求标志位到转向中断服务入口地从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。址所需的机器周期数。(1)最快响应时间最快响应时间以外部中断的电平触发为最快。以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期:从查询中断请求信号到中断服务程序需要三个机器周期: 1个周期(查询)个周期(查询)2个周期(长调用个周

21、期(长调用LCALL)(2)最长时间最长时间若当前指令是若当前指令是RET、RETI和和访问访问IP、IE指令,紧接着下指令,紧接着下一条是乘除指令发生,则最长为一条是乘除指令发生,则最长为8个周期:个周期:2个周期执行当前指令(其中含有个周期执行当前指令(其中含有1个周期查询)个周期查询)4个周个周期乘除指令期乘除指令2个周期长调用个周期长调用8个周期。个周期。中断返回中断返回中断处理程序的最后一条指令是中断处理程序的最后一条指令是RETI,它使,它使CPU结束中断处理程序的执行,返回到断点处,继续执行结束中断处理程序的执行,返回到断点处,继续执行主程序。主程序。nMCS-51单片机的外部中

22、断有两种触发方式可选:单片机的外部中断有两种触发方式可选:n电平触发电平触发和和边沿触发边沿触发。n选择电平触发选择电平触发时,单片机在每个机器周期检查中断时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。请求中断。n选择边沿触发选择边沿触发时,单片机在上一个机器周期检测到时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请求中断。平,即置位中断标志,请求中断。7.3 MCS-51 中断触发方式n电平触发方式时,中断标志

23、寄存器不锁存中断请求信号。也电平触发方式时,中断标志寄存器不锁存中断请求信号。也就是说,单片机把每个机器周期的就是说,单片机把每个机器周期的S5P2采样到的外部中断源采样到的外部中断源口线的电平逻辑直接赋值到中断标志寄存器。标志寄存器对口线的电平逻辑直接赋值到中断标志寄存器。标志寄存器对于请求信号来说是透明的。这样当中断请求被阻塞而没有得于请求信号来说是透明的。这样当中断请求被阻塞而没有得到及时响应时,将被丢失。换句话说,要使电平触发的中断到及时响应时,将被丢失。换句话说,要使电平触发的中断被被CPU响应并执行,必须保证外部中断源口线的低电平维持响应并执行,必须保证外部中断源口线的低电平维持到中断被执行为止。因此当到中断被执行为止。因此当CPU正在执行同级中断或更高级正在执行同级中断或更高级中断期间,产生的外部中断源(产生低电平)如果在该中断中断期间,产生的外部中断源(产生低电平)如果在该中断执行完毕之前撤销(变为高电平)了,那么将得不到响应,执行完毕之前撤销(变为高电平)了,那么将得不到响应,就如同没发生一样。同样,当就如同没发生一样。同样,当CPU在执行不可被中断的指令在执行不可被中

温馨提示

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

评论

0/150

提交评论