单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第4章 中断系统

上传人:E**** 文档编号:89491073 上传时间:2019-05-25 格式:PPT 页数:25 大小:953KB
返回 下载 相关 举报
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第4章 中断系统_第1页
第1页 / 共25页
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第4章 中断系统_第2页
第2页 / 共25页
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第4章 中断系统_第3页
第3页 / 共25页
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第4章 中断系统_第4页
第4页 / 共25页
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第4章 中断系统_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第4章 中断系统》由会员分享,可在线阅读,更多相关《单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第4章 中断系统(25页珍藏版)》请在金锄头文库上搜索。

1、,4.1.1 单片机系统访问外部设备的方式,任何计算机系统从根本上说都是一个“感知-动作“系统,即外部输入构成一定条件时,系统就会有对应的输出动作,单片机系统作为计算机系统的分支也不例外,不管应用于哪种场合,都是监测输入,并输出规定动作。作为单片机系统,它的输入输出通常工作在3种方式下:,2,4.1 MCS-51中断系统概述,1无条件传送方式 2查询传送方式 3中断传送方式,2019/5/25,3,4.1.2 MCS-51中断系统的功能,计算机系统中的断机制: 当外设提出中断请求时,将改变现有程序流程,转而为请求设备服务,处理完毕后再返回原来的流程中继续之前的工作。这种工作机制被称为中断,其工

2、作流程如图:,2019/5/25,4,4.1.2 MCS-51中断系统的功能,中断控制系统一般需要具备3个功能,以完成中断服务工作: (1)中断跳转和返回,当中断事件发生时,能转向中断服务程序工作,并保存当前工作状态,以便中断服务程序执行完毕返回后,原有的工作能够继续正常进行;,(2)多中断同时发生时,能对各个中断的优先权进行排队,决定先进行哪个中断服务; (3)中断的嵌套,即高级中断能中断低级中断源的处理,即正在处理某低级中断事件时,若高级中断发生,CPU能转向高级中断服务,优先服务高级中断后再回到低级中断中完成处理,中断与子程序调用的不同点, 子程序调用是固定的,专用指令,位置固定。, 中

3、断的执行是随机的,没有调用指令,任何位置。,中断工作方式的优点: 1)外设与CPU可并行工作 CPU与多个外设同时工作,互不干扰 2)实现了实时处理、实时控制 CPU能及时处理外部信息,如数据采集,监控 3)能及时处理随机故障,6,4.2.1 MCS-51中断系统结构,8051有5/6个中断源2个外部中断源INT0和INT1,2/3个片内定时器计数器溢出中断源,1个片内串行口中断源。 分为两级高级中断和低级中断。其中任何一个中断源的优先级均可由软件设定为高级或低级,能实现两级中断服务程序嵌套 。,4.2 MCS-51中断系统,4.2.2 MCS-51的中断源,7,1.中断源 (1) INT0外

4、部中断0请求,由P3.2引脚输入。可由用户设定为两种触发方式,(电平触发方式还是边沿触发方式)。一旦输入信号有效,则向CPU申请中断,并且将中断标志IE0置1。 (2) INT1外部中断1请求,由P3.3引脚输入。亦可由用户设定为电平触发方式还是边沿触发方式。一旦输人信号有效,则向CPU申请中断,并将中断标志IE1置1。,(3)片内定时器T0溢出中断请求。当定时器T0产生溢出时,T0中断请求标志TF0 置1,请求中断处理。 (4)片内定时器T1溢出中断请求。当定时器T1产生溢出时,T1中断请求标志TF1置l,请求中断处理。 (5)片内串行口发送接收中断请求。当通过串行口发送或接收完一帧串行数据

