第五章 中断系统
单片机-第五章 单片机中断系统

(1)CPU正在执行一个同级或高优先级的中断服务程序; (2)正在执行的指令尚未执行完; (3)正在执行中断返回指令RETI或者对寄存器IE、IP进 行读/写的指令。 CPU在执行完上述指令之后,要再执行一条指令,才 能响应中断请求。
二、中断响应过程 从中断请求发生直到被响应,准备去执行中断服务程 序,此过程即中断响应过程。中断响应过程一般包括如下几 个阶段: 1、中断采样并置位 中断采样过程:CPU在每个机器周期S5P2期间顺序对 中断源采样、置中断标志。 2、查询标志 在中断采样后的下一个周期的S6按优先级顺序查 询中断标志。
第5章 MCS-51单片机中断系统
5.1.1中断的概念
单片机系统中,CPU和外部设备之间不断进行信息的传 输。通常CPU和外设之间的信息传送方式有以下几种: 程序控制方式 中断方式 直接存储器存取(DMA)方式
1、 程序控制方式 可以分为以下两种方式。 (1)无条件传送方式 外设始终处于就绪状态,CPU不必查询外设的状 态,直接进行信息传输,称为无条件传送方式。 此种信息传送方式只适用于简单的外设。如开 关和数码段显示器等。
三、中断响应的时间
一般来说,中断的响应时间最短为3个机器周期,最长 为8个机器周期。 一般中断请求标志位查询占1个机器周期。而机器周期 又恰好是指令的最后一个机器周期。执行此指令后,CPU 将响应中断,产生硬件长调用指令。 长调用LCALL指令需要2个机器周期。这样,中断响应 时间为3个机器周期。
是不可寻址的
在同级的几个中断源中同时发生请求时, 内部对同级的各中断源的优先级别有一个规 定的查询顺序: 自然优先级
外部中断请求 INT0 最高 定时/计数器 T0 外部中断请求 INT1 定时/计数器 T1 串行口 UART 最低 定时/计数器 T2
第5章 中断系统

PX1 外中断1优先级设定
PT0 定时器0优先级设定 PT1 定时器1优先级设定 PS 串行中断优先级设定
优先级别共二级
课件制作 唐中燕
当同时收到同一优先级的多个中断请求时,哪一个 中断能得到响应,取决于“内部查询次序”,相当于在 每个优先级中,还有一个“内部优先级”。 “内部查询次序”: 外中断0→定时中断0→外中断1→定时中断1→串口中断 中断源优先级控制还要用到两个不可寻址的优先级 状态触发器,一个用于指示正在响应某一高级中断,其 它高级中断则被屏蔽;另一个用于指示正在响应某一低 级中断,其它低级中断则被屏蔽,但不能屏蔽高级中断。
1.外部中断是指从单片机引脚/INT0、/INT1输入中 断请求信号的中断。 两种触发方式:电平触发及下跳变(脉冲)触发。 可以通过对特殊功能寄存器TCON编程来选择。 中断请求标志位:IE0、IE1。 当检测到有有效的中断请求信号时,自动由硬件置位 IE0(或IE1),并以此向CPU请求中断。当CPU响应中断转 向中断服务程序时由硬件自动将IE0(或IE1)清零。
课件制作
唐中燕
中断允许与中断禁止
为了不影响重要的程序执行,CPU内部设有 中断允许触发器,该触发器可根据需要开放或关 闭。当CPU执行重要程序时,不希望干扰,则可 用指令关闭该触发器,称为关中断。这时中断源 的中断请求信号CPU是不去处理的。而CPU执行的 程序不重要或不忙时,可用指令打开该触发器, 称为开中断,只有开中断时CPU才能响应中断。
数据及实现人机联系也常常采用中断方式。
课件制作 唐中燕
中断源与中断标志
• 51单片机有5个中断源: 2个外部中断源,3个内部中断中断源。 外中断 外部事件中断0( INT0) 外部事件中断1(INT1) 定时中断 定时器 / 计数器T0 计数溢出中断 定时器 / 计数器T1 计数溢出中断 串行数据传送中断 串行接收数据中断( RI ) 串行发送数据中断( TI ) • 为了使中断请求信号不丢失,为5个中断源分别 设立了相应的中断请求标志位,以便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
第五章 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章 中断系统

