《单片微机原理及应用》教学课件单片机的中断系统本节重点:1、熟悉AT89C51的中断标志位;2、熟悉并理解与中断有关的SFR;3、掌握外部中断的使用方法,及程序编写。《单片微机原理及应用》教学课件中断,指CPU对系统内或系统外发生的某个事件的一种响应过程,即CPU暂时停止现行程序的执行,自动跳转执行相应的中断服务子程序,结束后,再返回到被暂停的断点处,继续执行原来的程序。实现这种中断功能的硬件和软件系统称为中断系统。中断功能强弱是计算机性能优劣的重要标志提高CPU效率解决速度矛盾实现并行工作应付突发事件……2.8.1中断的基本概念《单片微机原理及应用》教学课件51子系列允许5个(52子系列6个)中断源:2个外部中断请求:INT0,INT12个片内定时器/计数器T0和T1中断请求:TF0,TF1,(TF2——52子系列有T2)1个串行口中断请求:TI/RI前面学过,中断服务程序入口地址为什么两个中断标志位TI/RI,只作为一个串口中断请求?因为它们使用同一个中断入口地址。《单片微机原理及应用》教学课件中断矢量:MCS-51单片机的5个中断源分别对应有各自的中断服务程序入口地址——中断矢量000BHTF0定时/计数器0(T0)002BHTF2定时/计数器2(T2)0023HRI/TI串行口接收/发送001BHTF1定时/计数器1(T1)0013HIE1外部中断1(INT1)0003HIE0外部中断0(INT0)中断优先级中断矢量申请标志中断源最高优先级最低优先级(优先级相同时)《单片微机原理及应用》教学课件CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置'1',将启动中断机制,即无中断时相应标志位为“0”。CPU识别中断申请的依据:TcTsTmTmTc=1/foscTs=6TcTm=12Tc=6TsS5S6S4S3S2S5S6S4S3S2S1《单片微机原理及应用》教学课件CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置“1”,即无中断时相应标志位为“0”。CPU识别中断申请的依据:TcTsTmTmTc=1/foscTs=6TcTm=12Tc=6TsS5S6S4S3S2S5S6S4S3S2S1什么是标志位?也就是相应的中断请求源标志位,属于某些SFR的位,是可以进行位操作的。《单片微机原理及应用》教学课件☞RI,TI:串行口收/发数据申请中断标志位=1申请中断;=0不申请中断SM0SM1SM2RENTB8RB8TIRISCON串行口控制寄存器SCON(98H)2.8.2中断源《单片微机原理及应用》教学课件TF1TR1TF0TR0IE1IT1IE0IT0TCONTF0/TF1:定时器溢出中断申请标志位:=0:定时器未溢出;=1:定时器溢出申请中断,进中断后自动清零。TR0/TR1:定时器运行启停控制位:=0:定时器停止运行;=1:定时器启动运行。TCON:Timer控制寄存器,是管理定时器工作的SFR(其中低4位管外部中断)定时器控制寄存器TCON(88H)《单片微机原理及应用》教学课件TF1TR1TF0TR0IE1IT1IE0IT0TCONIE0/IE1:外部中断申请标志位:=0:没有外部中断申请;=1:有外部中断申请。TCON:Timer控制寄存器,低4位管理外部中断《单片微机原理及应用》教学课件低电平/负脉冲→INT0/INT1引脚可触发中断(P3.2.3)TF1TR1TF0TR0IE1IT1IE0IT0TCON(88H)IT0/IT1:INT0/1的触发方式选择位:IT0/IT1=0时,INT0/INT1是低电平有效;IT0/IT1=1时,INT0/INT1是负跳变有效。低电平触发引脚上的低电平须持续到中断发生。若中断返回前仍未及时撤除低电平,将再次中断。负脉冲触发CPU在前一机器周期采到INT0/INT1引脚为高,后一机器周期采到为低才认为是一次中断请求。CPU可记忆申请、可自动撤除中断申请。IT0/IT1:外部中断请求的触发方式选择位:从另外一个角度来看:负脉冲触发的外部中断的低电平和高电平都必须持续一个机器周期。如果中断脉冲很窄(CPU检测不到高低电平),边沿触发方式有可能使单片机检测不到中断信号。解决方法:可以采用D触发器,将负跳变转换成低电平(实际上也就是将边沿触发方式变为电平触发方式),可解决此问题,提高中断的可靠性。(后面讲)负脉冲触发CPU在前一机器周期采到INT0/INT1引脚为高,后一机器周期采到为低才认为是一次中断请求。CPU可记忆申请、可自动撤除中断申请。《单片微机原理及应用》教学课件EA—ET2ESET1EX1ET0EX0IE1.中断允许寄存器IE(0A8H)EX0/EX1/ET1/ET0/ES位:分别是INT0/1,Timer0/1,串行口的中断允许控制位:=0时禁止中断;=1时允许中断。ET2:T2中断允许控制位(仅52子系列有)=0时禁止中断;=1时允许中断。EA:总的中断允许控制位(总开关):=0时禁止全部中断;=1时允许中断。2.8.3中断控制《单片微机原理及应用》教学课件——PT2PSPT1PX1PT0PX0IPPX0/PX1:INT0/1优先级控制位:=0时属低优先级;=1时属高优先级。PT0/PT1/PT2:T0/1/2中断优先级控制位:=0时属低优先级;=1时属高优先级。PS:串行口中断优先级控制位:=0时属低优先级;=1时属高优先级。2.中断优先级控制寄存器IP(0B8H)《单片微机原理及应用》教学课件对同时发生多个中断申请时:☞不同优先级的中断同时申请(很难遇到)——先高后低☞相同优先级的中断同时申请(很难遇到)——按序执行☞正处理低优先级中断又接到高级别中断——高打断低☞正处理高优先级中断又接到低级别中断——高不理低中断优先级处理原则《单片微机原理及应用》教学课件中断系统硬件结构注:各中断允许控制位=0,开关断开;=1,开关接通IE0EX0TF0IE1TF1TIESET1EX1ET0外部中断请求0外部中断请求1内部定时器0内部定时器1内部串行口TRRIIE寄存器EA位IP寄存器各单路开关总开关中断源标志位查询机构高中断级中断请求低中断级中断请求中断入口中断源标志位INT0INT1中断入口中断源标志位《单片微机原理及应用》教学课件中断矢量:MCS-51单片机的5个中断源分别对应有各自的中断服务程序入口地址——中断矢量000BHTF0定时/计数器0(T0)002BHTF2定时/计数器2(T2)0023HRI/TI串行口接收/发送001BHTF1定时/计数器1(T1)0013HIE1外部中断1(INT1)0003HIE0外部中断0(INT0)中断优先级中断矢量申请标志中断源最高优先级最低优先级(优先级相同时)《单片微机原理及应用》教学课件☞没有同级的中断或更高级别的中断正在处理;在中断源提出了中断申请,且CPU此前已经允许中断的前提下,还须满足以下三个条件:☞正在执行的指令必须执行完最后1个机器周期;☞若正在执行RETI,或正在访问IE或IP寄存器,须执行完上述指令和下一条指令以后方能响应中断。2.8.4中断响应的条件、过程与时间1.中断响应条件《单片微机原理及应用》教学课件2.中断响应过程CPU响应中断后,由硬件执行如下的功能操作:(1)根据中断请求源的优先级高低,对应的优先级状态触发器置1(若高优先级状态触发器为1,则屏蔽所有后来的中断请求;若低优先级的状态触发器为1,则屏蔽后来的同一优先级中断请求。当中断结束时,对应优先级的触发器被硬件自动清零)。(对应RETI指令)《单片微机原理及应用》教学课件(2)保护断点,即把程序计数器PC的内容压入堆栈保护。(3)清内部硬件可清除的中断请求标志为(边沿触发方式的外部中断IE0和IE1,TF0,TF1)。(4)把被响应的中断服务子程序的入口地址送入PC,从而转入相应的中断服务程序执行。(5)中断服务程序的最后一条指令为RETI,执行时,先将相应的优先级状态触发器清0,然后从堆栈中弹出断点地址到PC,从而返回到断点处。《单片微机原理及应用》教学课件注意:1.单片机硬件能够保护断点,但不能够保护现场信息,如A,Rn,PSW等,需要时要保护。2.不能清除串行口标志位TI和RI,也无法清除电平触发的外部中断请求信号,须考虑撤除中断信号。《单片微机原理及应用》教学课件3.中断响应时间3个机器周期:若CPU检测到中断信号时,刚好是一条指令的最后一个机器周期(及检测所需的一个机器周期),而响应中断需要一条长跳转指令,需两个机器周期。(最短时间)8个机器周期:若CPU检测到中断信号时,刚好正在执行RETI/IP/IE指令的第一个机器周期,这三条指令均需2个机器周期。(在执行这三条指令时,在执行完本指令后且紧随其后的另一条指令也要执行完毕),若紧随其后的指令时MUX/DIV,为4机器周期指令。加上长跳转2周期,共为8个机器周期。(最长时间)(1)硬件自动清0定时/计数器T0、T1的溢出中断标志TF0、TF1;下降沿触发外部中断0、1的中断标志位IE0、IE1。当单片机响应中断请求后,以上中断标志自动被清除。4.中断中断请求的撤销CPU响应某中断请求后,在中断返回之前,该中断请求应该及时撤除,否则会重复引起中断而发生错误。89C51单片机的各种中断请求的撤销方法分为:(2)软件清0(及需要用户写程序)串行口中断标志位TI、RI。如:CLRRI或CLRTI;(3)强制清0低电平触发的外部中断IE0、IE1。TF1TR1TF0TR0IE1IT1IE0IT0TCON(88H)IT0/IT1:INT0/1的触发方式选择位:IT0/IT1=0时,INT0/INT1是低电平有效;低电平触发引脚上的低电平须持续到中断发生。若中断返回前仍未及时撤除低电平,将再次中断。需要用户编写程序,和辅助电路(低电平保持(窄脉冲)及中断撤除)。《单片微机原理及应用》教学课件外部低电平触发中断的撤除外来的低电平→反相→CLK端产生上跳沿→D端的“0”打到Q端→申请中断INTxP1.0CLKSQD外来中断申请信号(低电平)MCS-5174LS74S=0则Q=1中断返回前对P1.0送“0”→令Q端变为“1”指令如下:ANLP1,#0FEH=CLRP1.0;令Q端置“1”ORLP1,#01H=SETBP1.0;令S端置“1”,以免下次中断来时Q端不能变“0”低电平触发中断优缺点优点:如果中断脉冲很窄,边沿触发方式有可能使单片机检测不到中断信号。若采用电平触发方式,及辅助电路,可解决此问题,提高中断的可靠性。缺点:因需辅助电路及指令,所以增加成本。具体采用哪种方式,要看中断源信号的特征。《单片微机原理及应用》教学课件OVER!