51单片机学习-第六课--Interrupt

上传人:woxinch****an2018 文档编号:44696130 上传时间:2018-06-14 格式:PPT 页数:28 大小:929KB
返回 下载 相关 举报
51单片机学习-第六课--Interrupt_第1页
第1页 / 共28页
51单片机学习-第六课--Interrupt_第2页
第2页 / 共28页
51单片机学习-第六课--Interrupt_第3页
第3页 / 共28页
51单片机学习-第六课--Interrupt_第4页
第4页 / 共28页
51单片机学习-第六课--Interrupt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《51单片机学习-第六课--Interrupt》由会员分享,可在线阅读,更多相关《51单片机学习-第六课--Interrupt(28页珍藏版)》请在金锄头文库上搜索。

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

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

3、052有 6 个) ,2个优先级,可实现二级中断嵌套 。Date65.1.2 80C51的中断源 一、中断源Date71、 (P3.2)。可由IT0(TCON.0)选择选择 其为为 低电电平有效还还是下降沿有效。当CPU检测检测 到P3.2 引脚上出现现有效的中断信号时时,中断标标志 IE0(TCON.1)置1,向CPU申请请中断。Date82、(P3.3)。可由IT1(TCON.2)选择选择 其为为低电电 平有效还还是下降沿有效。当CPU检测检测 到P3.3引脚 上出现现有效的中断信号时时,中断标标志 IE1(TCON.3)置1,向CPU申请请中断。Date93、TF0(TCON.5),片内

4、定时时/计计数器T0 溢出中断请请求标标志。当定时时/计计数器T0发发 生溢出时时,置位TF0,并向CPU申请请中断。Date104、TF1(TCON.7),片内定时时/计计数器T1 溢出中断请请求标标志。当定时时/计计数器T1发发 生溢出时时,置位TF1,并向CPU申请请中断。Date115、RI(SCON.0)或TI(SCON.1),串行口 中断请请求标标志。当串行口接收完一帧帧串行数 据时时置位RI或当串行口发发送完一帧帧串行数据 时时置位TI,向CPU申请请中断。 Date12二、中断请求标志 1、TCON的中断标志IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为

5、电平触发方式。 当IT0=1时,为边沿触发方式(下降沿有效)。 IE0(TCON.1),外部中断0中断请求标志位。 IT1(TCON.2),外部中断1触发方式控制位。 IE1(TCON.3),外部中断1中断请求标志位。 TF0(TCON.5),定时/计数器T0溢出中断请求标志位。 TF1(TCON.7),定时/计数器T1溢出中断请求标志位。 Date132、SCON的中断 标志RI(SCON.0),串行口接收中断标志位。当允 许串行口接收数据时,每接收完一个串行帧,由 硬件置位RI。同样,RI必须由软件清除。 TI(SCON.1),串行口发送中断标志位。当 CPU将一个发送数据写入串行口发送缓

6、冲器时, 就启动了发送过程。每发送完一个串行帧,由硬 件置位TI。CPU响应中断时,不能自动清除TI, TI必须由软件清除。 Date14一、中断允许控制CPU对中断系统所有中断以及某个中断源的开放和 屏蔽是由中断允许寄存器IE控制的。5.1.3 80C51中断的控 制 vEX0(IE.0),外部中断0允许位;vET0(IE.1),定时/计数器T0中断允许位; vEX1(IE.2),外部中断0允许位;vET1(IE.3),定时/计数器T1中断允许位;vES(IE.4),串行口中断允许位;vEA (IE.7), CPU中断允许(总允许)位 。Date15二、中断优先级控制80C51单片机有两个中

