中断系统 4

上传人:今*** 文档编号:106693382 上传时间:2019-10-15 格式:PPT 页数:41 大小:828.50KB
返回 下载 相关 举报
中断系统 4_第1页
第1页 / 共41页
中断系统 4_第2页
第2页 / 共41页
中断系统 4_第3页
第3页 / 共41页
中断系统 4_第4页
第4页 / 共41页
中断系统 4_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《中断系统 4》由会员分享,可在线阅读,更多相关《中断系统 4(41页珍藏版)》请在金锄头文库上搜索。

1、甘肃冶金高级技术学院,单片机接口技术及应用,第四章 中断系统,4.1 中 断 概 述,2019/10/15,甘肃冶金高级技术学院,3,一、中断的概念,计算机系统根据需要,可以中断正常的工作程序,改去处理外部需要处理的事件。当外部事件处理完后再回到正常的 工作程序中。,2019/10/15,甘肃冶金高级技术学院,4,中断系统是计算机的重要指标之一。,某人看书 执行主程序 日常事务 电话铃响 中断信号如INT=0 中断请求 暂停看书 暂停执行主程序 中断响应 书中作记号 当前PC入栈 保护断点 电话谈话 执行中断程序 中断服务 继续看书 返回主程序 中断返回,日常生活中的中断与计算机中断的比较:,

2、2019/10/15,甘肃冶金高级技术学院,5,中断源:能够打断当前程序的外部事件。 中断优先级和中断优先权 中断嵌套。,2019/10/15,甘肃冶金高级技术学院,6,子程序是预先安排好的,使用软件调用; 中断是随机发生的,硬件主动执行。,中断与子程序的区别,2019/10/15,甘肃冶金高级技术学院,7,二、中断的作用,实现高速CPU与慢速外设之间的配合; 实现实时处理; 实现故障的紧急处理; 便于人机联系。,2019/10/15,甘肃冶金高级技术学院,8,三、中断处理过程,中断请求保护断点中断响应中断返回(恢复断点) 使用堆栈保护现场和恢复现场。 开中断、关中断:是否允许中断嵌套,防止重

3、复中断,现场处理时关中断。 中断服务程序的编写。 中断返回:RETI 不同于RET。,第四章 中断系统,4.2 MCS-51单片机的中断系统,2019/10/15,甘肃冶金高级技术学院,10,MCS-51中断系统内部结构,2019/10/15,甘肃冶金高级技术学院,11,一、中断源及其中断服务程序入口地址,1、 MCS-51单片机有5个中断源,2个中断优先级; 它的中断处理程序可实现两级嵌套,有较强的中断处理能力; 单片机对中断系统的管理是通过相关的专用寄存器来实现的。,2019/10/15,甘肃冶金高级技术学院,12,2019/10/15,甘肃冶金高级技术学院,13,2、中断入口地址: 外中

4、断0(INT0):0003H 定时器0(T0) :000BH 外中断1(INT1):0013H 定时器1(T1) :001BH 串行口(RI/TI) :0023H,2019/10/15,甘肃冶金高级技术学院,14,二、与中断有关的SFR,2019/10/15,甘肃冶金高级技术学院,15,1、中断允许控制寄存器IE,字节地址为0A8H 位地址是0A8H0AFH(IE.0IE.7) 各位为“1”表示允许中断;为“0”表示禁止中断。,2019/10/15,甘肃冶金高级技术学院,16,1、中断允许控制寄存器IE,EA 中断允许的总控制位,IE.7 EX0 外部中断0 (INT0)允许控制位,IE.0

5、EX1 外部中断1 (INT1)允许控制位,IE.2 ET0 定时计数器0(T0)允许控制位,IE.1 ET1 定时计数器1(T1)允许控制位,IE.3 ES 串行口(RI/TI)允许控制位,IE.4,2019/10/15,甘肃冶金高级技术学院,17,1、中断允许控制寄存器IE,IE复位值是00H,即总中断开关关闭。禁止所有中断。 单片机在响应中断后不能自动关中断,若想禁止中断嵌套,必须用软件关闭。 软件关闭可以用字节寻址也可位寻址。 例:开放外部中断0: MOV IE , #81H 或 MOV 0A8H , #81H 或 SETB EA SETB EX0,2019/10/15,甘肃冶金高级技

