资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,主要内容,中断系统,外部中断应用举例,中断系统概述,与上对比,单片机中也有同样的问题。,CPU,正,在执行原程序,突然,被意外事情打断,转去执行,新程序。,CPU,执行新程序结束后,又回到原程序中,继续执行。这样的过程就叫 。,中断,某同学正在教室写作业,忽然被人叫出去,回来,后,继续写作业。这就是生活中中断的例子。,对突发事故,做出紧急处理。,根据现场随时变化的各种参数、信息,做出实时监控。,CPU,与外部设备并行工作,以中断方式相联系,提高工作效率。,解决快速,CPU,与慢速外设之间的矛盾。,在多项外部设备同时提出中断请求情况下,,CPU,能根据轻重缓急响应外设的中断请求。,中断的作用,“五源中断,两级管理”,五个中断源:入口地址,外部中断0(/,INT0)0003H,T0,溢出中断 000,BH,外部中断1(/,INT1)0013H,T1,溢出中断 001,BH,串口中断,0023,H,“五源中断”,中断源的中断请求,如何通知,CPU?,利用中断请求标志位来通知!,标志位在,TCON、SCON,两个寄存器中,TCON,IT0,IE0,IT1,IE1,TR0,TF0,TR1,TF1,TF1 T1,的溢出中断标志 硬件置1,硬件清0,TR1 T1,的启动和停止控制位,TF0 T0,的溢出中断标志。(同,TF1,,只是针对,T0,的),IE1,外部中断1(/,INT1),请求标志。,外部有中断请求时,硬件使,IE1,置1,硬件清0,。,IE0,外部中断0(/,INT0),请求标志。,IT1,外部中断1(/,INT1),触发类型控制位。,IT1=0,,,低电平触发。,IT1=1,,下降沿触发。,IT0,外中断,0,(,/,INT0,),触发类型控制位,用法同,IT1,。,中断标志位,SCON,RI,TI,RB8,TB8,REN,SM2,SM1,SM0,TI,串口发送中断标志位。,发送完数据,硬件使,TI,置,1,,软件清,0,(,CLR TI,),RI,串行口接收中断标志位。,硬件置,1,,软件清,0,。,中断标志位,在中断源与,CPU,之间有二级中断允许控制逻辑电路,类似开关,其中第一级为一个总开关,第二级为五个分开关,由,IE,控制。,IE,EX0,ET0,EX1,ET1,ES,EA,EA,总控制位,“”未定义位,ES,串口控制位,ET1,T1,中断控制位,EX1,/INT1,控制位,ET0,T0,中断控制位,EX0,/INT0,控制位,若为“1”,开关接通,允许,例如,SETB EA,若为“0”,开关断开,不允许,例如,CLR IE.7,两级管理,中断屏蔽,为什么要有中断优先级?,CPU,同一时间只能响应一个中断请求。,若同时来了两个或两个以上中断请求,就必须有先有后,!,为此将,5,个中断源分成高级、低级两个级别,高级优先,由,IP,控制。,IP,PX0,PT0,PX1,PT1,PS,P S ,串口的中断优先级别,PT1,定时/计数器,T1,的中断优先级别,PX1,外部中断1 的中断优先级别,PT0,定时/计数器,T0,的中断优先级别,PX0,外部中断0 的中断优先级别,该位是“1”时,为高级优先级,该位是“0”时,为低级优先级,两级管理,中断优先级,同一级中的5个中断源的优先顺序是:,/,INT0,中断,T0,溢出中断,/,INT1,中断,T1,溢出中断,串口中断,高,低,出厂前已由厂家固化顺序,事先约定,中断优先原则:(概括为四句话),1、低级不打断高级,2、高级不睬低级,3、同级不能打断,4,、同级、同时中断,,,事先约定,。,日常生活中,的中断与,单片机,中断的比较:,某同学,单片机 过程说明,正在看书,执行主程序,有人找出去,中断信号,中断请求,暂停看书,暂停执行主程序,中断响应,书中作记号,当前,PC,入栈,保护断点,出去做事,执行中断程序,中断服务,回来继续看,返回主程序,中断返回,响应条件,-CPU,要响应中断需满足下列条件:,无同级或高级中断正在服务;,当前指令周期结束,如果查询中断请求的机器,周期不是当前指令的最后一个周期,则不行;,若现行指令是,RETI,、,RET,或,访问,IE,、,IP,指令,则需要执行到当前指令及下一条指令方可响应。,MCS-51,中断的响应过程,响应过程,-,单片机响应中断后,自动执行下列操作:,置位中断优先级有效触发器,即关闭同级和低级,中断:,调用入口地址,断点入栈,相当于,LCALL,指令;,进入中断服务程序。,响应时间,-,从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。,(,1,),最快响应时间,以外部中断的电平触发为最快。,从查询中断请求信号到中断服务程序需要三个机器周期:,1,个周期(查询),2,个周期(长调用,LCALL,),(,2,),最长时间,若当前指令是,RET,、,RETI,和,IP,、,IE,指令,紧接着下一条是乘除指令发生,则最长为,8,个周期:,2,个周期执行当前指令(其中含有,1,个周期查询),4,个周期乘除指令,2,个周期长调用,8,个周期。,中断返回,中断处理程序的最后一条指令是,RETI,,它使,CPU,结束中断处理程序的执行,返回到断点处,继续执行主程序。,CPU,响应中断后,应撤除该中断请求标志,否则会再次中断。,对定时计数器,T0,、,T1,的溢出中断,,CPU,响应中断后,硬件自动清除中断请求标志,TF0,和,TF1,。,对边沿触发的外部中断,INT1,和,INT0,,,CPU,响应中断后硬件自动清除中断请求标志,IE0,和,IE1,。,MCS-51,中断请求的撤销,对于串行口中断,,CPU,响应中断后,没有用硬件清除中断请求标志,TI,、,RI,,即这些中断标志 不会自动清除,必须用软件清除,这是在编串行通信中断服务中应该注意的。,对电平触发的外部中断,,CPU,在响应中断时也不会自动清除中断标志,因此,在,CPU,响应中断后应立即撤除,INT1,或,INT0,的低电平信号。,MCS-51,中断请求的撤销,主要内容,中断系统,外部中断应用举例,符号,名 称,中 断 引 起 原 因,入口地址,INT0,外部中断,0,P3.2,引脚的低电平或下降沿信号,0003H,INT1,外部中断,1,P3.3,引脚的低电平或下降沿信号,0013H,T0,定时器,0,中断,定时计数器,0,计数回零溢出,000BH,T1,定时器,1,中断,定时计数器,1,计数回零溢出,001BH,TI/RI,串行口中断,串行通信完成一帧数据发送或接收引起中断,0023H,注意,用户对中断的控制和管理,实际是对,4,个与中断有关的寄存器,IE,、,TCON,、,IP,、,SCON,进行设置。这几个寄存器在单片机复位时是清零的,因此必须根据需要对这几个寄存器的有关位进行预置。,注意,开中断总控开关,EA,,置位中断源的中断允许位。,INT0,、,INT1,应选择中断触发方式。,多个中断源中断,应设定中断优先级,预置,IP,。,编写中断服务程序,保护现场和恢复现场。,若要在执行当前中断程序时禁止更高优先级中断,可以采 用软件关,CPU,中断或禁止某中断源中断,在中断返回前再开放中断。,外部中断应用举例,89C51,的,P1,口接一个数码管,利用开关产生,外部中断,0,请求信号,用数码管显示中断的次数。,程序设计,ORG 0000H,LJMP MAIN,ORG 0003H,LJMP INIT0,ORG 0040H,MAIN:,SETB IT0,SETB EX0,SETB EA,MOV P2,#0FFH,MOV R0,#00H,MOV DPTR,#LED,LOOP:,CJNE R0,#09H,RE,MOV R0,#00H,RE:,AJMP LOOP,INIT0:,INC R0,MOV A,R0,MOVC A,A+,DPTR,MOV P2,A,RETI,LED,:DB,0C,0H,0F9,H,0A,4H,0B0,H,99,H,92,H,82,H,0D8,H,90,H,8,8,H,END,
展开阅读全文