第五章中断系统
单片机-第五章 单片机中断系统
(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
单片机原理及应用教程(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
单片机原理及应用课后习题答案第5章作业培训讲学
第五章中断系统作业1. 外部中断1所对应的中断入口地址为()H。
2. 对中断进行查询时,查询的中断标志位共有、_ _、、_ 和_ 、_ _ 六个中断标志位。
3.在MCS-51中,需要外加电路实现中断撤除的是:()(A) 定时中断(B) 脉冲方式的外部中断(C) 外部串行中断(D) 电平方式的外部中断4.下列说法正确的是:()(A) 同一级别的中断请求按时间的先后顺序顺序响应。
()(B) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
()(C) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
()(D) 同级中断不能嵌套。
()5.在一般情况下8051单片机允许同级中断嵌套。
()6.各中断源对应的中断服务程序的入口地址是否能任意设定? ()7.89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。
()8.各中断源发出的中断申请信号,都会标记在MCS-51系统中的()中。
(A)TMOD (B)TCON/SCON (C)IE (D)IP9. 要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是()(A)98H (B)84H (C)42 (D)22H10.编写出外部中断1为负跳沿触发的中断初始化程序。
11.什么是中断?其主要功能是什么?12. 什么是中断源?MCS-51有哪些中断源?各有什么特点?13. 什么是中断嵌套?14.中断服务子程序与普通子程序有哪些相同和不同之处?15. 中断请求撤除的有哪三种方式?16. 特殊功能寄存器TCON有哪三大作用?17. 把教材的P82页的图4.24改为中断实现,用负跳变方式,中断0(INT0)显示“L2”,中断1(INT1)显示“H3”。
(可参考第四章的电子教案中的例子)18.第5章课后作业第9题。
第五章中断系统作业答案1. 外部中断1所对应的中断入口地址为(0013)H。
第五章 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自动完成的,用户只需要了解来龙去脉。而用户需要做的事情是 编制中断服务程序,并在此之前完成中断初始化,即设置堆栈,定义外中断触发方式,定义中断优先级, 开放中断等。
第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
(单片机完整课件PPT)第五章
⑴ 对定时/计数器T0、T1中断,外中断边沿触发方式, CPU响应中断时就用硬件自动清除了相应的中断请求标 志。 ⑵对串行口中断,用户应在串行中断服务程序中用软件清 除TI或RI。
⑶对外中断电平触发方式,需要采取软硬结合的方法消除 后果。
只要 P1.0 端输出一个负脉冲就可以使 D 触发器置 “ 1” ,从而撤消了低电平的中断请求信号。所需 的负脉冲可增加如下两条指令得到: ORL P1,#01H ;P1.0为“1” ANL P1,#0FEH ;P1.0为“0”
T1
PX1 PT0 PX0
/INT1 T0 /INT0
相应位置1为高优先级;置0为低优先级。
优先级结构:
(1)低优先级中断可被高优先级中断所中断,反之不能; (2)任何一种中断(不管是高级还是低级),一旦得到
响应,与它同级的中断源不能再中断它。
(3)同级的中断源同时请求时,遵循辅助优先级顺序。
同级内的优先权 INT0 T0 INT1 T1 串行口 辅助优先级顺序 高
中断类型: (1)按中断源的不同分为: 硬件中断:由硬件产生请求使CPU响应中断。 软件中断:指可以通过相应的中断指令使CPU响应中断。 (2)按是否可屏蔽分为: 可屏蔽中断:指用户可以通过中断控制指令来控制CPU 是否响应中断源的中断请求。 不可屏蔽中断:指CPU不能屏蔽中断源的中断请求,必
ቤተ መጻሕፍቲ ባይዱ
须响应该中断请求。
2.中断申请标志
定时器控制寄存器TCON(88H)
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
ITX:选择 INTx中断触发方式。 ITX=1,选择 INT x 为下降沿触发方式。 ITX=0,选择
INT x 为低电平触发方式。
第五章 中断系统
四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。
第五章-MCS-51单中断系统习题答案.doc
第五章MCS-51单片机中断系统习题答案一、填空题1、中断允许寄存器,中断优先级寄存器。
2、电平触发,边沿触发(或答跳变触发)。
二简答题1、写出8052的中断源和相应的中断入口。
INT0 0003HT0 000BHINT1 0013HT1 001BHTI或RI 0023H2、8051单片机的中断优先级是如何排列的?硬件INT0 T0 INT1 T1 TI或RI软件通过IP定义两个优先级3、外部中断有哪几种触发方式?边沿触发和电平触发。
4、8052单片机程序存储器中的六个特殊单元是什么,各有何用途?0000H(PC),0003H(int0),000BH(c/T0),0013H(int1),001BH(c/T1),0023H(s口)。
4、三、程序设计1、8031芯片的INT0、INT1引脚分别输入压力超限及温度超限中断请求信号,定时器/计数器0作定时检测的实时时钟,用户规定的中断优先权排队次序为:压力超限温度超限定时检测要求确定IE、IP的内容,以实现上述要求。
解:(1)中断控制寄存器各位定义:D7:CPU中断允许位EA,应设为1D6:未定义,可为随意量,取为0D5:定时器/计数器2中断允许位ET2,可取0D4:串行口中断允许位ES, 可取0D3:定时器/计数器1中断允许位ET1, 应取0D2:外部中断1中断允许位EX1, 应取1D1:定时器/计数器0中断允许位ET0, 应取1D0:外部中断0中断允许位EX0, 应取1故IE=87H(2)由硬件确定的同一优先级中断源的优先权排队顺序如下:INT0-C/T0-INT1-C/T1-串行口中断-c/2MCS-51有两个中断优先级,中断优先权选择寄存器IP可对各中断源用软件进行编程,确定为高优先级中断还是低优先级中断。
因些可以用硬件与软件相结合的方法对中断源的优先级进行排序。
由题意,根据IP各位的定义:D7:未定义,可为随意量,取为0D6:未定义,可为随意量,取为0D5:定时器/计数器2优先权选择位PT2,可取0D4:串行口优先权选择位PS, 可取0D3:定时器/计数器1优先权选择位PT1, 应取0 D2:外部中断1优先权选择位PX1, 应取1,应接温度超限信号。
第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章 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 接寻址的内存单元数减少。
第5章:中断系统2
•
• •
中断优先级的判定 中断源的优先级别分为高级和低级,通过由软件 设置中断优先级寄存器IP相关位来设定每个中断 源的级别。 如果几个同一优先级别的中断源同时向CPU请求 中断,CPU通过硬件查询电路首先响应自然优先 级较高的中断源的中断请求。 中断可实现两级中断嵌套。高优先级中断源可中 断正在执行的低优先级中断服务程序,除非执行 了低优先级中断服务程序的CPU关中断指令。同 级或低优先级的中断不能中断正在执行的中断服 务程序。
5.2 中断处理过程
• 中断处理流程 • 中断嵌套 • 中断的应用实例
中断处理流程
执行一条指令 取下一条指令
•
中断处理过程可分为 中断请求、中断响应、中 断处理和中断返回四个阶 段。不同的计算机因其中 断系统的硬件结构不同, 因此,中断响应的方式也 有所不同。这里仅以8051 单片机为例进行叙述。其 主要内容及一般顺序如图 5-3所示。
(4)中断请求的撤除
• 中断源发出中断请求,相应中断请求标志置“1”。CPU响应 中断后,必须清除中断请求“1”标志;否则中断响应返回后, 将再次进入该中断,引起死循环出错。如何撤除中断请求标 志的说明如下:
• 定时器溢出中断请求的撤除:
• 对于定时器0或1溢出中断,CPU在响应中断后即由硬件自动 清除其中断标志位TF0或TF1,用户无须采取其他措施。
编写中断服务程序时应注意
① 在中断矢量地址单元处放一条无条件转移指令(如
LJMP ××××H),使中断服务程序可灵活地安排
在64KB程序存储器的任何空间。
② 在中断服务程序中,用户应注意用软件保护现场,
以免中断返回后丢失原寄存器、累加器中的信息。
③ 若要在执行当前中断程序时禁止更高优先级中断,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TI
+
RI
串行口中断源
入口地址:0023H
2020/6/2
返回
8
5.2.2 中断控制
上一页
下一页
1、中断请求标志
定时器控制寄存器 TCON 88H
串行口控制寄存器 SCON 98H
2、中断允许寄存器 IE A8H
3、中断优先级寄存器 IP B8H
2020/6/2
返回
9
(1)定时器控制寄存器 (TCON 88H ) 上一页
----
-------
----
----
TI
RI
位地址 --- --- --- --- --- --- 99 98
下一页
TI:串行口发送中断请求标志位 RI:串行口接收中断请求标志位 硬件置1(发送或接收完一帧数据) 软件清0(中断方式,查询方式)
0: 无接收中断 1: 有接收中断 0: 无发送中断 1: 有发送中断
TI
+
RI
串行口中断源
2020/6/2
13
2、中断允许控制
上一页
下一页
中断允许控制寄存器( IE A8H )
图片
软
IE
件
设 位地址
置
关所有中断:0 开所有中断:1
关串行口中断:0 开串行口中断:1
关T1中断 : 0 开T1中断 : 1
2020/6/2
EA
ES
AF
AC
允许中断 总控开关
串行口中断 允许控制位
上一页
下一页
1. 分时操作.使得快速CPU和慢速外设能并行工作.
2. 实时处理.及时处理控制系统中许多随机参数和信息.
3. 增强了处理故障能力,提高了机器自身可靠性。
三、中断与子程序调用操作比较
1、共同点 ------都具有断点保护功能
2、区别
2020/6/2
4
8051中断
调用子程序
产生
随机
程序中事先安排好
自
高级中
然
断请求
优
先矢
级量
地
址 PC
自
低级中
然
断请求
优 先矢 级量
地
址
PC 硬件查询
返回
5.2.3 中断响应
上一页
中断响应条件
下一页
中断响应过程
返回
中断响应时间
1、中断响应条件
I. 必要条件: 1) 中断源有请求 2) 中断允许寄存器IE中EA=1(总开关置1),
源允许开关置1
5.1 中断概述 5.2 中断系统结构及中断控制 5.3 中断程序举例
5.1 中断概述
上一页
一、中断的概念
下一页
--所谓“中断”,是指CPU执行正常程序时,系统中出 现特殊请求,CPU暂时中止当前的程序,转去处理更紧急 的事件,处理完毕后,CPU返回原程序的过程。
2020/6/2
返回
3
二、中断的作用
TCON TF1 --- TF0 --- IE1 IT1 IE0 IT0
下一页
位地址 8F ----
8D
-------
8B
8A
89
88
硬件复位:0 T1 溢出中断:1
T1中断 标志位
硬件复位:0 T0 溢出中断:1
T0 中断标志位
触发
0: INT0电平触发
标志位 1: INT0负边沿触发
外中断 标志位
高
低
2020/6/2
16
IT0=0
INT0
IT0=1
T0
IT1=0
INT1
IT1=1
T1
TX RX
TCON
IE0
TF0
IE1
TF1 TI RI
SCON
中断标志
IE
EX0 ET0
EX1 ET1 ES EA 源允许 总允许
IP
PX0 1 0
PT0 1 0
PX1 1
0 PT1 1
0 PS 1
0
优先级
8051的中断系统
图片
软 件 设 置
2020/6/2
15
8051对中断优先级处理原则:
上一页
下一页
1) 不同级中断源同时申请,先高后低 2) 在处理低级中断中收到高级中断时,停低转高 3) 在处理高级中断中收到低级中断时, 高不睬低 4) 同级中断源同时申请,事先规定
即按自然优先级顺序
INT0 T0 INT1 T1 串行口
0: 硬件复位 1: INT0上有中断
触发标志位 外中断标志位
0: INT1电平触发 1: INT1负边沿触发 0: 硬件复位
1: INT1上有中断
2020/6/2
定时器控制寄存器TCON各位定义
返回
10
(1)定时器控制寄存器(TCON)
上一页
下一页
ITX(X=0,1): 外中断0(1)的中断触发方式控制位
外部中断源的触发方式
低电平触发 负边沿触发
外部中断入口地址: 0003H,0013H
2020/6/2
上一页 下一页
返回
7
2、定时器溢出中断源
上一页
内
下一页
T0—定时器/计数器0溢出中断请求
部 中
T1—定时器/计数器1溢出中断请求
断 入口地址:000BH,001BH
3、串行口中断源
每当串行口发送或接收完一帧 数据后,便向CPU请求中断.
TFX(X=0,1)定时器T0(T1)溢出中断 上一页
请求标志位
下一页
TFX =
0 定时器TX未溢出无中断 1 定时器TX 溢出产生中断
硬件置1 硬件清0 (中断方式) 软件清0 (查询方式)
2020/6/2
返回
12
(2)串行口控制寄存器 ( SCON 98H )上一页
SCON ----
----
第五章 中断系统
上一页
下一页
本章要求
熟悉8051单片机中断系统的结构
了解中断的处理过程
掌握8051中断系统的使用方法:包括中断源、中 断标志位的含义、中断控制相关特殊功能寄存器 的含义和使用方法
掌握中断服务子程序的结构和编程方法
熟悉51单片机外部中断源的扩展方法。
2020/6/2
1
第五章 中断系统
ET1 EX1 ET0 EX0 AB AA A9 A8
返回
定 时 器 中 断 允 许 控 制
外 开INT0中断
0: 关T0中断 1: 开T0中断
0: 关 INT1 中断 1: 开INT1中断
14
3、中断优先级控制
上一页
中断优先级控制寄存器 (IP B8H ) 下一页
固定
入口地址 (0003H~0023H)
可变(取决于程序 员的安排)
5.2 8051中断系统结构
上一页
及中断控制
下一页
5.2.1 8051中断源
图片
2个外部中断源
5个中断源
2020/6/2
2个定时器 溢出中断源
1个串行口 中断源
内部中 断源
返回
6
1、外部中断源
单片机引脚
P3.2-INT0 P3.3-INT1
ITX =
--软件置1,软件清0 0 程控为低电平触发 1 程控为负边沿触发
图片
IEX(X=0,1): 外中断0(1)的中断请求标志位
IEX =
0 INTX 引脚上无中断 硬件置1 1 INTX 引脚上有中断 硬件清0(边沿触发)
INTX “0” ITX=0
IEX“1”
ITX=1
2020/6/2
11