6、术学院,18,2、定时器控制寄存器TCON,字节地址为88H 位地址是88H8FH(TCON.0TCON.7) TR0、TR1、TFO、TF1已学。,2019/10/15,甘肃冶金高级技术学院,19,2、定时器控制寄存器TCON,IT0:外中断0(INT0)请求信号方式控制位(ICON.0) IT0=0,低电平有效,即低电平引起中断; IT0=1,负跳变有效,即高电平跳变到低电平时引起中断。 IT1:外中断1(INT1)请求信号方式控制位(ICON.2) 作用同IT0,2019/10/15,甘肃冶金高级技术学院,20,2、定时器控制寄存器TCON,IE0:外中断0申请标志位(TCON.1) I

7、E1:外中断1申请标志位(TCON.3) TF0:定时计数器T0溢出标志位(TCON.5) TF1:定时计数器T1溢出标志位(TCON.7) 以上各位等于1时即申请中断。在中断响应后转向中断服务程序时,均有硬件自动清0,2019/10/15,甘肃冶金高级技术学院,21,3、串行口控制寄存器SCON,字节地址为98H 位地址为98H9FH,SCON.0SCON.7 与串行中断有关的是RI和TI(SCON.0、SCON.1) RI(SCON.0):串行口接收中断申请标志位,有软件置0 TI(SCON.1):串行口发送中断申请标志,有软件置0,2019/10/15,甘肃冶金高级技术学院,22,有两个

8、物理上独立的串行数据缓冲器SBUF,发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入,故他们都用SBUF表示,共用一个地址99H。,2019/10/15,甘肃冶金高级技术学院,23,注: RI、TI的中断入口都是0023H,所以CPU响应后转入0023H开始执行服务程序,首先必须判断是RI中断还是TI中断,然后进行相应服务。在返回主程序之前必须用软件将RI或TI清除,否则会出现一次请求多次响应的错误。,2019/10/15,甘肃冶金高级技术学院,24,4、中断优先级寄存器IP,字节地址为B8H 位地址为B8HBCH,IP.0IP.4 定义了高、低两个优先级,可实现二级中断嵌套。,20

9、19/10/15,甘肃冶金高级技术学院,25,4、中断优先级寄存器IP,中断优先级:有软件对IP设置 PX0:外中断0 IP.0 PT0:定时器T0 IP.1 PX1:外中断1 IP.2 PT1:定时器T1 IP.3 PS:串行口中断 IP.4 各位设置为1时为高优先级,各位设置为0时为低优先级。,2019/10/15,甘肃冶金高级技术学院,26,中断优先权: 当5个中断源在同一个优先级的情况下,由硬件顺序排列了优先权: INT0 T0 INT1 T1 串行口,2019/10/15,甘肃冶金高级技术学院,27,在开放中断的条件下(IE),使用中断优先级的原则:,非中断服务程序可被任一个中断申请

10、所中断; 若干中断同时申请中断时,CPU先选择优先级高的进行中断响应; CPU同时接收到几个优先级相同的中断申请时,先响应中断优先权高的; 低优先级可被高优先级的中断申请所中断,但同级不能嵌套。,2019/10/15,甘肃冶金高级技术学院,28,2019/10/15,甘肃冶金高级技术学院,29,三、MCS-51单片机对中断的响应,1、响应条件 前提: 中断源有中断申请; 此中断源的中断允许位为“1”; CPU开中断,即总开关EA1。,2019/10/15,甘肃冶金高级技术学院,30,CPU在每个机器周期的S6都对中断源进行检测,并对其排列顺序。 在满足下列条件时才响应中断: 无同级或更高级中断

11、正在服务; 当前指令周期已经结束; 若现行指令为RETI或访问IE、IP指令时,执行该指令以及紧接着的下一条指令也执行完成。 CPU将在下一个机器周期S1响应中断。若中断申请已置1,但因上述条件封锁未被立即响应,且当封锁解除后申请已复位,则中断不再被响应。,2019/10/15,甘肃冶金高级技术学院,31,2、中断响应时间 从产生外部中断请求到开始执行中断服务程序的第一条指令的时间。,2019/10/15,甘肃冶金高级技术学院,32,最短需要三个周期:一个用于查询中断请求标志位,且这个周期恰好是指令的最后一个周期,则在这个机器周期结束后,中断请求被CPU 响应,产生一条硬件自动生成的长调用指令

