资源描述
,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,成于大气 信达天下,*,Click to edit Master title style,Chengdu University of Information Technology,中断系统及其应用,电子实验中心 赵建,课件密码:,stud Email:zhaojian,成于大气 信达天下,Chengdu University of Information Technology,中断的概念,CPU,在处理某一事件,A,时,发生了另一事件,B,请求,CPU,迅速去处理(,中断发生,);,CPU,暂时中断当前的工作,转去处理事件,B,(,中断响应和中断服务,);,待,CPU,将事件,B,处理完毕后,再回到原来事件,A,被中断的地方继续处理事件,A,(,中断返回,),这一过程称为中断。,中 断 系 统 的 结 构,成于大气 信达天下,Chengdu University of Information Technology,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,中 断 系 统 的 结 构,成于大气 信达天下,Chengdu University of Information Technology,引起,CPU,中断的根源,称为,中断源,。中断源向,CPU,提出的中断请求。,CPU,暂时中断原来的事务,A,,转去处理事件,B,。对事件,B,处理完毕后,再回到原来被中断的地方(即,断点,),称为中断返回。实现上述中断功能的部件称为,中断系统,(中断机构)。,中 断 系 统 的 结 构,成于大气 信达天下,Chengdu University of Information Technology,随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速,I/O,设备的数据传送问题,而且还具有如下优点:,分时操作,CPU,可以分时为多个,I/O,设备服务,提高了计算机的利用率;,实时响应,CPU,能够及时处理应用系统的随机事件,系统的实时性大大增强;,可靠性高,CPU,具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。,中 断 系 统 的 结 构,成于大气 信达天下,Chengdu University of Information Technology,AT89C52,中共有,6,个中断源,其中有两个外部中断、四个内部中断;共有,4,级中断优先级设置。,中断涉及到的特殊功能寄存器:,TCON,SCON,IE,IP,IPH,AT89C52,中断系统的结构,成于大气 信达天下,Chengdu University of Information Technology,AT89C52,中断系统的结构图,外部中断由,P3.2(INT0),、,P3.3(INT1),输入,成于大气 信达天下,Chengdu University of Information Technology,中断系统相关特殊功能寄存器,TCON,IT0,(,TCON.0,),,外部中断,0,触发方式控制位。,当,IT0=0,时,为电平触发方式。,当,IT0=1,时,为边沿触发方式(下降沿有效)。,IE0,(,TCON.1,),,外部中断,0,中断请求标志位。,IT1,(,TCON.2,),,外部中断,1,触发方式控制位。,IE1,(,TCON.3,),,外部中断,1,中断请求标志位。,TF0,(,TCON.5,),,定时,/,计数器,T0,溢出中断请求标志位。,TF1,(,TCON.7,),,定时,/,计数器,T1,溢出中断请求标志位。,成于大气 信达天下,Chengdu University of Information Technology,中断系统相关特殊功能寄存器,SCON,的中断标志,RI,(,SCON.0,) 串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位,RI,。同样,,RI,必须由软件清除。,TI,(,SCON.1,),串行口发送中断标志位。当,CPU,将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位,TI,。,CPU,响应中断时,不能自动清除,TI,,,TI,必须由软件清除。,成于大气 信达天下,Chengdu University of Information Technology,中断系统相关特殊功能寄存器,中断允许控制寄存器,IE,EX0,(,IE.0,),,,外部中断,0,允许位;,ET0,(,IE.1,),,,定时,/,计数器,T0,中断允许位;,EX1,(,IE.2,),,,外部中断,1,允许位;,ET1,(,IE.3,),,,定时,/,计数器,T1,中断允许位;,ES,(,IE.4,),,,串行口中断允许位;,EA,(,IE.7,),,,CPU,中断允许(总允许)位。,成于大气 信达天下,Chengdu University of Information Technology,中断系统相关特殊功能寄存器,中断优先级控制寄存器(,IP,),PX0,(,IP.0,),,,外部中断,0,优先级设定位;,PT0,(,IP.1,),,,定时,/,计数器,T0,优先级设定位;,PX1,(,IP.2,),,,外部中断,1,优先级设定位;,PT1,(,IP.3,),,,定时,/,计数器,T1,优先级设定位;,PS,(,IP.4,),,,串行口优先级设定位;,PT2,(,IP.5,),,,定时,/,计数器,T2,优先级设定位。,成于大气 信达天下,Chengdu University of Information Technology,中断系统相关特殊功能寄存器,PX0,(,IPH.0,),,,外部中断,0,优先级设定位;,PT0,(,IPH.1,),,,定时,/,计数器,T0,优先级设定位;,PX1,(,IPH.2,),,,外部中断,1,优先级设定位;,PT1,(,IPH.3,),,,定时,/,计数器,T1,优先级设定位;,PS,(,IPH.4,),,,串行口优先级设定位;,PT2,(,IPH.5,),,,定时,/,计数器,T2,优先级设定位。,中断优先级控制寄存器(,IPH,),成于大气 信达天下,Chengdu University of Information Technology,中 断 的 优 先 级,同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的,自然优先级,形成,其排列如所示:,成于大气 信达天下,Chengdu University of Information Technology,中 断 的 优 先 级,例:编写中断初始化程序,设置中断系统中,串口的中断优先级最高,外部中断,1,及定时,/,计数器,T0,中断优先级为同级中断优先。设置外部中断0为电平触发,外部中断1为边沿触发。,成于大气 信达天下,Chengdu University of Information Technology,中 断 的 优 先 级,80C51,单片机的中断优先级有三条原则:,CPU,同时接收到几个中断时,,首先响应优先级别最高的中断请求,。,正在进行的中断过程,不能被新的同级或低优先级的中断请求所中断,。,正在进行的低优先级中断服务,,能被高优先级中断请求所中断,。,为了实现上述后两条原则,,中断系统内部设有两个用户不能寻址的优先级状态触发器,。,其中一个置,1,,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置,1,,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。,成于大气 信达天下,Chengdu University of Information Technology,中断源有中断请求,该中断是被允许的中断,CPU,的总的中断允许是打开的,CPU,没有在执行同级、或者更高级的中断,中断响应的条件,成于大气 信达天下,Chengdu University of Information Technology,中断未被响应的原因,遇以下任一条件,硬件将受阻,不产生,LCALL,指令:,CPU,正在处理同级或高优先级中断;,当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;,正在执行的指令为,RET,、,RETI,或任何访问,IE,或,IP,寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。,若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。,成于大气 信达天下,Chengdu University of Information Technology,中断响应的过程,将相应的优先级状态触发器置,1,(以阻断后来的同级或低级的中断请求)。,执行一条硬件,LCALL,指令,即把程序计数器,PC,的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入,PC,。,执行中断服务程序。,中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。,成于大气 信达天下,Chengdu University of Information Technology,中断返回的过程,RETI,指令的具体功能是:,将中断响应时压入堆栈保存的断点地址从栈顶弹出送回,PC,,,CPU,从原来中断的地方继续执行程序;,将相应中断优先级状态触发器清,0,,通知中断系统,中断服务程序已执行完毕。,注意,不能用,RET,指令代替,RETI,指令。在中断服务程序中,PUSH,指令与,POP,指令必须成对使用,否则不能正确返回断点。,成于大气 信达天下,Chengdu University of Information Technology,外部中断触发方式的选择,若外部中断定义为电平触发方式,中断标志位的状态随,CPU,在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高,CPU,对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低电平,否则中断返回之后将再次产生中断。,电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。例如,并行接口芯片,8255,的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。,成于大气 信达天下,Chengdu University of Information Technology,外部中断触发方式的选择,若外部中断定义为边沿触发方式,在相继连续的两次采样中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在,IE0,或,IE1,中将锁存一个逻辑,1,。即便是,CPU,暂时不能响应,中断申请标志也不会丢失,直到,CPU,响应此中断时才清零。这样,为保证下降沿能被可靠地采样到。,外中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期,(若晶振为,12MHz,时,为,1,微秒)。,边沿触发方式适合于以负脉冲形式输入的外部中断请求,如,ADC0809,的转换结束标志信号,EOC,为正脉冲,经反相后就可以作为,80C51,的中断输入。,成于大气 信达天下,Chengdu University of Information Technology,中断标志位的清零方式,外部中断,INT0,、,INT1,在产生中断时,如果采用边沿触发,进入中断服务程序后由硬件清除中断标志位(,IE0,、,IE1,);如果是电平触发,由外部请求源,而不是由片内硬件控制清除标志位。,定时器,0,和定时器,1,的溢出中断由,TF0,和,TF1,(分别由各自的定时,/,计数寄存器控制,定时器,0,工作在模式,3,时除外)产生。当产生定时器中断时,进入中断服务程序后由片内硬件清除标志位。如用查询方式编写定时或计数溢出后的处理程序,必须用软件对,TF0,或,TF1,清,0,。,成于大气 信达天下,Chengdu University of Information Technology,中断标志位的清零方式,串口中断由,RI,和,TI,的逻辑或产生。进入中断服务程序后,这些标志均不能被硬件清除。实际上,中断服务程序通常需要确定是由,RI,还是,TI,产生的中断,然后由软件清除中断标志。,定时器,T2,的中断由,TF2,或,EXF2,产生,被置位后不能由硬件清,0,,必须用软件对,TF2,或,EXF2,清,0,。,所有这些产生中断的位都可通过软件置位或清 ,与通过硬件置位或清,0,的效果相同。简而言之,中断可由软件产生、推迟或取消。,成于大气 信达天下,Chengdu University of Information Technology,中断服务程序的结构,中断服务程序是中断产生后系统,自动调用,的,无需编程时人为地调用。一般的中断服务程序的描述方法:,ORG0003H,AJMPEXINT0,;中断入口地址,EXINT0:,中断服务程序,其中中断服务程序标号是可以任意设定的,每个中断源都有自己的中断入口地址,不可以随意填写。,成于大气 信达天下,Chengdu University of Information Technology,中断源对应的中断号,中断源 中断号 中断入口地址,外部中断,0,0 0003H,定时,/,计数器,T0,1 000BH,外部中断,1,2 0013H,定时,/,计数器,3 001BH,串行口,4 0023H,定时,/,计数器,T2,5 002BH,成于大气 信达天下,Chengdu University of Information Technology,中断服务程序编写说明,例,,,我们要编写一个外部中断,1,的中断服务程序,该程序功能使,R4,的值为,0x55,。,ORG0013H,AJMPEXINT1,EXINT1:,MOVR4, #55H,RETI,注意:中断服务程序一般不编写为死循环;不处理比较大的程序;可以在中断里调用一些已经定义好的函数。,成于大气 信达天下,Chengdu University of Information Technology,中断系统程序编写示例,按照右边的电路图完成外部中断的输入检测,当外部中断,0,到来时,使数码管上的数字加,1,,当外部中断,1,到来时,使数码管上的数字减,1,。,99,加,1,后等于,00,;,00,减,1,后等于,99,。要求必须用中断方式完成。,数码管的段码接在,P0,口上,位选接在,P2.0P2.3,口上。,
展开阅读全文