第5章 中断系统
MCS-51系列单片机的中断系统
大连理工大学出版社
第5章 中断
当断不断必受其乱
第5章 中断系统
5.1 概述 MCS-51系列单片机的中断系统 5.2 MCS-51系列单片机的中断系统 5.3 中断程序设计方法
第5 章
中断系统
中断控制是单片机最重要的技术之一, 实时控制及人机交互等应用都是通过中 断实现的。 本章主要介绍中断的基本概念、MCS-51 系列单片机单片机的中断机制及其简单 应用。
5.2.2中断控制 5.2.2中断控制
1.中断允许 MCS-51系列单片机中断系统通过中断允许控制 寄存器IE实现开中断和关中断的功能。 (1)IE寄存器 IE寄存器由一个中断允许总控制位和各中断源 的中断允许控制位构成,从而进行两级中断允 许控制。IE寄存器的各位定义如下:
5.2.2中断控制 IE寄存器
5.2.2中断控制 IE寄存器
EX1(IE.2)——外中断1的中断允许控 制位。中断总允许时,EX1=0,禁止外中 断1中断;EX1=1,允许外中断1中断。 ET1(IE.3)——定时器T1的中断允许控 制位。中断总允许时,EX1=0,禁止T1中 断;ET1=1,允许T1中断。
5.2.2中断控制 5.2.2中断控制 IE寄存器
5.2.1中断源和中断标志
当MCS-51系列单片机的外中断源以脉冲方式触 发时,负脉冲有效。CPU在一个机器周期采样到 INT0(或者 INT1 )引脚上为高电平,在接下 来的一个机器周期采样到INT0(或者INT1)引 脚上是低电平,即出现了下降沿的跳变(负脉 冲)时,就认为是外中断0(或者外中断1)的 一个有效的中断请求信号。因为两次检测的间 隔时间为一个机器周期,负脉冲对应的高低电 平持续时间都应至少维持一个机器周期,从而 保证CPU能够检测到电平的跳变。
单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统
5.2.5 中断允许控制
例5-1 假设允许INT0、INT1、T0、T1中断,试 设置IE的值。 (2)汇编语言程序 按字节操作: MOV IE,#8FH 按位操作: SETB EX0 ;允许外部中断0中断 SETB ET0 ;允许定时器/计数器0中断 SETB EX1 ;允许外部中断1中断 SETB ET1 ;开定时器/计数器1中断 SETB EA ;开总中断控制位
IP (B8H)
D7 —
D6 D5 D4 D3 D2 D1 D0 — PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2的中断优先级控制位 PT2设置1则T2为高优先级,PT2设置0则T2为 低优先级。 后面各位均是如此,设置1为高优先级,设置0 为低优先级,不再一一赘述。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器1的中断优先级控制位。 PX1:外部中断1的中断优先级控制位。 PT0:定时器/计数器0的中断优先级控制位。 PX0:外部中断0的中断优先级控制位。
5.2.4 中断请求标志
4.定时器/计数器T2中断请求标志
T2CON D7 D6 D5 (C8H) TF2 EXF2 D4 D3 D2 D1 D0
EXF2:定时器/计数器2的外部触发中断请求标志 位。T2以自动重装或外部捕获方式定时、计数,当 T2EX(P1.1)引脚出现负跳变时,TF2由硬件置1, 向CPU请求中断,CPU响应中断后,EXF2不会被硬 件清0,需要在程序中以软件方式清0。
5.2.3 外中断触发方式
TCON格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0=1,外中断0为下降沿触发 CPU在每一个机器周期的S5P2期间对P3.2引 脚采样,若上一个机器周期检测为高电平,紧挨着 的下一个机器周期为低电平,则使IE0置1。 IT1:外中断1触发方式控制位。功能同IT0
第五章-AT89S51中断系统
5.1 中断概述
5.2 中断系统结构 5.3 中断的应用及编程
§5.1 中断概述
➢ 什么叫中断?
在日常生活中:中断即中途打断某一正在进行 的工作,而去处理另外的紧急事件,待处理完 后,再继续原来的工作。 在计算机中:计算机在运行某个进程的过程 中,由于其他原因,有必要中止正在执行的进 程,而去执行引起中断的事件进程,待处理完 毕后,再回到被中止进程的被打断的地方继续 执行,这种情况称为“中断”。
(5)ET0:定时/计数器T0的溢出中断允许位 0:禁止T0溢出中断; 1:允许T0溢出中断。
(6)EX0:外部中断0中断允许位。 0:禁止外部中断0中断; 1:允许外部中断0中断。
2.中断优先级控制寄存器IP
IP D7 D6 D5 D4 D3 D2 D1 D0 PS PT1 PX1 PT0 PX0
2.中断响应过程
中断响应过程包括保护断点和将程序转 向中断服务程序的入口地址。具体过程 如下:
首先,中断系统通过硬件自动生成长调 用指令(LCALL),该指令将自动把断点 地址压入堆栈保护。
然后,将对应的中断入口地址装入PC, 使程序转向该中断入口地址,执行中断 服务程序。
单片机的中断为固定入口式中断,即一响
1:高优先级中断 0:低优先级中断 (1)PS —串行口中断优先级控制位 (2)PT1—定时器T1中断优先级控制位 (3)PX1—外部中断1中断优先级控制位 (4)PT0—定时器T0中断优先级控制位 (5)PX0—外部中断0中断优先级控制位
❖为什么要有中断优先级?
CPU同一时间只能响应一个中断请求。 若同时来了两个或两个以上中断请求,
EA
ES ET1 EX1 ET0 EX0
第5章-MCS-51单片机中断系统-PPT
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
第五章 MCS-51的中断系统
第5章MCS-51单片机的中断系统【例5-1】设允许外部中断0和串行口中断,禁止其它中断源的中断申请。
试根据假设条件设置IE的相应值。
解:⑴用位操作指令来编写如下程序段:SETB EX0 ;允许外部中断0中断SETB ES ;允许串行口中断CLR EX1 ;禁止外部中断1中断CLR ET0 ;禁止定时器/计数器T0中断CLR ET1 ;禁止定时器/计数器T1中断SETB EA ;CPU开中断⑵用字节操作指令来编写:MOV IE, #91H【例5-2】设置中断优先级控制寄存器IP的初始值,使得8031的2个外中断请求为高优先级,其它中断请求为低优先级。
解:⑴用位操作指令SETB PX0;2个外中断为高优先级SETB PX1CLR PS ;串行口、2个定时器为低优先级中断CLR PT0CLR PT1⑵用字节操作指令MOV IP,#05H【例5-3】假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。
在主程序中可编写如下程序段:SETB E A ;EA位置“1”,CPU开中断SETB E X0 ;EX0位置“1”,允许外部中断0产生中断SETB P X0 ;PX0位置“1”,外部中断0为高级中断SETB I T0 ;IT0位置“1”,外部中断0为跳沿触发方式【例5-4】根据图5-9的中断服务程序流程,编写出中断服务程序。
假设现场保护只需要将PSW寄存器和累加器A的内容压人堆栈中保护起来。
解一个典型的中断服务程序如下:INT: CLR E A ;CPU关中断PUSH PSW ;现场保护PUSH ASETB E A ;CPU开中断中断处理程序段CLR E A ;CPU关中断POP A ;现场恢复POP PSWSETB E A ; CPU开中断RETI ;中断返回,恢复断点上述程序有几点需要说明的是:⑴本例的现场保护假设仅仅涉及到PSW和A的内容,如果还有其它的需要保护的内容,只需要在相应的位置再加几条PUSH和POP指令即可。
第5章 MCS-51单片机的中断系统
(2)实现实时处理
在实时控制中,现场的参数、信息是不断变化的。 有了中断功能,外界的这些变化量可随时向CPU 发出中断请求,CPU可以马上响应加以处理。
(3)故障处理
单片机运行过程中,出现一些故障时(如掉电、 存储出错、运算溢出等),有了中断功能,单片 机就能自行处理而不必停机。 外界的中断请求是随机的,单片机响应请求后要 转到中断服务程序,与调用子程序相类似,需要 注意对现场进行保护。
ORG 0100H
MAIN: …;
第五章 MCS-51单片机的中断系统
ORG 1000H INT1:PUSH ACC PUSH DPH PUSH DPL PUSH R0 PUSH R1 … POP R1 POP R0 POP DPL POP DPH POP ACC RETI
第五章 MCS-51单片机的中断系统
5.3 中断处理过程
中断响应
中断处理
中断返回
第五章 MCS-51单片机的中断系统
5.3.1 中断响应
1. CPU响应中断的基本条件 (1)有中断源提出中断请求; (2)中断没有被禁止; (3)没有正在响应的同级或更高优先级的中断; (4)当前的指令周期已经结束;(也就是说,中 断申请时,正在执行的这条指令完成后,才会响 应中断请求) (5)若当前指令为RETI或访问IE、IP指令, CPU在执行完当前指令后,要再执行一条指令才 会响应中断请求。
第五章 MCS-51单片机的中断系统
2.中断响应过程 (1)根据响应的中断源的中断优先级,使相应的优 先级状态触发器置1; (2)清除相应的中断请求标志位(串行口中断请求 标志RI和TI除外);
(3)把当前程序计数器PC的内容压入堆栈;
(4)把被响应的中断源所对应的中断服务程序的入 口地址送入PC,从而转入相应的中断服务程序。 CPU响应中断请求后,在中断返回(执行RETI)前, 中断请求必须被清除,即中断标志位=0,否则会再 一次引起中断响应。
第5章 中断系统
例7 如图,试编写程序实现以下功能:系统初始上电时,四 个发光二极管都熄灭,每当按下图中开关时,四个发光二极 管就能反映出与其对应的四个开关状态,开关闭合则对应二 极管亮,开关断开则对应二极管熄灭。
ORG 0000H AJMP MAIN ORG 0003H LJMP INT ORG 0030H MAIN:CLR IT0 SETB EX0 SETB EA SJMP $ ORG 0200H INT:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A RETI
第 5章
MCS-51系列单片机 的中断系统
本章介绍的主要内容
★ 中断的基本概念 ★ 中断的系统结构 ★ 中断的响应 ★ 中断的应用编程
5.1 什么是中断
一、中断
中断是指CPU在执行程序的过程中,当某种 特殊状态出现时,CPU暂停现在正在执行的程序, 转向去对引起特殊状态的事件进行处理,处理完毕 后再返回继续执行原来程序的过程。 简单地说,中断就是在运行一段程序的过程中 由于某种原因临时插入了另一段程序的运行。
1. 开中断总控开关EA,置位中断源的中断允许位。 2. 对外部中断INT0、INT1,应选择中断触发方式。 3. 多个中断源中断,应设定中断优先级,预置IP。
例5 若系统需要响应定时/计数器0中断和由下降沿信号引起 的外部中断0中断,且若这两个中断源同时提出中断请求则先 响应内部中断,试编写程序,对相关寄存器进行初始化。
EA 中断 总控 允/ 禁
-
ET2
ES
ET1
EX1
ET0
EX0
不 用
T2 串行口 T1 INT1 T0 INT0 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁
第5章AT89S51单片机的中断系统PPT课件
时, 由硬件清“0”IE0 (边沿触发方式)。
IT0:外部中断0触发方式控制位,其意义和功能与IT1类似。
7
2.串行口中断 SCON为串行口控制寄存器,字节地址为98H。SCON的低二位 锁存串行口的接收中断和发送中断标志,其格式如下:
1 0
1
0
0
图5-2 AT89S51中断系统示意图
高 级 中 断
低 级 中 断
5
1.定时器/计数器中断锁存寄存器TCON TCON为定时器/计数器T0、T1的控制寄存器,同时也锁存T0、T1的 溢出中断源和外部请求中断源等,与中断源有关的位如下:
TCON D 7 位 地 址T F 1
8FH
D 6
D 5 T F 0 8DH
1 0
1 TI
中断标志位 TCON
外部 中断0 ( IE0)
定时 器0
( TF0)
外部 中断1 ( IE1)
定时 器1
( TF1)
TX
串 TI
行
+
RX
口 RI
SCON
中断允许寄存器 IE
中断优先寄存器 IP
PX0 EX0
PT0 ET0
PX1 EX1
PT1 ET1
PS
ES
EA
源允许 总允许
1
0
1
0
1
1 0
9
3.中断允许控制 AT89S51中断允许和禁止由寄存器控制。中断允许寄存器(
IE)的字节地址为A8H,其格式如下:
位地址 AFH AEH 符 号 EA --
ADH ACH ABH AAH A9H A8H ET2 ES ET1 EX1 ET0 EX0
单片机原理及其接口技术--第5章 MCS-51单片机中断系统
下来,这称为保护现场,由用户自己编程完成。
保护断点和现场后即可执行中断服务程序,执行完毕, CPU由中断服务程序返回主程序。 主目录 上一页 下一页 结 束
15
……
响应
单片机原理及其接口技术
主程序A
断点
返回
中断返回过程如下:
RETI 中断服务程序B
首先恢复原保留寄存器的内容和标志位的状态,这称为恢 复现场,由用户编程完成。 然后,再加返回指令RETI,RETI指令的功能是恢复PC值, 使CPU返回断点,这称为恢复断点。 恢复现场和断点后,CPU将继续执行原主程序,中断响应 过程到此为止。 主目录 上一页 下一页 结 束
主目录 上一页 下一页 结 束
单片机原理及其接口技术
5.2.2 中断标志与中断控制
1.中断标志
(1) 定时器控制寄存器TCON
SFR之一,锁存中断请求标志,字 节地址88H,可位寻址。
其结构、位名称、位地址及其功能 如表5.1所示。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 表5.1 TCON的结构、位名称、位地址和功能
单片机原理及其接口技术
第5章 MCS-51单片机中断系统
教学目标 5.1 中断概述 5.2 MCS-51中断系统 5.3 中断系统的应用 本章小结 思考题与习题主目录上一页来自下一页结束
单片机原理及其接口技术
教学目标
通过本章教学,要求达到以下目标: 1.熟记MCS-51 5个中断源及其中断入口地址。 2.熟悉TCON、SCON、IE、IP的结构、控制 作用和设置方法。 3.理解MCS-51中断响应过程。 4.了解中断响应等待时间。 5.理解中断请求撤除情况和应对措施。 6.熟悉中断优先控制的方法。 7.掌握中断应用程序的编制方法。
第五章 中断系统
四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。
第5章 STC89C52单片机中断系统
精选可编辑ppt
22
表5-6 RC/RD+ 系列8051单片机中断特殊功能寄存器
精选可编辑ppt
23
一、 中断允许控制寄存器
• 1. IE寄存器 • IE寄存器的字节地址为A8H,可位寻址,
D7 D6 D5 D4 D3 D2 D1 D0
IE
EA ─ ET2 ES ET1 EX1 ET0 EX0
(IE)=0000 0101,因总中断允许为0,所有中断都 被屏蔽。
精选可编辑ppt
26
【例1】 若允许片内3个定时器/计数器中断,并禁止其他中断源的 中断请求,请编写设置IE的相应程序段。
(1)用位操作指令
CLR ES CLR EX0 CLR EX1 SETB ET0 SETB ET1 SETB ET2 SETB EA
17
3. T2CON
• 方式寄存器T2CON(定时/计数器2的控制寄存 器)字节地址:C8H,可位寻址
T2CON 位地址
D7 D6 D5 D4 D3 D2 D1 D0
TF2 - -
--
---
CFH CEH CDH CCH CBH CAH C9H C8H
精选可编辑ppt
18
T2CON TF2 - - - - - - -
精选可编辑ppt
28
XICON ─ EX3 IE3 IT3 ─ EX2 IE2 IT2
(1)EX2—附加的外部中断2中断允许位, EX2=1中断允许,EX2=0中断禁止。
(2)EX3—附加的外部中断3中断允许位, EX3=1中断允许,EX3=0中断禁止。
注意: XICON寄存器中D7、D3功能在本章本节中断优先级
(2)用字节操作指令
第5章8086的中断系统
在第二个INTA信号有效,8259A送中断类型码 (初始化时写入8259A)到数据总线,由CPU启 动中断过程,同时撤消中断请求信号.
二、不可屏蔽中断NMI
发生“灾难性”事件(如电源掉电、存储器读 写出错、总线奇偶出错或协处理器中断请求 等),NMI=1,无法禁止(不受IF影响), 优先级比INTR高,且是边沿触发(只要有效 宽度大于2T即可),中断类型号为2,CPU响 应NMI,不发INTA,不要求外设提供中断向 量,自动到08H单元取入口地址。
5.3.2 外部中断
一、可屏蔽中断INTR 处理过程: 1)接口发请求,若屏蔽位(可用命令写入)=0, 通常由可编程中断控制器8259A PIC驱动,INTR=1,
一直保持到收到响应信号或撤消请求为止. 若IF=0(关中断,可由CLI复位),CPU不响应,继
续处理下一条指令;
若IF=1(开中断,可由STI置位),CPU响应, 2)执行两个INTA总线周期,发两个INTA信号,时序
专用5个(内部中断):在某些特定情况下, 由CPU内硬件自动提供类型号0~4;
保留27个(软件中断):由内部软件的中断 指令产生,供系统开发用。
用户定义224个(外部中断):由外部设备 硬件启动。
可以利用保留的中断类型码扩充自己需要的 中断功能,只要在向量表中加入对应的中断 向量即可。
由系统提供或用户定义,CPU执行后,立即产生中 断,转向n规定的中断服务程序去,入口地址在初 始化时已预置在中断向量表中。
四、断点中断——类型3(单字节指令)
CPU执行INT 3 (简写INT)时,产生中断, 进行特殊处理,如显示寄存器、存储单元的内 容,以检查程序运行的结果是否正确。在调试 时把断点插入程序中的关键之处,命令如-G CS: nnnnH。
第5章MCS-51的中断系统
例:写出INT1为低电平触发的中断系统初始化程序
SETB EA; SETB EX1 SETB PX1 CLR IT1
二、 中断服务程序
1、编写中断程序应注意以下几点: ① 为了要跳到用户设计的中断服务程序,在相应入口 地址安排一条跳转指令; ② 在中断服务程序的末尾,安排一条返回指令RETI; ③ 由于在响应中断时,CPU只自动保护断点,所以 CPU的其他现场的保护和恢复也必须由用户在中断服 务程序中安排。
1、T0/T1中断撤除:自动清除TF0 TF1
2、TX/RX中断撤除:不能自动撤除,必须软件清“0” CLR RI CLR TI ANL SCON ,#0FCH
3、外部中断请求的撤除
对于负边沿触发的外部中断,CPU在响应中断后是 用硬件自动清除中断请求标志IE0或IE1。
电平触发时,虽然自动清除中断请求标志IE0或IE1。但 不及时撤除低电平的话会重复响应中断,必须采取措施。
中断允许寄存器IE的单元地址是A8H,各控制位也可 位寻址,故既可以用字节传送指令也可以用位操作指 令来对各个中断请求加以控制。 例:开放T/C1的溢出中断
MOV IE,#88H;
SETB EA SETB ET1
二、 对中断优先级的控制
MCS-51具有两个中断优先级,可由软件设置每个中断 源为高优先级中断或低优先级中断,可实现二级中断 嵌套。
可在中断服务程序开 头安排如下程序: INSVR:ANL P1 ,#0FEHORL Fra bibliotek1,#01H …
RETI END
§4 中断系统的初始化及应用
一、中断系统的初始化 中断初始化是指用户对TCON、SCON、IE等特殊功能 寄存器中的各控制位进行赋值。
中断系统的初始化步骤: 1、 CPU开中断或关中断 2、 某中断源中断请求的允许或禁止(屏蔽) 3、 设定所用中断的中断优先级 4、若为外部中断,则应规定低电平还是负边沿的中断 触发方式
第5章 STC15F2K60S2单片机中断系统
5.3 中断允许及其优先级管理
STC15F2K60S2单片机的中断允许控制及优先级控制 分别由中断允许寄存器IE、IE2、INT_CLKO(AUXR2)以 及中断优先级控制寄存器IP、IP2等控制。
5.3.1 中断允许寄存器 STC15F2K60S2单片机中的各中断源是否开放或禁止,
是由内部的中断允许寄存器IE、IE2、INT_CLKO控制。中 断采用两级控制方式,即总中断和各中断源分别独立控制。
精品课件
➢TF1:定时/计数器T1的溢出中断标志位。当启动T1计数 后,从初值开始计数,当产生溢出后由硬件将TF1置1,向 CPU请求中断,一直保持到CPU响应中断时,才由硬件清0, TF1也可由软件清0。 ➢TR1:定时/计数器T1的运行控制位。当TR1为1 时运行, 为0时停止运行。 ➢TF0:定时/计数器T0溢出中断标志。其功能与TF1类似。 ➢TR0:定时/计数器T0的运行控制位。其功能与TR1类似。
精品课件
➢TI:串行口1发送中断标志。串行口1以方式0发送时,每 当发送完8位数据,由硬件置1;若以方式1、方式2或方式3 发送时,在发送停止位的开始时置1。TI为1表示串行口已发 送一帧数据,串行口1正在向CPU申请中断(发送中断)。值得 注意的是,CPU响应发送中断请求,转向执行中断服务程序 时并不将TI清0,TI必须由用户在中断服务程序中清0。
精品课件
STC15F2K60S2 单片机中断系统结
构示意图
精品课件
5.2.2 中断源标志寄存器
1. TCON寄存器 TCON寄存器为定时/计数器T0、T1的控制寄存器,该
寄存器包括了T0和T1的溢出中断请求标志位TF0和TF1,也 包括了外部中断0(INT0)和外部中断1(INT1)的中断请 求标志位IE0和IE1,以及外部中断0和外部中断1的中断源的 触发方式。TCON寄存器的字节地址为88H,可位寻址,其 格式如下:
单片机讲义(第五章MCS-51的中断系统)
5.6.2 跳沿触发方式(下降沿触发方式)
如果相继连续两次采样,一个机器周期采样到外部中断输入为高, 下一个机器周期采样为低,则置1中断申请触发器,直到CPU响应此 中断时,该标志才清0。这样不会丢失中断,输入的负脉冲宽度至少保
持12个时钟周期(若晶振频率为6 MHZ,则为2μs),才能被CPU采样到。
(2)用字节操作指令
MOV IP,#05H ;000 00101 或者用: MOV 0B8H,#05H ;B8H为IP寄存器的字节地址
5.5 外部中断的响应时间
从外部中断请求有效(外部中断请求标志置1)到转 向中断入口地址所需要的响应时间。 外部中断的最短响应时间为3个机器周期。其中中断
请求标志位查询占1个机器周期,而这个机器周期恰好是处于指令 的最后一个机器周期,在这个机器周期结束后,中断即被响应, CPU接着执行1条硬件子程序调用指令 LCALL以转到相应的中断服 务程序入口,则需要2个机器周期。
外部中断响应的最长时间为8个机器周期。执行RETI或
是访问IE或IP的指令,最长需要2个机器周期。而接着再执行的1条 指令,按最长的指令(乘法指令MUL和除法指令DIV)来算,需4 个机器周期。再加上硬件子程序调用指令LCALL的执行,需要2个 机器周期,所以,外部中断响应最长时间为8个机器周期。
5.3.3中断允许寄存器IE
IE中各位的功能如下:
(l)EA——中断允许总控制位 EA=0,CPU屏蔽所有的中断请求(CPU关中 断); EA=1,CPU开放所有中断(CPU开中断)。 (2)ES——串行口中断允许位 ES=0,禁止串行口发送/接收中断; ES=1,允许串行口发送/接收中断。 (3) ET1——定时器/计数器T1的溢出中断允许 位 ET1= 0,禁止T1计数溢出中断; ET1= 1,允许T1计数溢出中断。
第五章中断系统1
第五章 中断系统5. 1 输入/输出数据的传输控制方式一、输入/输出的一般概念1.引言输入/输出是微机系统与外部设备进行信息交换的过程。
输入/输出设备称为外部设备,与存储器相比,外部设备有其本身的特点,存储器较为标准,而外部设备则比较复杂,性能的离散性比较大,不同的外部设备,其结构方式不同,有机械式、电动式、电子式等;输入/输出的信号类型也不相同,有数字信号,也有模拟信号;有电信号,也有非电信号;输入/输出信息的速率也相差很大。
因此,CPU与外部设备之间的信息交换技术比较复杂。
CPU与外设之间的信息交换,是通过它们之间接口电路中的I/O端口来进行的,由于同一个外部设备与CPU之间所要传送的信息类型不同,方向不同,作用也不一样(例如数据信息、状态信息、控制信息、输入/输出等),所以接口电路中可以设置多个端口来分别处理这些不同的信息。
2.输入/输出端口的寻址方式微机系统采用总线结构形式,即通过一组总线来连接组成系统的各个功能部件(包括CPU、内存、I/O端口),CPU、内存、I/O端口之间的信息交换都是通过总线来进行的,如何区分不同的内存单元和I/O 端口,是输入/输出寻址方式所要讨论解决的问题。
根据微机系统的不同,输入/输出的寻址方式通常有两种形式:(1).存储器对应的输入、输出寻址方式这种方式又称为存储器统一编址寻址方式或存储器映象寻址方式。
方法:把外设的一个端口与存储器的一个单元作同等对待,每一个I/O 端口都有一个确定的端口地址,CPU与I/O端口之间的信息交换,与存储单元的读写过程一样,内存单元与I/O端口的不同,只在于它们具有不同的的地址。
优点:①CPU对I/O端口的读/写操作可以使用全部存储器的读/写操作指令,也可以用对存储器的不同寻址方式来对I/O端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。
②内存与外设地址的分配,可以用统一的分布图。
③不需要专门的输入、输出操作指令。
缺点:1 内存与I/O端口统一编址时,在地址总线根数一定的情况下,使系统中实际可以直2 接寻址的内存单元数减少。
第5章89C51的中断系统
当系统复位时,IP寄存器被清0,将5个中 断源均设置为低优先级中断。 如果同一级的几个中断源同时向CPU申请 中断,CPU便通过内部硬件查询逻辑按自 然优先级决定响应顺序。
SETB EA ; 总中断允许 SETB EX1 ;INT1允许 SETB ET1 ;T1允许 SETB ES ;TI 和RI允许 SETB PS ; TI 和RI高优先级别 SETB PT1 ;T1高优先级别 SETB PX0 ;INT0高优先级别 则: ______________________可以被响应. A. CPU 正在执行INT1中断,T1请求. B. CPU正在执行TF1中断, TI请求. C. CPU正在执行INT1中断, INT0请求 . D. CPU正执行主程序, T1出现请求
对事件整个处理过程称为中断处理(或中断 服务)。 能够实现中断处理的功能部件称为中断系统。 产生中断请求的源称为中断请求源。 中断源向CPU提出的处理请求称为中断请求 (或中断申请)。 CPU完成中断服务程序,继续执行被中断的 主程序称为中断返回。
5.2 MCS-51中断系统的结构
外部输入中断源INT1(P3.3),中断请求标志为IE1 定时器T0的溢出,中断请求标志为TF0 定时器T1的溢出,中断请求标志为TF1 串行口发送或接收中断源,中断请求标志为发送中断
TI或接收中断RI
5.2.2 中断控制
1.中断请求标志寄存器 •分别由TCON和SCON的相应位锁定 TCON为定时器/计数器的控制寄存器,字节地址为88H
第5章 MCS-51的中断系统
5.1 概述
所谓中断,是指CPU正在处理某些事务的 时候,外部又发生了某一事件,请求CPU 及时处理。于是,CPU暂时中断当前的工 作,转而处理所发生的事件。处理完毕, 再回到原来被中断的地方,继续原来的工 作。这样的过程,称为中断。
第5章 AT89S51的中断系统
5.3 中断允许与中断优先级的控制
中断允许控制由中断允许寄存器 控制 中断允许控制由中断允许寄存器IE控制。 控制由中断允许寄存器 控制。 中断优先级控制由中断优先级寄存器 控制 中断优先级控制由中断优先级寄存器IP控制。 控制由中断优先级寄存器 控制。
5.3.1 中断允许寄存器IE
AT89S51的对各中断源的开放或屏蔽,是由中断允许寄存 的对各中断源的开放或屏蔽, 的对各中断源的开放或屏蔽 器IE控制的。 控制的。 控制的 IE字节地址为 字节地址为A8H,可位寻址,格式如图5-5所示。 所示。 字节地址为 ,可位寻址,格式如图 所示
13
2. SCON寄存器 寄存器 串行口控制寄存器,字节地址为98H,可位寻址 可位寻址。 可位寻址 低二位锁存串行口的发送中断和接收中断的中断请求标志 TI和RI,格式如图5-4所示 图 所示 所示。
图5-4
SCON中的中断请求标志位 中的中断请求标志位
各标志位的功能: (1)TI—串行口的发送中断请求标志 位。每发送完一帧串行数据后,TI自动置“1”。TI标志必须 必须 由软件清“ ” 由软件清“0”。 (2)RI—串行口接收中断请求标志位。串 ) 行口接收完一个串行数据帧,硬件自动使RI中断请求标志置 “1”。必须在中断服务程序中用指令对RI清“0”。
学习要求
• 熟悉中断的概念和中断的功能。 熟悉中断的概念和中断的功能。 • 掌握中断系统的硬件结构,5个中断源的含义。 掌握中断系统的硬件结构, 个中断源的含义 个中断源的含义。 • 熟练掌握各中断控制寄存器各控制位功能及标志位的含义 • 掌握中断处理过程及中断嵌套的概念及应用
5.1 AT89S51中断技术概述 AT89S51中断技术概述
中断技术主要用于实时监测与控制,要求单片机能及 中断技术主要用于实时监测与控制,要求单片机能及 实时监测与控制 时地响应中断请求源提出的服务请求,并作出快速响应、 时地响应中断请求源提出的服务请求,并作出快速响应、 及时处理。这是由片内的中断系统来实现的。 及时处理。这是由片内的中断系统来实现的。 发出中断请求时 如果中断请求被允许, 当中断请求源发出中断请求 当中断请求源发出中断请求时,如果中断请求被允许, 单片机暂时中止当前正在执行的主程序,转到中断服务处 单片机暂时中止当前正在执行的主程序, 理程序处理中断服务请求。 理程序处理中断服务请求。 中断服务处理程序处理完中断服务请求后,再回到原 中断服务处理程序处理完中断服务请求后, 来被中止的程序之处(断点),继续执行被中断的主程序。 来被中止的程序之处(断点),继续执行被中断的主程序。 ),继续执行被中断的主程序 图5-1为整个中断响应和处理过程。 为整个中断响应和处理过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机与外设交换信息时,慢速工作的外设与快速工作的CPU之间形成一个很大的矛盾。 例如:计算机与打印机相连接,CPU处理和传送字符的速度是微秒级的,而打印机打印字符 的速度远比CPU慢。CPU不得不花大量时间等待和查询打印机打印字符。中断就是为解决这 类问题而提出的。
02
02
Hale Waihona Puke 023.中断允许控制寄存器IE CPU对中断系统的所有中断以及某个中断源的开放和屏蔽是由中断允许控制寄存器IE控制 的。IE的状态可通过程序由软件设定。某位设定为1,相应的中断源中断允许;某位设定为0, 相应的中断源中断屏蔽。CPU复位时,IE各位清0,禁止所有中断。IE的结构、位名称和位地址 见表5-3。
03
4.中断返回 中断服务程序的最后一条指令必须是中断返回指令RETI。RETI指令能使CPU结束中断服务程序的执 行,返回到曾经被中断过的程序处,继续执行主程序。RETI指令的具体功能如下。 (1)恢复断点地址 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序。 注意,不能用RET指令代替RETI指令,因为用RET指令虽然也能控制PC返回到原来中断的地方,但 RET指令没有清0中断优先级状态触发器的功能,中断控制系统会认为中断仍在进行,其后果是与此同级 的中断请求将不被响应。 若用户在中断服务程序中进行了入栈操作,则在RETI指令执行前应进行相应的出栈操作,使栈顶指 针SP与保护断点后的值相同,即在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确 返回断点。 (2)开放同级和低级中断 上述中断响应过程大部分操作是CPU自动完成的,用户只需要了解来龙去脉。而用户需要做的事情是 编制中断服务程序,并在此之前完成中断初始化,即设置堆栈,定义外中断触发方式,定义中断优先级, 开放中断等。
02
4.中断优先级控制寄存器IP 8051系列单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先 级都是由中断优先级寄存器IP中的相应位状态定义。IP的状态由软件设定,某位为1,则相应的 中断源为高优先级中断;某位为0,则相应的中断源为低优先级中断。单片机复位时,IP各位清 0,各中断源处于低优先级中断。IP的结构、位名称和位地址见表5-4。
03
3.中断服务 中断服务程序包括以下几个部分。 (1)保护现场 在中断服务程序中,通常会涉及一些特殊功能寄存器,如ACC、PSW和DPTR等,而这些特殊功能寄 存器中断前的数据在中断返回后还要用到,若在中断服务程序中被改变,返回主程序后将会出错。因此, 要求把这些特殊功能寄存器中断前的数据保存起来,待中断返回时恢复。 所谓保护现场,是指把断点处有关寄存器的内容压入堆栈保护,以便中断返回时恢复。“有关”是指 中断返回时需要恢复,不需要恢复就是无关。通常有关是指中断程序中要用到的寄存器及地址。 (2)执行中断服务程序 中断服务程序要做的事情是中断源请求中断的目的,是CPU完成中断处理的主体。 (3)恢复现场 与保护现场相对应,中断返回前,应将进入中断服务程序时保护的有关寄存器及地址的内容从堆栈中 弹出,送回到原有关寄存器,以便返回断点后继续执行原来的程序。需要指出的是,对于8051系列单片 机,利用堆栈保护和恢复现场需要遵循先进后出、后进先出的原则,特别是硬件堆栈与程序入栈共用时更 要注意。 以上3部分,中断服务程序是中断源请求中断的目的,用程序指令实现相应的操作要求。保护现场和 恢复现场是相对应的,但不是必须的。需要保护就保护,不需要或无保护内容时则不需要保护现场。
05
具体使用时需要注意以为问题: • 中断函数不能进行参数传递,如果中断函数中含有任何参数申明都将导致编译出错,同时 也没有返回值,一般定义中断程序的类型为void。 • 函数名的选择与普通的函数一样,编译器是根据中断号而不是函数名来识别中断源的,但 为了程序的可读性,可根据中断源来定义函数名,例如定时器TO的中断服程序可以这样定义: • void timer0(void) interrupt 1 • 中断服务函数必须有interrupt m属性; • 进入中断服务函数,ACC、B、PSW会进栈,根据需要,DPL、DPH也可能进栈,如果没 有using n属性,R0~R7也可能进栈,否则不进栈; • 在中断服务函数中调用其它函数,被调函数最好设置为可重入的,因为中断是随机的,有 可能中断服务函数所调用的函数出现嵌套调用; • 不能够直接调用中断服务函数。
本章要点: • 中断的基本概念 • 8051中断系统的结构 • 单片机中断系统 • 8051中断的使用 • 中断服务程序
CONTNTS
01
所谓中断,是指计算机在执行某一程序的过程中,由于计算机系统内部或外部的某种原因, CPU必须暂时停止现行程序的执行,而自动转去执行预先安排好的处理该事件的服务子程序, 待处理结束之后,再回来继续执行被暂停程序的过程。实现这种中断功能的硬件系统和软件系 统统称为中断系统。运行过程如图5-1所示。
01
CONTNTS
02
1.中断源 中断源是指向CPU发出中断请求的信号来源,中断源可以人为设定,也可以响应突发性随 机事件。8051系列单片机有5个中断源,其中2个是外部中断源,3个是内部中断源。 (1)INT 0 —外部中断0,从P3.2引脚输入的中断请求。 (2)INT1 —外部中断1,从P3.3引脚输入的中断请求。 (3)T0—定时/计数器T0,定时器0溢出发出中断请求,计数器0从外部P3.4引脚输入计数 脉冲中断请求。 (4)T1—定时/计数器T1,定时器1溢出发出中断请求,计数器1从外部P3.5引脚输入计数 脉冲中断请求。 (5)串行口中断,包括串行接收中断RI和串行发送中断TI。
03
2)中断响应操作 在满足中断响应条件的前提下,进入中断响应,CPU响应中断后,进行下列操作。 • 保护断点地址 CPU响应中断是中断原来执行的程序,转而去执行中断服务程序。中断服务程序执行完毕后,还要返 回原来的中断点,继续执行原来的程序。因此,必须把中断点的PC地址记下来,以便正确返回。那么中 断断点的PC地址如何保存,保存在哪里?具体做法是:执行一条硬件LCALL指令,把程序计数器PC的内 容压入堆栈保存(注意是硬件入栈,不是程序入栈),再把相应的中断服务程序入口地址送入PC。 • 撤除该中断源的中断请求标志 CPU是在执行每一条指令的最后一个机器周期查询各中断请求标志位是否置位,响应中断后,必须将 其撤除,否则,中断返回后将重复响应该中断而出错。对于80C5l来讲,有的中断请求标志在CPU响应中 断后,由CPU硬件自动撤除,但有的中断请求标志必须由用户在软件程序中对该中断标志清0。 • 关闭同级中断 在一种中断响应后,同一优先级的中断即被暂时屏蔽。待中断返回时再重新自动开启。 • 将相应中断的入口地址送入PC 8051系列单片机5个中断源的中断入口地址如下。 INT0: 0003H T0: 000BH INT1: 0013H T1: 001BH 串行口:0023BH
01
(2)中断响应与返回:CPU采集到中断请求信号后,怎样转向特定的中断服务子程序及执 行完中断服务子程序怎样返回被中断的程序继续执行。中断响应与返回的过程中涉及CPU响应 中断的条件、现场保护、现场恢复等问题。
(3)优先级控制:一个计算机应用系统,特别是计算机实时测控系统,往往有多个中断源, 各中断源的重要程度又有轻重缓急之分。与人处理问题的思路一样,希望重要紧急的事件优先 处理,而且如果当前处于正在处理某个事件的过程中,有更重要、更紧急的事件到来,就应当 暂停当前事件的处理,转去处理新事件。这就是中断系统优先级控制所要解决的问题。中断优 先级控制形成了中断嵌套。8051系列单片机中断系统原理及组成如图5-2所示。a
01
1.中断的作用 中断技术的引入解决了CPU与外设的速度匹配问题,提高了CPU的工作效率,主要表现在: (1)具有分时处理功能:在正常状态下,CPU执行主程序,当外设需要CPU为它服务时, 就向CPU发出中断请求,CPU就响应中断,执行相应的中断服务程序,处理完毕后,CPU又返 回主程序正常运行。如果有几个外设同时发出中断请求,多项任务同时要处理,就会出现资源 竞争的现象。中断技术就是为了解决资源竞争的一个可行的方法。从而实现计算机与外部设备 间传送数据及实现人机对话。 (2)具有实时控制功能:在工业实时控制中,由于现场的参数或信息随时会出现变化并要 求CPU能够极快地响应并作出处理,因此如果没有中断技术就很难实现。有了中断以后,可以 将这些参数或信息设定为中断请求信号向CPU提出中断请求,从而使CPU能及时对参数或信息 的变化作出相应的处理,达到实现实时控制的目的。 (3)故障自动处理功能:当故障发生时,故障源作为中断源向CPU发出中断请求,从而使 CPU马上执行相应的故障服务程序,保证计算机不会因故障而造成严重的后果。
CONTNTS
03
中断处理过程分四步:中断请求、中断响应、中断服务和 中断返回。如图5-4所示为中断处理流程图。
1.中断请求 当中断源要求CPU为它服务时,必须发出一个中断请求信 号。若是外部中断源,则需将中断请求信号送到规定的外部中 断引脚上,CPU将相应的中断请求标志位置l。为保证该中断得 以实现,中断请求信号应保持到CPU响应该中断后才能取消。 若是内部中断源,则内部硬件电路将自动置位该中断请求标志。 CPU将不断地及时地查询这些中断请求标志,一旦查询到某个 中断请求标志置位,CPU就响应该中断源中断。
CONTNTS
04
图5-5所示为某中断的响应时序。
CONTNTS
05
C51函数的定义实际上已经包含了中断服务函数,但为了明确起见,下面专门给出中断处 理函数的具体定义形式:
函数类型 函数名([形式参数表]) interrupt n [using n] {