《单片机原理及接口技术》第五章中断系统

上传人:今*** 文档编号:106971819 上传时间:2019-10-17 格式:PPT 页数:49 大小:535KB
返回 下载 相关 举报
《单片机原理及接口技术》第五章中断系统_第1页
第1页 / 共49页
《单片机原理及接口技术》第五章中断系统_第2页
第2页 / 共49页
《单片机原理及接口技术》第五章中断系统_第3页
第3页 / 共49页
《单片机原理及接口技术》第五章中断系统_第4页
第4页 / 共49页
《单片机原理及接口技术》第五章中断系统_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《《单片机原理及接口技术》第五章中断系统》由会员分享,可在线阅读,更多相关《《单片机原理及接口技术》第五章中断系统(49页珍藏版)》请在金锄头文库上搜索。

1、第五章 中断系统,中断的基本概念 MCS-51的中断系统 中断源和中断标志 中断的允许和优先权 中断的处理过程 外部中断源的扩展 中断的应用,无条件传送 (显示器) 查询传送 (打印机、A/D转换器) 直接数据存取(DMA)方式 Direct Memory Access (需DMA控制器) 中断传送,5. 1 微机的输入/输出方式,日常中断的例子,返回,你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。,5. 2 中断的基本概念,计算机中的中断概念,返回,CPU挂起正在执行的程序而转去处理特殊的事件的操作。 将能引起中断的事件称为中断源。 CPU现行

2、运行的程序称为主程序。 处理随机事件的程序称为中断服务子程序。,中断技术的优点,分时操作 CPU可以同多个外设“同时”工作 实时处理 CPU及时处理随机事件 故障处理 电源掉电、存储出错、运算溢出,5.3 89C51中断系统结构,中断源 中断标志 中断允许 中断优先级 MCS-51中断系统结构 中断寄存器,MCS-51的中断系统中断源,89C51单片机有5个中断请求源:,单片机,MCS-51的中断系统中断标志,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,每一个中断源都有相应的中断标志位; 某一个中断源申请中断,相应中断标志位置1。,

3、MCS-51的中断系统中断允许,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,EA总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断; 某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。,中断允许,ES,ET0,EX0,EX1,ET1,EA,MCS-51的中断系统中断优先级,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位=1,为高优先级);

4、同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。,中断允许,ES,ET0,EX0,EX1,ET1,EA,自然优先级,优先控制,PS,PT0,PX0,PX1,PT1,IE0,TCON,SCON,TF0,IE1,TF1,T0,T1,TI,RI,TXD,RXD,ES,ET0,EX0,EX1,ET1,EA,自然优先级,矢量地址,高级中断请求,自然优先级,矢量地址,低级中断请求,PX0,PT0,PX1,PT1,PS,IE,IP,MCS-51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,作用: 控制中断类型、中断的开关、中断的优先级 TCON(6位) SCON(2

5、位) IE IP,均可位寻址或字节寻址,四个中断控制寄存器(都是SFR),TCON寄存器T0和T1控制寄存器,TCON,T1溢出中断标志(TCON.7): T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。,TCON 88H,外部中断INT1中断标志位(TCON.3) : IE11,外部中断1向CPU申请中断,外部中断INT1触发方式控制位(TCON.2): IT1=0,电平触发方式 IT1=1, 下降沿触发方式,TCON寄存器T0和T1控制寄存器,注意:该寄存器可以位寻址。,返回,TI (S

6、CON.1)串行发送中断标志。 RI (SCON.0)串行接收中断标志。,SCON寄存器串行口控制寄存器,SCON 98H,注意:该寄存器可以位寻址。,IE寄存器中断允许寄存器,IE A8H,例:允许定时器T0中断: SETB EA SETB ET0 或 MOV IE,#82H,注意:该寄存器可以位寻址。,51单片机有两个中断优先级高级和低级 专用寄存器IP为中断优先级寄存器,用户可用软件设定 相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级 系统复位时,均为低优先级 该寄存器可以位寻址,IP寄存器中断优先级寄存器,IP B8H,中断处理过程分为三个阶段: 中