计算机与外设交换信息时,慢速工作的外设与快速工作的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自动完成的,用户只需要了解来龙去脉。而用户需要做的事情是 编制中断服务程序,并在此之前完成中断初始化,即设置堆栈,定义外中断触发方式,定义中断优先级, 开放中断等。
LJY_第5章 中断系统

Power Electronics & Electrical Drive Lab 67/ 23
5.4 中断控制
5.4.1 中断允许寄存器IE 如何开中断: 例5-1 若允许片内2个定时器/计数器中断,禁止其它 中断源的中断请求。编写设置IE的相应程序段 (2)用字节操作指令来编写: MOV IE,#8AH ;10001010B 或者用: MOV 0A8H,#8AH ;A8H为IE寄存器字节地址
5.3 中断请求源
中断标请求志 :SCON (1)TI—发送中断请求标志位。 CPU 将一个字节的数写入发送缓冲器 SBUF 时,就启动一帧串行数据发送,每发送完一帧 串行数据后,硬件自动置“ 1”TI 。必须在中 断服务程序中用软件对TI标志清“0”。
Power Electronics & Electrical Drive Lab 67/ 15
5.3 中断请求源
中断标请求志 :TCON
TCON 为定时器 / 计数器的控制寄存器,字节地 址为88H。包含: (1)T0和T1的溢出中断请求标志位TF1和TF0 ( 2 )外部中断请求标志位 IE1 与 IE0 。格式如 下所示:
Power Electronics & Electrical Drive Lab 67/ 8
5.4 中断控制
5.4.1 中断允许寄存器IE
CPU 对中断源的开放或屏蔽,由片内的中断允 许寄存器 IE 控制。字节地址为 A8H ,可位寻址。 格式如下:(复位: 0XX00000B )
Power Electronics & Electrical Drive Lab 67/ 17
5.4 中断控制
Power Electronics & Electrical Drive Lab 67/ 26
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
执行完中断服务程序后,返回到原先被中断的程序称为“中断返回”。
为了能正确返回到原来程序被中断的地方(也称断点-即主程序中当前指 令下面一条指令的地址),在中断服务程序的最后应专门放置一条中断返 回指令。
另外,为了使主程序在返回后仍能从断点处继续执行,还需要在中断服 务程序的开头-保护现场(通过PUSH指令实现),在中断服务程序的末 尾-恢复现场(通过POP指令实现)。
2020/4/5
长江大学地物学院
10
(1)软件查询法
INT “或”
76
210
端口号= XXH
磁磁 盘带
CRT
键打
盘印
把各个外设的中断请求信号“相或”,产生一个总的INT信 号
当CPU响应中断后,进入中断处理程序,在中断处理程序的 开始部分安排一段带有优先级的查询程序。
优点:省硬件
缺点:中断响应慢
第五章 中断系统
中断的基本概念 8086/8088的中断系统 可编程中断控制器8259A 8259A在微机系统中的应用
2020/4/5
退出 1
第一节 中断的基本概念
一 CPU与外设之间的数据传送控制方式(即
I/O控制方式),通常有以下三种:
程序控制方式 中断方式 DMA方式(Direct Memory Access)
长江大学地物学院
13
五 中断嵌套
通常,正在执行较低级的中断服务程序 时,可以响应较高级的中断请求,而将 正在处理的中断暂时挂起,称为中断嵌 套。
STI ……..
STI IRET
……. IRET
可实现 “多重嵌套”
2020/4/5
长江大学地物学院
14
第二节 8086/8088的中断系统
一.中断的分类:在8086/8088系统中,可
•INTR=INT1+INT2+INT3
中断请求
•当INTA信号沿菊花链行进时,最 靠近CPU并发出INT请求的接口将 首先拦截住INTA信号,并送出中 断类型码,进入相应的中断处理 程序;在服务完成后撤销其请求 (解除对下一级的阻塞和封锁)。
INTA INTR
(3)可编程中断控制器(如8259)
2020/4/5
2020/4/5
长江大学地物学院
11
(2)菊花链优先级排队电路 *
设备1
设备2
CPU INTA INTR
接口
中断回答 中断请求 INT1 菊花链 逻辑电路
接口 INT2
+5V
INT1+INT2+INT3
Байду номын сангаас
集电极开路门(OC门)
设备3 接口
INT3
2020/4/5
长江大学地物学院
12
(2)菊花链优先级排队电路
程序控制方式:是在CPU的控制下,通过执行 程序指令进行的数据传送方式。又分为“无条 件传送”和“程序查询传送”两种方式。
2020/4/5
长江大学地物学院
2
程序控制方式
无条件传送方式:是在假定外围设备(Peripheral Device)已经准备好的情况下,直接利用输入/输出指令 (IN指令,OUT指令)与外围设备传送数据,而不去检测 外设的工作状态。
优点:控制程序简单 缺点:数据传送不可靠
程序查询方式(也称“条件传送”方式)
主要特点:CPU通过执行程序不断读取并检测外设的状态,只 有在外设确实已准备就绪的情况下,才进行数据传送;否则, 还要继续不断地查询外设的状态。
2020/4/5
长江大学地物学院
3
程序控制方式
查询式输入、输出程序流程图
2020/4/5
长江大学地物学院
9
四 中断优先级和中断嵌套
1.中断优先级(Priority)的解决方法
系统中多个中断请求可能同时出现,CPU只 能按一定的次序(优先级策略)予以响应和处 理,这个响应的次序称为中断优先级。一般 的方法有:
软件查询法(需要少量硬件) 菊花链(daisy chain)优先级排队电路 可编程中断控制器(如8259)
2020/4/5
长江大学地物学院
5
二 中断方式
中断定义:在程序运行中,出现了某种紧急事 件,CPU必须中止现行程序,转去处理此紧急 事件(执行中断服务程序),并在处理完毕后再 返回运行程序的过程。
中断的全过程及有关概念:
一个完整的中断过程包括:
中断请求; 中断判优; 中断响应; 中断处理; 中断返回.
2020/4/5
长江大学地物学院
8
三 中断响应和处理过程
中断一般由硬件(处理器内部)和软件(由程序设 计者编写的中断服务程序)共同完成,即整个 中断响应和处理过程是由CPU内部的有关硬件 和中断处理软件密切配合完成的。
针对一个具体的系统(机型),中断服务程序设 计者应该清楚在中断响应时,“硬件”完成了 哪些操作(如FR是否已被压入堆栈),还需要 “软件”(中断服务程序)完成哪些操作。
2020/4/5
长江大学地物学院
7
三 中断响应和处理过程
对于不同的中断类型(如可屏蔽中断、不 可屏蔽中断;外部中断、内部中断…), 处理器(CPU)进行响应和处理的具体过程 并不完全相同;另外,就是对同一种中 断类型(如可屏蔽中断),不同的处理器 (如Z80,80X86)进行响应和处理的过程 也不尽相同。
2020/4/5
长江大学地物学院
6
二 中断方式
中断请求是指中断源(引起中断的事件或设备)向CPU发出的请求中断的 要求;
中断判优当有多个中断源发出中断请求时,需要通过适当的办法(软件的; 硬件的;软、硬件结合的)决定究竟先处理哪个中断请求,这就是“中断 判优”;
中断响应是指CPU中止现行程序转至中断服务程序的过程;
将中断分为两大类(如表5.1表5.2所示):
第一类:硬件中断:是由外部的中断请求信 号启动的中断,也称为外部中断。又可分为:
非屏蔽中断NMI:整个系统只有一个,不受IF屏蔽 可屏蔽中断INTR:受IF屏蔽,在中断控制器8259
的统一管理下,可屏蔽中断有几个至几十个。
读取状态信息
读取状态信息
否 准备好?
是 忙?
是
否
输入数据
输出数据
2020/4/5
长江大学地物学院
4
程序控制方式
程序查询传送方式比无条件传送方式要 准确可靠,但在此种方式下,CPU要不断 查询外设的状态,占用了大量CPU时间, 而真正用于数据传送的时间却很少,即 CPU的工作效率很低;另外,采用这种方 式,也很难满足实时系统对I/O处理的要 求。因此,出现了中断控制方式。