第五章 中断系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章 中断系统
2.定时器/计数器0、1溢出中断
定时器/计数器计数溢出时,由硬件分别置TF0=1 和TF1=1,向CPU申请中断。CPU响应中断后, 由硬件自动清除TF0和TF1
第5章 中断系统
3.串行接口中断
串行接口的中断请求由发送或接收所引起。串行 口发送了一帧信息,便由硬件置TI=1,向CPU 申请中断。串行口接收了一帧信息,便由硬件 置RI=1,向CPU申请中断。CPU响应中断后必
Hale Waihona Puke Baidu
图5-2 中断嵌套流程
第5章 中断系统
第5章 中断系统
三、中断源 1. 外中断类即外部中断0和外部中断1。 中断请求信号分别由引脚 (P3.2)和 (P3.3)引入 外部中断请求有两种信号方式, 电平方式:当引脚上出现低电平时就向CPU申请中断,
CPU响应中断后要采取措施撤消中断请求信号,使引脚恢复高
这其实是CPU查询各中断的次序。
第5章 中断系统
习
题
分析以下几种中断优先级的排列顺序(由高到低)是否可能?并说明理 由。 (1)定时器T0溢出中断,定时器T1溢出中断,外部中断INT0*、外部 中断INT1*、串行口中断 (2)外部中断INT0*、定时器T1溢出中断、定时器T0溢出中断、外部 中断INT1*、串行口中断 (3)串行口中断、定时器T0溢出中断,外部中断INT0*、外部中断 INT1*、定时器T1溢出中断 (4)外部中断INT0*、定时器T1溢出中断、外部中断INT1*、定时器T0 溢出中断,串行口中断 (5)外部中断INT0*、外部中断INT1*、串行口中断、定时器T0溢出中 断,定时器T1溢出中断
第5章 中断系统
5.中断控制寄存器状态设置 这四个控制寄存器都是既可进行字节寻址又可进行位寻址 的。 初始化方式:字节操作指令,位操作指令。 例 在中断允许控制寄存器IE中,假定要开放外部中断0和定 时中断1,为: 字节操作指令: MOV IE,#89H 位操作指令: SETB EA SETB EX0 SETB ET1 其它各中断控制寄存器与此类似。
第5章 中断系统
(2)延时等待方式 发启动外设的信号;
延时等待一段时间;
用输入/输出指令进行数据交换。 延时等待方式的特点是将查询方式下循环判断的时间用软件延时来等待, CPU可用这段时间执行别的程序。但是,必须事先计算好外设从得 到启动信号到做好数据交换的时间。
第5章 中断系统
(3)中断方式 设置中断,开中断;
允许定时(或计数)中断
· ES——串行中断允许控制位 禁止串行中断 允许串行中断
单片机复位后(IE)=00H,中断系统处于禁止状态。 中断允许与禁止,就是中断的开放与关闭。
第5章 中断系统
4.中断优先级控制寄存器(IP)
IP寄存器地址B8H,位地址为BFH~B8H。 位地址 位符号 BF / 0 BE / 0 BD / 0 BC PS 0 BB BA B9 B8
(1)中断源有中断请求。
(2)中断允许寄存器IE相应位置1,CPU开户中 断。 (3)无同级或高级中断正在处理。 (4)当前的指令周期已经结束。
(5)若现行指令为RETI或访问IE或IP指令时, 执行完该指令且紧随着的另一条指令已执行完。
单片机在紧接着的下一个机器周期的S1期间响应 中断源的中断请求。
IT0(IT1)=0
电平方式(低电平有效)
此位由软件置1或清0。
第5章 中断系统
2.串行口控制寄存器(SCON)
该寄存器地址为98H,其位地址为9FH~98H。 位地址 9F 9E 9D 9C 9B 9A 99
TI
98
RI
位符号 SM0 SM1 SM2 REN TB8 RB8
· TI——串行口发送中断请求标志位 当发送完一帧串行数据后,由硬件置1,在转向中断服务 程序后,必须用软件清0。 · RI——串行口接收中断请求标志位 当接收完一帧串行数据后,由硬件置1;在转向中断服务程 序后,必须用软件清0。
第5章 中断系统
七、 中断技术应用举例
主程序和中断服务程序。 在编写主程序时应注意以下几点: (1) 主程序的起始地址。MCS-51单片机复位后, PC=0000H,而各中断源的入口地址为0003H~0023H。因此 ,在编写程序时应在0000H处使用一条转移指令,跳过上述
区域。主程序则以转移指令的目的地址作为其起始地址。
第5章 中断系统
ORG
LJMP ORG LJMP ORG
0000H
MAIN 0003H SUM 1000H
MAIN:
~~
第5章 中断系统
(2) 主程序的初始化内容。 MCS-51中断系统的功能是通过上述特殊功能寄存器进 行统一管理的,中断系统的初始化是指用户对这些特殊功能
寄存器中的各控制位进行赋值。
串行口控制寄存器。 SCON 中断允许控制寄存器 IE 中断优先控制寄存器 IP
第5章 中断系统
1.定时器控制寄存器(TCON) 该寄存器地址为88H,其位地址为8FH~88H。寄存器的内 容及位地址表示如下:
位地址
8F
8E
8D
8C
TR0
8B
IE1
8A
IT1
89
IE0
88
IT0
位符号 TF1
TR1 TF0
断的禁止或允许由各中断源的中断允许控制位进行设置。
第5章 中断系统
· EX0(EX1)——外部中断允许控制位 EX0(EX1)=0 禁止外中断
EX0(EX1)=1
ET0(ET1)=0
允许外中断
禁止定时(或计数)中断
· ET0(ET1)——定时/计数中断允许控制位
ET0(ET1)=1
ES=0 ES=1
第5章 中断系统
中断响应时间:
3~8个机器周期
第5章 中断系统
六、 中断请求的撤除
CPU响应中断请求后,在中断返回(执行RETI)前,必须撤 除请求,否则会错误的再次引起中断过程。 对于定时器/计数器0、1的中断请求以及跳变触发方式的外部 中断0、1,CPU在响应中断后用硬件清除了相应的中断请求 标志TF0、TF1、IE0、IE1,即自动撤除了中断请求。 对于串行接口中断,CPU响应中断后没有用硬件清除中断标 志位,必须用用户编制的中断服务程序来清除相应的中断 标志位。 对于电平触发的外部中断,由于CPU对INT0*、INT1*引脚没 有控制作用,也没有相应的中断请求标志位,因此需要外 接电路来清除中断请求信号。
初始化包括:相应中断源开中断;设定所涉及中断源的 中断优先级;若为外部中断,应规定其触发方式。
第5章 中断系统
例5-1 编写INT1*为低电平触发的初始化程序。 (1)采用位操作指令实现 CLR IT1 ;电平触发方式 SETB EA ;总中断允许 SETB EX1 ;设置外部中断1允许 SETB PX1 ;设置INT1*为高优先级断 (2)采用字节操作指令 ANL TCON,#0FBH MOV IE,#84H ORL IP,#04H
须由软件清除TI和RI。
第5章 中断系统
中断标志位
除外部中断电平触发方式外,其它各中断实际上 由标志位IE0、IE1、TF0、TF1、TI、RI置位引 起的。这些标志位除了由相应的硬件置位外, 还可以由软件置位。如果需要,可以由程序安
排产生中断。
第5章 中断系统
四、 中断控制
与中断控制有关的寄存器共四个, 定时器控制寄存器 TCON
第5章 中断系统
3.中断允许控制寄存器(IE) 该寄存器地址为A8H,其位地址为AFH~A8H。 位地 址 位符 号 AF EA 1 AE / 0 AD / 0 AC ES 0 AB AA A9 A8
ET1 EX1 ET0 EX0 1 0 0 1
· EA——中断允许总控制位 EA=0 E 中断总禁止,禁止所有中断。 EA=1 中断总允许。当中断总允许后,某个中
①
低优先级中断请求不能打断高优先级的中断服务;但高
优先级中断请求可以打断低优先级的中断服务,从而实现中断 嵌套。
②
③
如果一个中断请求已被响应,则同级的其它中断响应将
如果同级的多个中断请求同时出现,则按CPU设定的自
被禁止。 然优先级确定那个中断请求被响应。
第5章 中断系统
MCS—51同一优先级中断源的优先级排列顺序: 外部中断0→定时中断0→外部中断1→定时中断1→串行中断
作,转入处理所发生的事件,中断访问处理完后,再回到原来
被中断的地方,继续原来的工作的过程称为中断,如图5-1所示 。实现这种功能的部件称为中断系统(中断机构),产生中断
的请求源称为中断源。
第5章 中断系统
图5-1 中断流程
第5章 中断系统
二、 中断系统的功能 MCS-51的中断系统具有以下中断功能: 1. 能实现中断及返回。 2. 能实现中断优先级排队。 3. 能实现中断嵌套。
第5章 中断系统
5.1 输入、输出数据传送的控制方式
单片机与外设的数据交换方式通常有三种:查询方式、延时等待方式和中 断方式。 (1)查询方式 发启动外设的信号; 读入外设的状态或标志; 判断其是否已做好数据交换的准备; 如外设未做好准备,则一直查询; 外设准备好了,用输入/输出指令进行数据交换。 查询方式的优点是能够自动适配外设的工作速度,缺点是花费CPU时间较 多。在CPU不太忙的情况下可采用此方式。
PT1 PX1 PT0 PX0 0 0 0 1
.PX0——外部中断0优先级设定位 .PT0——定时中断0优先级设定位 .PX1——外部中断l优先级设定位 .PT1——定时中断1优先级设定位 .PS —— 串行中断优先级设定位 X =0, 优先级为低;X=1, 优先级为高。
第5章 中断系统
中断优先级是为中断嵌套服务的,MCS—51中断优先级的控 制原则是:
电平。 脉冲方式:当引脚上出现负跳变时,该负跳变经边沿检
测器使IE0或IE1置1,向CPU申请中断。CPU响应中断后由硬
件 自 动 清 除 IE0 和 IE1 。 CPU 在 每 个 机 器 周 期 采 样 INT0* 和 INT1*,为了保证检测到负跳变,引脚上的高电平与低电平至
少应各自保持一个机器周期。
当外设需要与单片机交换数据时,发中断请求;
单片机响应中断申请,执行中断服务程序,与外设交换数据。 中断方式下,可充分利用单片机的工作效率并适配外设的工作速度。因此, 中断方式是应用最多的一种I/O数据交换方式。但中断方式需要的硬 件资源较多。
第5章 中断系统
第三节 MCS-51单片机的中断系统
实时控制、故障自动处理时用到中断系统,计算机与 外围设备间传送数据及实现人机联系也常常用到中断系统。
第5章 中断系统
例1.8031芯片的INT0*、INT1*引脚分别输入压力 超限和温度超限中断请求信号,定时器/计数器0 做定时检测的实时时钟,用户规定的中断优先权 排列次序为: 压力超限 温度超限 定时检测 要求确定IE、IP的内容,以实现上述要求。
IE=87H,IP=05H
第5章 中断系统
5.5 中断响应 中断响应的 条件:
· (IE1)——外中断请求标志位 IE0
当CPU采样到
INT1 (或) 0端出现有效中断请求时,此位 INT
由硬件置1。在中断响应完成后转向中断服务时,再由硬件
自动清零。
第5章 中断系统
位地址
8F
8E
8D
8C TR0
8B IE1
8A IT1
89 IE0
88 IT0
位符号 TF1
TR1 TF0
· IT0(IT1)——外中断请求信号方式控制位 IT0(IT1)=1 脉冲方式(后沿负跳有效)
MCS-51中断系统的功能为:5个中断源;2个中断优先级, 从而可实现二级中断嵌套;每一个中断源的优先级可由程序 设定。与中断系统工作有关的SFR有IE、IP以及TCON。
第5章 中断系统
一、 中断的概念
计算机中的中断是指CPU在处理某件事情的时候,外部发生 了某一事件请求CPU迅速去处理,于是CPU暂时中断当前的工
第5章 中断系统
CPU响应中断后,由硬件执行如下功能: (1)根据中断源的优先级高低,使相应的优先级状态触发器 置1。
(2)保留断点,把程序计数器PC的当前值推入堆栈保存。
(3)清相应的中断请求标志位TF0、TF1、IE0、IE1 。 (4)把被响应的中断服务程序的入口地址送入PC,从而转入 相应的中断服务程序。 中断服务程序的最后一条指令必须是中断返回指令RETI。 CPU执行该指令时,先将相应的优先级状态触发器清零,然 后从堆栈中弹出栈顶的二个字节到PC,从而返回到断点。 有些中断请求的撤除也要由中断服务程序来实现。 现场数据的保护和弹出?