12、LCALL,以使CPU转到相应的服务程序入口。这条指令需两个机器周期,故最少需三个机器周期。 最长需8个机器周期:若在中断查询时正好开始执行RET、RETI或访问IE、IP,则需当前指令完成后再继续执行一条指令,才进行中断响应。RET、RETI用2个机器周期MUL、DIV 4个机器周期LCALL 2个机器周期8个机器周期,2019/10/15,甘肃冶金高级技术学院,33,3、外中断的采样:INT0、INT1 只有外中断源才有采样问题 MCS-51单片机在每个机器周期的S5P2对外中断请求引脚(P3.2、P3.3)采样,若有中断请求,则置位IE0和IE1。 由于每个机器周期只采样一次,故为确保采

13、样,在P3.2、P3.3引脚上的信号电平至少保持1个机器周期。,2019/10/15,甘肃冶金高级技术学院,34,电平触发方式:ICON.0=IT0=0(或ICON.2=IT1=0)时 若CPU采样到INT0或INT1为低电平(该电平来自外部硬件,CPU无法控制)即可申请中断。在CPU响应前引脚必须保持低电平,但若低电平保持时间过长,在执行了一次中断程序后仍未撤销,还会引起中断。故在采用电平触发情况时,在这次中断服务程序执行完之前,引脚上必须变成高电平。 一般很少使用电平触发方式,2019/10/15,甘肃冶金高级技术学院,35,边沿触发方式: ICON.0=IT0=1(或ICON.2=IT1

14、=1)时 CPU在S5P2采样,如果在相邻的两次采样中,第一次采到引脚1,第二次采样引脚0则置位IE0或IE1,申请中断。IE0和IE1状态可一直保持,直到CPU响应中断。进入中断服务程序后,IE0和IE1有硬件自动清0,2019/10/15,甘肃冶金高级技术学院,36,4、中断请求的撤除 CPU响应中断后,应及时撤除中断请求,否则会引起重复中断。 定时器中断申请标志位(TF0和TF1)以及外中断的边沿触发方式产生的中断(IE0和IE1)CPU可自动撤除。但外中断的电平触发方式和串行口中断必须通过外部硬件或软件撤除。,2019/10/15,甘肃冶金高级技术学院,37,5、堆栈的应用:保护断点、

15、保护现场 在中断服务程序开始,就需要保护现场,由PUSH入栈;在中断服务程序最后,由POP 出栈。,2019/10/15,甘肃冶金高级技术学院,38,注:,入栈、出栈的顺序相反; 入栈和出栈数目相同; PUSH和POP必须成对出现; 设为堆栈区的字节单元不能再做数据缓冲区; SP初始值为07H,在初始化程序必须对SP置初值; 在发生中断嵌套时,为防止入栈错误,可以:主程序只使用工作寄存器0区、第一个中断服务程序使用1区、第二个中断服务程序使用2区,2019/10/15,甘肃冶金高级技术学院,39,6、中断服务程序入口地址 由于各个入口地址只相差8个字节单元,一般难以存放一个完整的中断服务程序,

16、因此常在中断入口地址处存放一条无条件转移指令LJMP addr16,使服务程序转到后面充足的地址单元。,2019/10/15,甘肃冶金高级技术学院,40,7、中断响应全过程,中断申请准备: 考虑:使用哪个中断源、允许哪些中断嵌套、堆栈深度; 初始化程序:赋值SFR,如清楚中断标志位、置外中断方式、开中断、决定优先级。 中断申请的提出: 标志位的状态可以保存,但自动查询结果不被保存。 响应中断的条件,优先级、优先权的问题; CPU响应中断后: 自动操作:PC入栈,中断入口地址送PC;清除中断申请标志位(只针对定时器、外中断的边沿触发方式) 软件操作:给IE赋值以确定是否允许中断嵌套;入栈保护现场 2个中断申请时:不允许中断嵌套时,只有第一个中断完成后返回原断点,再执行一条指令才会形成第二个断点,转而执行第二个中断服务程序。 中断返回:恢复现场;控制中断开关IE;RETI,2019/10/15,甘肃冶金高级技术学院,41,四、应用举例:,设计一个程序,实时显示INT0引脚上出现

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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