收藏 分享(赏)

第八讲中断系统.ppt

上传人:知足长乐 文档编号:1225865 上传时间:2018-06-19 格式:PPT 页数:26 大小:589.50KB
下载 相关 举报
第八讲中断系统.ppt_第1页
第1页 / 共26页
第八讲中断系统.ppt_第2页
第2页 / 共26页
第八讲中断系统.ppt_第3页
第3页 / 共26页
第八讲中断系统.ppt_第4页
第4页 / 共26页
第八讲中断系统.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、2018/6/19,1,第八章中断系统,2018/6/19,2,8.1 80C51的中断系统,8.1.1 80C51的中断系统结构,一、中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。,2018/6/19,3,MCS-51单片机的中断系统结构,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,2018/6/19,4,引起CPU中断的根源,称为中断

2、源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。,为什么计算机引入采用中断机制?,2018/6/19,5,中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:,分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;,实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;,可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。,2018/6/19,6,二、80C51中断系统

3、的结构 80C51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套 。,2018/6/19,7,2018/6/19,8,8.1.2 80C51的中断源 一、中断源:三类,即外部中断、定时中断、串行口中断,2018/6/19,9,1、外部中断类:外部中断是由外部原因引 起的,有外部中断0(/INT0)和外部中断1(/INT1),激活方式:低电平有效还是下跳变,由TCON的低位决定。,ITi0低电平激活ITi1下跳变激活,2、定时中断3、串行口中断,2018/6/19,10,若外部中断定义为电平触发方式,中断标志位的状态随CPU在每个机器周期采样到的外部中断输入引脚的电

4、平变化而变化,这样能提高CPU对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低电平,否则中断返回之后将再次产生中断。,电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。例如,并行接口芯片8255的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。,2018/6/19,11,若外部中断定义为边沿触发方式,在相继连续的两次采样中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑

5、1。即便是CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清零。这样,为保证下降沿能被可靠地采样到,外中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期。 边沿触发方式适合于以负脉冲形式输入的外部中断请求,如ADC0809的转换结束标志信号EOC为正脉冲,经反相后就可以作为80C51的中断输入。,2018/6/19,12,二、中断请求标志1、TCON的中断标志,IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式。 当IT0=1时,为边沿触发方式(下降沿有效)。IE0(TCON.1),外部中断0中断请求标志位。IT1(TCON.2),

6、外部中断1触发方式控制位。IE1(TCON.3),外部中断1中断请求标志位。TF0(TCON.5),定时/计数器T0溢出中断请求标志位。TF1(TCON.7),定时/计数器T1溢出中断请求标志位。,2018/6/19,13,2、SCON的中断标志,RI(SCON.0),串行口接收中断标志位。当允许串口接收数据时,每收完一个串行帧,由硬件置位RI。 CPU响应中断时,不能自动清除RI, RI必须由软件清除。TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。同样,TI必须由软件清除。,2018/6/19,1

7、4,一、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。,8.1.3 80C51中断的控制,EX0(IE.0),外部中断0允许位;ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.2),外部中断0允许位;ET1(IE.3),定时/计数器T1中断允许位;ES ( IE.4),串行口中断允许位;EA (IE.7), CPU中断允许(总允许)位。,80C51单片机的中断源均为可屏蔽中断源,2018/6/19,15,二、中断优先级控制 80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP

8、中的相应位的状态来规定的 。,PX0(IP.0),外部中断0优先级设定位;PT0(IP.1),定时/计数器T0优先级设定位;PX1(IP.2),外部中断0优先级设定位;PT1(IP.3),定时/计数器T1优先级设定位;PS (IP.4),串行口优先级设定位;PT2(IP.5),定时/计数器T2优先级设定位。,80C51有5个中断源,但优先级只有两级。若有几个属于同一级别的中断源同时向CPU申请中断,则如何处理呢?,2018/6/19,16,同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如下表所示:,2018/6/

9、19,17,80C51单片机的中断优先级有三条原则:,CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被高优先级中断请求所中断。,为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。,注意:这两个触发器只能由指令RETI复位,2018/6/19,18,8.2 80C51单片机中断处理过程,一、中断响应条件 中断源有中断请求; 此

10、中断源的中断允许位为1; CPU开中断(即EA=1);同时满足时,CPU才有可能响应中断。,8.2.1 中断响应条件和时间,2018/6/19,19,中断服务的进入: CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。 如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。,2018/6/19,20,以下任一条件,硬件将不产生LCALL指令:CPU正在处

11、理同级或高优先级中断;当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;正在执行的指令为RET、RETI或任何访问IE或IP寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。,若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。,2018/6/19,21,二、中断响应时间,响应时间:从查询中断请求标志位到转向中断服务 入口地址所需的机器周期数。(1)最快响应时间从查询中断请求信号到中断服

12、务程序需要三个机器周期: 1个周期(查询)2个周期(长调用LCALL)(2)最长时间若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。,2018/6/19,22,自动清除中断申请标志位,但TI/RI除外。 将相应的优先级状态触发器置1(以阻断 后来的同级或低级的中断请求)。 执行一条硬件LCALL指令,即把程序计 数器PC的内容压入堆栈保存,再将相应 的中断服务程序的入口地址送入PC。 执行中断服务程序。,8.2.2 中断响应过程,中断响应过程的前三步是由中断系统内部自

13、动完成的,而中断服务程序则要由用户编写程序来完成。,2018/6/19,23,8.2.3 中断返回,RETI指令的具体功能是:将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序; 将相应中断优先级状态触发器清0,通知中断系统,中断服务程序已执行完毕。,注意,不能用RET指令代替RETI指令。在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确返回断点。,2018/6/19,24,例 利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统时钟频率为12 MHz。解:1、计算计数初值X:

14、由于晶振为12 MHz,所以机器周期Tc为1 s。所以:Nt / Tc101000 / 1 10000X655361000055536D8F0H即应将D8H送入TH0中,F0H送入TL0中 2、求T0的方式控制字TMOD:M1M0=01,GATE=0,C/T=0,方式控制字为01H;,8.3 80C51单片机中断应用举例,2018/6/19,25,软件查询方式: ORG 0000H LJMP MAIN ;跳转到主程序 ORG 0100H MAIN:MOV TMOD,#01H ;置T0工作于方式1 MOV TH0,#0D8H ;装入计数初值 MOV TL0,#0F0H SETB TR0 ;启动T

15、0 HERE:JNB TF0,HERE ;等待中断 CLR TF0 CPL P1.0 ;P1.0取反输出 MOV TH0,#0D8H ;重新装入计数值 MOV TL0,#0F0H SJMP HERE ;中断返回 END,硬件定时器采用软件查询方式同样占用了CPU,与软件定时程序相比效率并没有提高。怎么办?,2018/6/19,26,中断方式: ORG 0000H LJMP MAIN ;跳转到主程序 ORG 000BH ;T0的中断入口地址 LJMP DVT0 ;转向中断服务程序 ORG 0100H MAIN:MOV TMOD,#01H ;置T0工作于方式1 MOV TH0,#0D8H ;装入计数初值 MOV TL0,#0F0H SETB ET0 ;T0开中断 SETB EA ;CPU开中断 SETB TR0 ;启动T0 SJMP $ ;等待中断 DVT0:CPL P1.0 ;P1.0取反输出 MOV TH0,#0D8H ;重新装入计数值 MOV TL0,#0F0H RETI ;中断返回 END,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑环境 > 环境科学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报