5、时,串行口中断请求标志TI或RI置1,请求中断处理。, 来源有输入输出设备、实时时钟、硬件故障等,4.2.2 MCS-51的中断源,2. 中断请求标志 MCS-51中,5个中断源的中断请求标志位位于控制寄存器TCON和串行控制寄存器SCON中。,第4章 MCS-51中断系统,8,1) IT0 (TCON.0):外部中断0触发方式控制位。 2) IE0 (TCON.1):外部中断0请求标志位。IE01,外部中断0向CPU申请中断。 3) IT1 (TCON.2): 外部中断1触发方式控制位。其操作功能与IT0类同。 4) 1E1 (TCON.3) :外部中断1请求标志位。其操作功能与IE0类同

6、5) TF0 (TCON.5):片内定时器T0溢出中断请求标志。 6) TF1 (TCON.7):片内定时器T1溢出中断请求标志,功能与TF0类同。,其中:TR0,TR1是定时器的启动控制位,4.2.2 MCS-51的中断源,(2)SCON的中断标志,第4章 MCS-51中断系统,9,SCON是串行口控制寄存器,与中断有关的是它的低两位 TI和RI。,RI:串口接收中断标志,响应中断时不能自动清除 TI:串口发送中断标志,响应中断时不能自动清除,2019/5/25,10,4.3 MCS-51中断控制,第4章 MCS-51中断系统,MCS-51单片机的中断控制主要实现中断的开放或屏蔽及中断优先级

7、的管理功能。中断控制的设定是通过中断允许寄存器IE和中断优先级寄存器IP的编程实现。,4.3.1 MCS-51中断控制寄存器,10,1.中断允许寄存器IE,2. 中断优先级寄存器IP,第4章 MCS-51中断系统,11,如果同一级的几个中断源同时向CPU申请中断,CPU便通过内部硬件查询逻辑按自然优先级决定响应顺序。各中断源按自然优先级由高到低的排列顺序见表所示。,同级中断内部自然优先级顺序,第4章 MCS-51中断系统,12,中断处理过程一般分为三个阶段,即中断响应、中断处理和中断返回。,4.3.2 响应中断的条件及过程,第4章 MCS-51中断系统,14,1. 中断响应 CPU响应中断的基

8、本条件如下: 1) 有中断源发出中断申请; 2) 中断总允许位EA1,即CPU开放中断; 3) 请求中断的中断源的中断允许位置1,即该中断源可以向CPU发中断申请。,但在下列任何一种情况存在时,中断响应会被阻止。 CPU正在执行同级或高一级的中断服务程序; 现行机器周期不是正在执行的指令的最后一个机器周期,即现行指令完成前不响应任何中断请求; 当前正在执行的是中断返回指令RETI或访问寄存器IE或IP的指令,也就是说,在执行RETI或是访问IE、IP的指令后,至少需要再执行一条其他指令,才会响应中断请求。,1. 中断响应,第4章 MCS-51中断系统,15,用户编程时一般这个入口处会放置一条转

9、移指令,让CPU能跳转到中断服务程序所在位置执行。因此,中断发生后,CPU读取中断入口处的转移指令执行,并自动把断点地址(PC值)压入堆栈保护起来,然后去执行中断服务程序。,中断响应过程: 如果中断响应的条件满足,且不存在中断封锁的情况,则CPU将响应中断,进入中断响应周期。CPU在中断响应周期要完成下列操作: 1)根据优先级置相应的触发器为1 2)保护断点,把PC当前值入栈保护 3)硬件清除相应的中断标志位 4)将相应的中断服务程序的入口地址给PC 5)转到执行中断服务程序,2. 中断服务与返回 中断服务程序从入口地址开始执行。一直到返回指令“RETI“为止,这个过程称为中断服务。在编写中断

10、服务程序时加注意的几点: (1)因各入口地址之间只相隔8个字节,一般的中断服务程序是存放不下的。所以通常在中断入口地址单元处存放一条无条件转移指令,这样就可使中断服务程序灵活地安排在64KB程序存储器的任何空间。 (2)若要在执行当前中断程序时禁止更高优先级中断,可先用软件关闭总中断,或禁止某中断源中断,在中断返回前再开放中断。 (3)保护现场和恢复现场。,第4章 MCS-51中断系统,16,3. 中断请求的撤除 CPU响应中断请求后,在中断返回(RETI)前,该中断请求标识一般必须撤除,否则会引起另外一次中断。清0方式有3种:,第4章 MCS-51中断系统,17,1)硬件自动清0 有定时器溢