7、断响应 中断处理(又称中断服务) 中断返回,5. 4 中断处理过程,在89C51内部,中断表现为CPU的微查询操作,89C51的CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期的S6期间按优先级查询中断标记,若查询到某个标记位为1,则在下一个机器周期的S1期间响应相对的中断,并进行中断处理。(CPU的自主操作),中断响应条件,中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。 CPU响应中断的条件: 有中断源发出中断请求; 中断总允许EA=1,即CPU开中断; 申请中断的中断源对应的中断允许位为1,即中断没有被屏蔽; 无同级或更高级中断正在被服务;

8、 当前的指令周期已经结束; 若现行指令为RETI或者访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。,89C51单片机的中断优先级有三条原则:,CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。 正在进行的低优先级中断服务,能被高优先级中断请求所中断。,为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。,中断响应(以外部中断0为例),中断响应过

9、程: 保护断点地址;,把程序转向中断服务程序的入口地址(通常称矢量地址)。,特别注意:这些工作是硬件自动完成的!,断点地址,中断服务子程序的入口地址,外部中断0入口地址,ZD0 AJMP,ORG 0003H,AJMP ZD0,ZD0,中断响应,中断服务子程序入口地址又称为中断矢量或中断向量。,单片机中5个中断源的矢量地址是固定的,不能改动。,断点地址,中断服务子程序的入口地址,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断

10、入口,002AH,使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,包含T0中断服务子程序的程序结构: ORG 0000H AJMP MAIN ORG 000BH AJMP INTT0 ORG 0100H MAIN: . . . INTT0:. . . RETI END,AJMP MAIN,AJMP INTT0,中

11、断响应时间,响应时间-从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。 (1)最快响应时间 以外部中断为例,说明中断响应最短时间。 从查询中断请求信号到中断服务程序需要三个机器周期: 1个周期(查询)2个周期(长调用LCALL) (2)最长时间 若当前指令是RET、RETI和访问IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期: 2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。,中断处理,中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。 中断服务子程序一般包括两部分内容,一是保护

12、和恢复现场,二是处理中断源的请求。,入口地址,RETI,中断处理,INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL POP DPH POP ACC RETI,保护现场,恢复现场,所谓现场是指中断发生时单片微机中存储单元、寄存器、特殊功能寄存器中的数据或标志位等。在89C51中,现场一般包括累加器 A、工作寄存器 R0R7以及程序状态字PSW、DPTR等。 现场保护一定要位于中断服务程序的前面。,在结束中断服务程序返回断点处之前要恢复现场,与保护现场的方法相对应。而恢复断点也是由硬件电路自动实现的,中断服务程序的最后

13、一条指令必须是RETI指令。,中断返回,中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。 中断返回由专门的中断返回指令RETI来实现。,中断返回,RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。 特别注意:不能用RET指令代替RETI指令!,中断处理过程示意图,中断源发中断请求,中断响应条件 是否满足?,中断是否受阻?,把PC断点地址压入堆栈,相应中断源的中断入口地址送入PC,转向中断服务程序,N,Y,Y,N,由硬件 自动完成,关中断,保护现场,中断服务,开中断,关中断,恢复现场,开中

14、断,中断返回,断点地址由堆栈弹入PC,中断服务程序,中断请求的撤除,CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。 定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。 边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。 串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。,电平触发外部中断撤除方法较复杂。 因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0

15、或INT1引脚上的低电平。 CPU对INT0和INT1引脚的信号不能控制,需在引脚外加硬件(如D触发器)使其自动撤销外部中断请求。,电平激活的外部中断源中断标志的撤除,电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。例如,并行接口芯片8255的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。,边沿触发方式适合于以负脉冲形式输入的外部中断请求,如ADC0809的转换结束标志信号EOC为正脉冲,经反相后就可以作为80C51的中断输入。,外部中断源的中断触发方式适用范围,编写中断服务程序的技巧,在中断服务程序入口处置一条无条件转移指令 软件保护现场,以免现场信息丢失 CPU响应完中断后,硬件自动清0中断请求标志,但串行口中断除外 程序中可以禁止高级中断 PUSH和POP应成对使用 以RETI结尾,中断系统初始化,对IE、IP、TCON、SCON中的控制位进行赋值 开相应中断源的中断允许位 设定所有中断源的优先级 若为外部中断,应规定中断触发方式,练习: 请写出外部中断1为低电平的中断系统初始化程序。,解: 采用位操作指令:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号