4单片机中断系统.ppt
文本预览下载声明
单片机原理 任课教师: 朱奇光 E-MAIL:zhu7880@ysu.edu.cn 第四章 MCS-51的中断系统4.1 中断的概念 4.2 MCS-51中断系统的结构 4.3 中断请求源 4.4 中断控制4.5 中断响应的条件、过程及时间4.6 中断请求的撤销 4.7 中断服务程序的设计4.8 多外部中断源系统设计 4.1 中断的概念 1、 中断 计算机暂时中止正在执行的主程序,转去执行中断服务程序,并在中断服务程序执行完了之后能自动回到原主程序处继续执行,这个过程叫做“中断”。 中断需要解决两个主要问题:一是如何从主程序转到中断服务程序;二是如何从中断服务程序返回主程序。 4.1 中断的概念 大体说来,采用中断系统改善了计算机的性能,主要表现在以下几个方面: (1)有效地解决了快速CPU与慢速外设之间的矛盾,可使CPU与外设并行工作,大大提高了工作效率。 (2)可以及时处理控制系统中许多随机产生的参数与信息,即计算机具有实时处理的能力,从而提高了控制系统的性能。 (3)使系统具备了处理故障的能力,提高了系统自身的可靠性。 4.1 中断的概念 4.1 中断的概念 4.2 MCS-51 中断系统的结构 4.3 中断请求源 4.3 中断请求源 4.3 中断请求源 4.3 中断请求源 4.3 中断请求源 4.4 中断控制 一、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。 4.4 中断控制 二、中断优先级控制 8051单片机有两个中断优先级,可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的 。 4.4 中断控制 4.5 中断响应的条件、过程及时间 1、中断响应的条件 一个中断源的中断请求被响应,需满足以下条件: (1) 该中断源发出请求(中断允许寄存器IE相应位置1); (2)CPU开中断(即中断中允许位EA=1); (3)无同级或高级中断正在服务; (4)现行指令执行到最后1个机器周期且已结束; (5)若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且紧随其后的另1条指令也已执行完。 单片机便在紧接着的下1个机器周期的S1期间响应中断。否则,中断响应被封锁。 4.5 中断响应的条件、过程及时间 4.5 中断响应的条件、过程及时间 各中断源所对应的中断服务程序的入口地址如下: 中断源 入口地址 外部中断 0003H 定时器T0中断 000BH 外部中断 0013H 定时器T1中断 001BH 串行口中断 0023H 4.5 中断响应的条件、过程及时间 CPU从上面相应的地址开始执行中断服务程序直到遇到1条RETI指令为止。RETI指令表示中断服务程序的结束。 CPU执行该指令,一方面清除中断响应时所置位的优先级有效触发器;另一方面从堆栈栈顶弹出断点地址送入程序计数器PC,从而返回主程序。若用户在中断服务程序的开始安排了保护现场指令(一般均为相应寄存器内容入栈或更换工作寄存器区),则在RETI指令前应有恢复现场指令(相应寄存器内容出栈或换回原工作寄存器区)。 4.5 中断响应的条件、过程及时间 3、中断响应时间 所谓中断响应时间是指从查询中断请求标志位到转入中断服务程序入口地址所需的机器周期数(对单一中断源而言)。 响应中断最短需要3个机器周期。若CPU查询中断请求标志的周期正好是执行1条指令的最后1个机器周期,则不需等待就可以响应。而响应中断执行1条长调用指令LCALL需要2个机器周期,加上查询的1个机器周期,一共需要3个机器周期才开始执行中断服务程序。最长为8个机器周期,若CPU查询中断请求标志时,刚好开始执行RETI或访问IE或IP的指令,则需要把当前指令执行完再继续执行一条指令,假设此指令为MUL或DIV,则一共需要2+4+2个机器周期。 4.6 中断请求的撤销 中断请求的撤除 CPU响应中断请求后
显示全部