11、出中断标志TF0、TF1 边沿触发的外部中断标志IE0、IE1 2)软件清0 有串行口中断TI、RI 3)软硬件结合清0 有低电平触发的外部中断标志位IE0、IE1,如用RET代RETI,能弹出断点返回,但不能清优先级状态触发器,会继续认为CPU还在响应中断,而屏蔽新的中断请求,中断程序的设计,通常包括两个部分: (1) 主程序中的中断系统初始化 1)设置中断系统特殊功能寄存器(例中断源的触发方式); 2)设置中断优先极; 3)设置中断允许寄存器(开中断); 4)中断服务程序的前期初始化(例如入口参数等)。 (2) 中断服务程序的设计 一般中断服务程序的结构包括:现场保护,处理程序,恢复现场,

12、返回等。由于各中断服务程序的入口地址之间只有8个字节的空间,因此一般在中断入口处要安排一转移指令。,4.4.1 中断程序设计的一般方法,第4章 MCS-51中断系统,18,2019/5/25,19,4.4.1 中断程序设计的一般方法,第4章 MCS-51中断系统,例4-1:如图所示电路,设外部中断信号为负脉冲,引入外部中断信号到 。要求每中断一次,从P1.4P1.7输入外部开关状态,然后从P1.0P1.3输出。,4.4.2 MCS-51中断程序设计举例,第4章 MCS-51中断系统,20,主程序如下: ORG 0000H SJMP MAIN ORG 0003H AJMP INT0 ;转入服务程

13、序 ORG 0030H MAIN: SETB IT0 ;设INT0为边沿触发 SETB EX0 ;允许INT0中断 SETB EA ;开放总允许 SJMP $ 中断服务程序: INT0: ORL P1, #0F0H MOV A, P1 ;从P1口输入开关状态 SWAP A ;交换高、低4位 MOV P1, A ;输出 RETI,第4章 MCS-51中断系统,21,4.4.2 MCS-51中断程序设计举例,例4-2:利用一个外部中断源输入端扩展多个外部中断源服务程序的设计。 当外部中断源多于两个时,可采取硬件申请与软件查询相结合的方法,如图所示。把多个中断源通过“线或“或与门引到外部中断源输入端

14、,同时又把信息连到某I/O口,便于软件进一步逐个查询。,第4章 MCS-51中断系统,22,4.4.2 MCS-51中断程序设计举例,第4章 MCS-51中断系统,23,主程序如下: ORG 0000H ; AJMP MAIN ;转主程序 ORG 0003H ;INT0中断源入口地址 AJMP ZINT0 ;转INT0中断服务程序 MAIN: SETB IT0 ;置INT0的下降沿触发方式 SETB EX0 ;允许INT0中断 SETB EA ;CPU开中断 ;主程序的其他部分,4.4.2 MCS-51中断程序设计举例,ZINT0: PUSH PSW ;中断服务程序 PUSH ACC JNB P1.0,ZLOOP0 ;查询中断源 NEXT1: JNB P1.1,ZLOOP1 NEXT2: JNB P1.2,ZLOOP2 NEXT3: JNB P1.3,ZLOOP3 LJMP NEXT ZLOOP0: ;0号中断源服务程序段 LJMP NEXT ZLOOP1: ;1号中断源服务程序段 LJMP NEXT ZLOOP2: ;2号中断源服务程序段 LJMP NEXT ZLOOP3: ;3号中断源服务程序段 NEXT: POP ACC ;返回 POP PSW ;系统源程序结束 RETI,第4章 MCS-51中断系统,24,课间休息,

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

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

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