7、断优先级,即可实现 二级中断服务嵌套。每个中断源的中断优先级都是由 中断优先级寄存器IP中的相应位的状态来规定的 。vPX0(IP.0),外部中断0优先级设定位;vPT0(IP.1),定时/计数器T0优先级设定位;vPX1(IP.2),外部中断0优先级设定位;vPT1(IP.3),定时/计数器T1优先级设定位;vPS (IP.4),串行口优先级设定位;vPT2 (IP.5) ,定时/计数器T2优先级设定位。Date16vPX0(IPH.0),外部中断0优先级设定位;vPT0(IPH.1),定时/计数器T0优先级设定位;vPX1(IPH.2),外部中断0优先级设定位;vPT1(IPH.3),定时

8、/计数器T1优先级设定位;vPS (IPH.4),串行口优先级设定位;vPT2 (IPH.5) ,定时/计数器T2优先级设定位。而80C52单片机有四个中断优先级,即可实现四级中 断服务嵌套。每个中断源的中断优先级由中断优先 级寄存器IP和IPH中的相应位的状态来规定的 。Date17同一优先级中的中断申请不止一个时,则有 中断优先权排队问题。同一优先级的中断优先权排 队,由中断系统硬件确定的自然优先级形成,其排 列如所示:Date18v设置52单片机的4个中断源,使他们的优顺 序为T1,INT1,INT0,T0.IPH = 0X08;PT1 = 1;IP = 0X40;PX1 = 1;Dat

9、e1980C51单片机的中断优先级有三条原则 :vCPU同时接收到几个中断时,首先响应优先级别 最高的中断请求。v正在进行的中断过程不能被新的同级或低优先级 的中断请求所中断。v正在进行的低优先级中断服务,能被高优先级中 断请求所中断。为了实现上述后两条原则,中断系统内部设有 两个用户不能寻址的优先级状态触发器。其中一个 置1,表示正在响应高优先级的中断,它将阻断后来 所有的中断请求;另一个置1,表示正在响应低优先 级中断,它将阻断后来所有的低优先级中断请求。Date205.2 80C51单片机中断处理过程 一、中断响应条件v 中断源有中断请求;v 此中断源的中断允许位为1;v CPU开中断(

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

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

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

13、,而中断服务程序则要由用 户编写程序来完成。 Date255.2.3 中断返回RETI指令的具体功能是:v将中断响应时压入堆栈保存的断点地址从 栈顶弹出送回PC,CPU从原来中断的地方继 续执行程序;v 将相应中断优先级状态触发器清0,通知 中断系统,中断服务程序已执行完毕。注意,不能用RET指令代替RETI指令。 在中断服务程序中PUSH指令与POP指令必须 成对使用,否则不能正确返回断点 。Date26若外部中断定义为电平触发方式,中断标志 位的状态随CPU在每个机器周期采样到的外部中 断输入引脚的电平变化而变化,这样能提高CPU 对外部中断请求的响应速度。但外部中断源若有 请求,必须把有

14、效的低电平保持到请求获得响应 时为止,不然就会漏掉;而在中断服务程序结束 之前,中断源又必须撤消其有效的低电平,否则 中断返回之后将再次产生中断。电平触发方式适合于外部中断输入以低电平 输入且中断服务程序能清除外部中断请求源的情况 。例如,并行接口芯片8255的中断请求线在接受 读或写操作后即被复位,因此,以其去请求电平触 发方式的中断比较方便。Date27若外部中断定义为边沿触发方式,在相继连续 的两次采样中,一个周期采样到外部中断输入为高 电平,下一个周期采样到为低电平,则在IE0或IE1 中将锁存一个逻辑1。即便是CPU暂时不能响应, 中断申请标志也不会丢失,直到CPU响应此中断时 才清零。这样,为保证下降沿能被可靠地采样到, 外中断引脚上的高低电平(负脉冲的宽度)均至少 要保持一个机器周期(若晶振为12MHz时,为1微 秒)。边沿触发方式适合于以负脉冲形式输入的外部 中断请求,如ADC0809的转换结束标志信号EOC 为正脉冲,经反相后就可以作为80C51的中断输入 。Date28

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

当前位置:首页 > 中学教育 > 高中教育

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