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

(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
第五章 中断系统

四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。
第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,可位寻址,其 格式如下:
第5章 89C51的中断系统---部分习题解答

答:在CPU未执行同级或更高优先级中断服务程序的条 件下,中断响应等待时间最少需要3个机周,最长需要8个 机周。
19.简述89C51外中断的触发方式,电平触发方式时,如何防 止CPU重复响应外中断? 答:80C51外中INT0/INTl有两种触发方式:电平触发和边 沿触发方式。采用电平触发方式时,CPU响应中断后,虽用硬件 自动清除了相应中断请求标志IE0/IEl,但相应引脚(P3.2/P3.3) 的低电平信号若继续保持下去(一般可能保持时间较长),中断 请求标志IE0/IEl就无法清零,就会发生重复响应中断情况, 引起出错。需要采取软硬件结合的方法撤消引起重复中断相应 引脚的低电平信号。 硬件电路如教材书图5-4所示。当外部设备有中断请求时, 中断请求信号经反相,加到锁存器CP端,作为CP脉冲。由于 D端接地为0,Q端输出低点平,触发INT0产生中断。当CPU 响应中断后,应在该中断服务程序中按排两条指令: CLR P1.0; SETB P1.0; 使P1.0输出一个负脉冲信号,加到锁存器Sp端(强迫置“1” 端),Q端输出高点平,从而撤消引起重复中断的INT0低电平 信号。因此一般来说,对外中断INT0、INT1,应尽量采用边 沿触发方式,以简化硬件电路和软件程序。
14.89C51中断处理过程包括哪四个步骤?简述中断处理过程。 答:中断处理过程大致可分为四步:中断请求、中断响应、中 断服务和中断返回。 ①中断请求:由中断源向CPU发出中断请求信号。 ②中断响应:在满足中断响应条件下,响应中断,保存断点地 址,将相应中断的入口地址送入PC。 ③中断服务:执行中断服务程序,完成中断源要求的相应操作。 ④中断返回:恢复断点地址,开放同级中断。 15.89C51响应中断有什么条件? 答:中断响应条件: ①该中断已经“开中”; ②CPU此时没有响应同级或更高优先级的中断; ③当前正处于所执行指令的最后一个机器周期; ④正在执行的指令不是RETI或者是访向IE、IP的指令;否则必 须再另外执行一条指令后才能响应。
微机原理-05 中断

P1.3
绿灯
SJMP DDD
P3.2
3.如果想通过中断方式实现上述功能,软件怎样编程序? 仿前 例。
ORG 0000H
+5V
AJMP MAIN
P1.0
红灯
ORG 0003H
P1.1
红灯
AJMP INT
ORG 0050H
P1.2
绿灯
MAIN: MOV SP,#60H
P1.3
绿灯
MOV IE,#1000 0001B;
• 若ITi=0(电平触发),则输入到INTi 的外部中断源必须保持低电平有效,直到该 中断被响应。同时在中断返回前必须使电平 变高,否则将会再次产生中断。
SCON-串行口控制寄存器(98H)
位地址 9F 9E 9D 9C 9B 9A 99 98
SCON
TI RI
发送中断标志
接收中断标志
一帧数据发送完毕置“1”TI,请求CPU发送下一帧 一帧数据接收完毕置“1”RI,请求CPU取走数据
§5.1.2 查询传送方式(条件传送)
通过查询外设的状态信息,确信外设已处于“准备好”, 计算机才发出访问外设的指令,实现数据的传送。
状态信息:一般为1位二进制码。
输入时,需要查询外设的输入数据是否准备好;
输出时,要查询外设是否把上一次CPU输出的数据处理完毕。
查询方式程序流程图
优点:通用性好,可以用于各类
…………… ORG 0080H PH:PUSH PSW PUSH A SETB P3.0 ACALL DELAY1S CLEAR P3.0 ANL P1,#0BFH;撤申请 ORL P1,#40H POP A POP PSW RETI END
当发送和接收中任何一个标志被置位时,都可以向CPU提出 申请。必须在中断服务程序中判断,并由软件将RI和TI标志位 清0。
单片机-第五章 单片机中断系统

单片机-第五章单片机中断系统单片机第五章单片机中断系统在单片机的世界里,中断系统就像是一位高效的调度员,能够在各种任务之间迅速切换,确保系统能够及时响应紧急事件和重要任务。
这一章,咱们就来深入了解一下单片机中断系统的奥秘。
先来聊聊什么是中断。
想象一下,单片机正在有条不紊地执行着一个任务,比如计算一组数据的平均值。
突然,有个更紧急的事情发生了,比如外部设备传来了一个重要的信号,需要单片机立即处理。
这时候,单片机就会暂时放下手头正在进行的任务,转而去处理这个紧急事件。
等处理完紧急事件后,再回到之前被打断的地方继续执行原来的任务。
这个过程就是中断。
中断系统之所以重要,是因为它大大提高了单片机系统的工作效率和实时响应能力。
如果没有中断,单片机就得按照顺序依次完成所有任务,哪怕遇到紧急情况也不能停下来,这在很多实际应用中是无法接受的。
单片机的中断系统通常由几个部分组成。
首先是中断源,也就是那些能够触发中断的事件或信号。
常见的中断源包括外部中断、定时中断、串口中断等等。
外部中断一般是由外部设备的状态变化引起的。
比如说,一个按键被按下,就会产生一个外部中断信号,通知单片机进行相应的处理。
定时中断则是根据预先设定的时间间隔产生中断。
这在需要周期性执行某些任务的场合非常有用,比如每隔一定时间采集一次温度数据。
串口中断是在串口通信过程中,当接收到数据或者发送完成时产生的中断。
接下来是中断控制寄存器。
它就像是中断系统的“指挥官”,决定哪些中断被允许,哪些被禁止,以及中断的优先级等。
通过设置这些寄存器,我们可以灵活地控制中断的行为。
然后是中断向量。
当发生中断时,单片机会根据中断向量跳转到相应的中断服务程序去执行。
中断向量就像是一个地址索引,告诉单片机中断服务程序在哪里。
在实际编程中,使用中断系统需要经过一系列的步骤。
首先,要初始化中断相关的寄存器,设置中断的触发方式、允许或禁止中断、确定中断的优先级等。
然后,编写中断服务程序。
单片机讲义(第五章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 接寻址的内存单元数减少。
- 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处理的要 求。因此,出现了中断控制方式。