第6章 中断系统
《单片机原理及应用》第6章 51单片机中断系统应用基础

• 姜志海 王蕾 姜沛勋 编著
• 电子工业出版社
第6章 51单片机中断系统应用基础
• 本章主要介绍中断系统的应用。 • 包括:
6.1 中断结构与控制 6.2 中断优先级与中断子程序 6.3 外部中断应用举例 6.4 实验与设计
6.1 中断结构与控制
5个中断源
• 外部中断:外部中断0 /INT0
6.2 中断优先级与中断子程序
• 优先级排列如下(从高到低): 外部中断0 定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断
6.3 外部中断应用示例
• 51单片机提供了2个外部中断源 : • 外部中断0请求,占用P3.2引脚,其中断请求号为0 • 外部中断1请求,占用P3.3引脚,其中断请求号为2 • 外部中断源的初始化时通过设置相应的特殊功能寄
注意:
和例题5-6的区别
修改:
(1)按3下S0,P1口的发光状态发生反转 (2)按一下,灯变为闪烁,按一下,灯全亮。
【例6-2】当S0动作时,P1.0端口的电平反向,当外S1 动作,P1.7端口的电平反向
• 修改:
• (1)S0控制P1.0—P1.3的灯,S1控制P1.4—P1.7的灯 。
• (2)按下S0后,点亮8只LED;按下S1后,变为闪烁状 态。
(3)IE寄存器中的EA、EX0、EX1位
• EA为中断允许总控制位;EX0、EX1为外 部中断0中断和外部中断1中断的中断允 许位。如:
• SETB EA;开放总的中断控制 • SETB EX0;允许外部中断0中断 • CLR EX1;禁止外部中断1中断
【例6-1】初始状态时低4位灯亮,高4位的灯灭,编程 实现按一下S0,P1口的发光状态发生反转。
单片机教程 第6章-中断系统

TCON位功能:
TF0/TF1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。
③ IE1 —— 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 ④ IE0 —— 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1
IE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请。
=1:在INT0/INT1端申请中断的信号负跳变有效.
6.2
51单片机的中断系统
3、串行口中断设定
串行控制寄存器SCON控制字,字节地址:98H
SCON 位名称 位地址 功能 D7 D6 — — — — — — D5 — — — D4 — — — D3 — — — D2 — — — D1 TI 99H 串行发送 中断标志 D0 RI 98H 串行接收 中断标志
6.1
中断的概念
6.1.3 中断的分类 可分为三类: * 可屏蔽中断:由CPU的可屏蔽中断引脚INT引起的 中断。 * 非屏蔽中断:由CPU的非屏蔽中断引脚NMI引起的 中断(8086CPU)。 * 软件中断:由中断指令引起的中断(8086CPU)。 • 51单片机的中断可以分为:
①外部中断,由外部可屏蔽中断和外部计数器中断组成; ②内部中断,由内部定时器、串口传输中断等组成。
输入引脚。允许用户设定外部中断源以低电平或 者是负跳变方式触发。
6.2
51单片机的中断系统
②定时器溢出中断源:内部中断,51内部有两
个16位定时/计数器,它们由内部定时脉冲(主脉 冲12分频)或外部引脚T0、T1输入的外部计数脉 冲计数。当计数值溢出时,产生中断请求。这两 个16位定时/计数器的初值可由用户设定。
《微机原理及接口技术》第六章

2、CPU对中断的响应
关中断:CPU响应中断后,发中断响应(INTA)信号的同时,内部自动实现关中断 保留断点:封锁IP+1,入栈保存CS:IP。 保护现场:由中断服务程序先将有关REG入栈保存。
给出中断入口、转相应的中断服务程序:中断服务程序起始地址,执行中断服务。
恢复现场:将中断服务程序入栈保存的REG内容弹出,恢复现场。 开中断与返回:中断服务的最后一条指令,出栈恢复CS:IP,恢复主程序运行,使IF自动恢
第十章
J X G
微型计算机开发应用
1/27
J X G
微机原理及接口技术 第六章、中断控制系统
本章要点:
J X G
中断的基本概念 中断处理过程 可编程中断控制器8259A的结构、功能 可编程中断控制器8259A的应用
2/27
J X G
微机原理及接口技术 6.1
一、中断的基本概念
中断系统
J X G
微机原理及接口技术
三、外部中断
8086芯片设置有两条中断请求信号输入引脚:NMI和INTR引脚,用于外部中断 源产生的中断请求,可分为以下两种: 1、可屏蔽中断 INTR (18脚) INTR线上的请求信号是电平触发的。当IF=0,CPU中断不响应,这种情况称为 可屏蔽中断。可屏蔽中断通过指令设置IF中断标志位,达到控制的目的。 STI CLI ;IF←1,开中断,CPU才能响应INTR线上的中断请求。 ;IF←0,关中断,CPU不响应INTR线上的中断请求。
对于系统专用中断,系统将自动提供0~4中断类型号,保证系统自动转到处理程序。
J X G
对于可屏蔽中断INTR,外接口电路产生中断类型号。目前8259A产生。
第六章1-3讲 可编程中断控制器

天津工业大学
SP/EN:双功能信号。 缓冲方式时, EN 为输出,控制缓冲 器传输的方向。 EN=0,表示允许8259A通过缓冲器输出。 EN=1,表示CPU写8259A。 非缓冲方式时,SP为输入,表示主从 关系, SP=1,表示主片, SP=0,表示从片。
天津工业大学
④控制逻辑:
向CPU发送中断请求信号,处理CPU的中断应 答信号INTA,直接连接到CPU的中断请求输入端 INTR. INT:8259A向CPU发出的中断请求信号,高电平 有效。 INTA:CPU响应中断时,约两个总线周期,称为 响应周期。用来对8259A的中断申请进行响应, 在中断响应周期中产生两个INTA信号, 第一个用来使中断请求服务寄存器相应位置1, 第二个INTA信号,8259A向CPU提供中断矢量号。
天津工业大学
⑦ 中断服务寄存器(ISR) 记录优选后的中断申请标志(正在执行 的中断服务程序其ISR相应位置1),后来 的中断申请在优先排队电路的控制下与当 前正在执行的中断过程进行优先级排队, 以决定是否实现中断嵌套。
天津工业大学
⑧中断屏蔽寄存器IMR 由CPU设置,以决定某个中断源是否被屏 蔽,当该寄存器中某一位置“1”时,表示 禁止该中断请求进入系统。通过IMR寄存器 可实现对各级中断的有选择的屏蔽。
• ♣SP/EN在非缓冲方式下,规定(SP=1)时该
8259A是主片, (SP=0)时该8259A是从片。
天津工业大学
第一个周期 T1 T2 T3 T4
CLK ALE LOCK INTA D0~D7 SP/EN CAS0~CAS2 IR0~IR7 INT
第二个周期 T1 T2 T3 T4
CPU响应周期
天津工业大学
6.5.3 8259A的优先级管理方式
MCS-51单片机中断系统

19:04
张兴忠制作:
返回目录
13
6.2.2 中断源与中断方式
----中断源及种类
1.中断源
MCS-51单片机的中断系统提供了5个中断源。
19:04
张兴忠制作:
返回目录
14
6.2.2 中断源与中断方式
----中断工作方式应用
通常,在实际应用中有以下几种情况可采取中
请中断,CPU响应中断后,会自动清零TF0或TF1。
TF1:片内定时/计数器1溢出中断请求标志。功能与TF0类同。
张兴忠制作:
返回目录
19:04
21
6.2.3 中断控制寄存器
-----TCON寄存器
外部中断请求标志位IE0和IE1及其中断请求信号的撤销问题
无论是采用边沿触发方式(IT0=1)还是电平触发方式 (IT0=0),在CPU响应中断请求后,中断请求标志位 IE0即由硬件自动清零。 由于CPU对引脚没有控制作用,在采用电平触发方式时 中断请求信号的低电平可能继续存在,在以后的机器周 期采样时又会把已清零的IE0标志位重新置1,这有可能 再次引起中断而造成出错。所以,在中断响应后必须采 用其他方法撤销该引脚上的低电平,以撤除外部中断请 求信号。中断请求标志位IE1的清零及中断请求信号的撤 销问题与IE0类似。
返回目录
9
6.1.2 中断的概述
---ቤተ መጻሕፍቲ ባይዱ断的概念
主程序:CPU正常情况下运行的程序称为主程序。 中断源:把向CPU提出中断申请的设备称为中断源。 中断请求:由中断源向CPU所发出的请求中断的信号称中断 请求。
中断响应:CPU在满足条件情况下接受中断申请,终止现行
程序执行转而为申请中断的对象服务称中断响应。 中断服务程序:为服务对象服务的程序称为中断服务程序。 断点:现行程序被中断的地址称为断点。 中断返回:中断服务程序结束后返回到原来程序称中断返回。
第6章 中断系统

中断系统的功能
CPU响应中断时,会停止当前执行程序,转去执行中断处 理程序,原程序被打断的地方称为“断点”。
断点地址是指中断处理程序结束后,返回原程序恢复执 行的第一条指令的地址,又称“返回地址”。
现场是指进入中断服务程序之前CPU各个寄存器的状态。
正常程序 CS : IP 断点 CS : IP+1 继续执行 中断服务程序
中断系统的功能
2. 链式优先权排队电路(应答方式)
外设1
+5V D7 ~ D0 INTA INTR IOR IOW
外设2
IEI 接口2 IEO
SEL1 SEL2
外设3
IEI 接口3 IEO
SEL3
IEI 接口1 IEO
※ 电路说明
① 每个接口有一个中断允许输入IEI和中断允许输出IEO, 只有IEI为高电平时才允许该接口芯片发中断请求; ② IEO=IEI•INT INT表示该设备有中断请求; ③ 每个接口芯片的中断请求输出为OC门,具有负逻辑的 “线或”关系; ④ 响应中断时由INTA从接口读取中断矢量。 计算机原理讲义
中断 处理
返回断点
3. 中断服务完成时将中断申请信号撤销 4. 中断服务完成后恢复现场和断点,返回原程序 计算机原理讲义
中断系统的功能
(二)对中断进行控制
1. 对中断申请进行控制 例1 一个输入设备的中断接口电路
三 态 缓冲器 D7~D0 INTR IOW A15 ~ A0 IOR INTA 地址 译码 器 三 态 缓冲器 B Q R C D 中断类型 码(0FH) D7~D0
中断系统
第六章 中断系统
计算机原理讲义
中断的作用
第6.1节 计算机中断系统
《单片机中断系统》PPT课件
能实现中断功能并能对中断进行管理的硬件和软件称 为中断系统。
本章将讨论MCS51系列单片机的中断系统。
a
3
中断请求是在执行程序的过程中的随机发生的,中断系
统要解决的问题是:
1)CPU在不断的执行指令中,是如何检测到随机发生
中断服务程序 入口 0003H
0013H
000BH
001BH
002BH
0023H
6
(1)中断的允许和禁止——中断控制寄存器IE IE寄存器的各位对应相应的中断源,如果允许该中断
源中断则该位置1,禁止中断则该位0 。
EA
- ET2
ES
ET1
EX1 ET0 EX0
中断总 不 控允/禁 用
T2 允/禁
串行口 允/禁
的中断请求?
2)如何使中断的双方(CPU方和中断源方)均能人为
控制,允许中断或禁止中断。
3)由于中断产生的随机性,不可能在程序中安排调子
程序指令或转移指令,那么如何实现正确的转移,以便为
该中断源服务呢?
4)中断源有多个,而CPU只有一个,当有多个中断源
同时有中断请求时,用户怎么控制 CPU 按照自己的需要安
ET1
1 ES
1 ET2 EA
源允许 总允a许
IP PX0 1
0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
PT2 1 0
优先级
高
自
级
然
中
优
断
先
请
级
求
矢量地址
PC
硬件查询
单片机原理及接口技术-C51编程(张毅刚第二版)-习题答案
单片机原理及接口技术(C51编程)(第2版)-习题答案汇总23单片机答案第1章单片机概述思考题及习题1 参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为()或()。
答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将()、()和()三部分,通过内部()连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S51单片机工作频率上限为()MHz。
答:24MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低()和提高()。
答:成本,可靠性。
二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便 B.受器件的物理性能限制C.为了通用性 D.为了提高运算数度答:B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用 B.测量、控制应用C.数值计算应用 D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3. 单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对第2章 AT89S51单片机片内硬件结构思考题及习题2 参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为()。
第六章 中断技术-2
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
INTA DB INT
从
SP/EN
CAS2 ~CAS0
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
6-6 可编程中断控制器8259A
四、 8259A的工作流程 CPU
④
DB
⑥
8259A
INTA 中断类 IRR
中断被响应,则级别变最低
IR4 IR5 IR6 (级别最高) IR7 IR0 IR1 IR2 IR3 (级别最低)
4)优先级特殊循环方式: 编程指定初始队列最低优先级,其它依次排列
6-6 可编程中断控制器8259A
2、8259A中断结束方式
INTA
INT IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
6-6 可编程中断控制器8259A
一、 功能 1、单片8259A可对8个中断源控制,9片级联可扩展到64级;
2、能向CPU提供中断类型码; 3、可通过编程选择多种工作方式
IR0
8086 CPU
中断 类型码
INTR INTA
8259A
IR1
中断 控制 电路
IR7
6-6 可编程中断控制器8259A
二、内部结构
类型1入口
INT 1
MOV AX,0000H MOV DS,AX MOV BX,OFFSET INTPROC MOV [0120H ] ,BX MOV BX,SEG INTPROC MOV [0122H],BX 或用DOS功能
0000: 0120H 0121H 0122H 0123H
50 20 00 10
2、CAS2~CAS0----级联信号线 用作主片时,为输出线;用作从片时,为输入线;
第6章 STM8中断控制系统
正因如此,ITC_SPR1寄存器的b1、b0对应TLI,即0号 中断,而不是复位中断RESET;同理,TC_SPR1寄存器的 b3、b2对应AWU,即1号中断,而不是软件中断TRAP; ITC_SPR8寄存器的b3、b2对应29号中断。即ITC_SPR8~ ITC_SPR1定义了30个中断源(编号为0~29,其中25~29中
向量地址 8000h 8004h 8008h 800Ch 8010h 8014h 8018h 801Ch 8020h 8024h 8028h 802Ch 8030h 8034h 8038h 803Ch 8040h 8044h 8048h 804Ch 8050h 8054h 8058h 805Ch 8060h 8064h 8068h 806Ch到 807Ch
● 不可屏蔽的中断:
RESET,TLI 和 TRAP
●
可屏蔽中断: 外部中源 不可屏蔽中断不会考虑CC寄存器的I1和I0的状态。仅仅当TRAP 中断发生时候将PC,X, Y, A 和 CC 寄存器的内容压栈。相应的向量载入到PC寄存 器中同时置位I1和I0位禁止中断(3级优先级)。 STM8S支持32个中断,中断服务程序入口地址称为中断向量,放在 8000H~807FH之间。每个中断向量占4个字节,共4x32(128字节)。中断服 务程序可放在16MB任一存储区。
断号保留,没有定义)的优先级,而ITC_SPR8寄存器的高4
位没有定义。
(4) 优先级10最低,分配给主程序使用。因此,不允许
将中断优先级设为10。如果将某一个中断优先级设为10, 为使对应中断请求得到响应,STM8 CPU将保留该中断源 先前的优先级。换句话说,当前中断优先级设置操作无效。 (5) 当两个或两个以上可屏蔽中断源具有相同的软件优 先级时,硬件查询顺序如表6-1所示,即1号中断(自动唤醒 中断AWU)优先级最高,CLK中断次之,而24号中断
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图6-3 特殊功能寄存器TCON的格式
TCON寄存器中与中断系统有关各标志位功能如下: (1)TF1—定时器/计数器T1的溢出中断请求标志位。 当启动T1计数后,T1从初值开始加1计数,当最高位产生溢 出时,硬件置TF1为“1”,向CPU申请中断,响应TF1中断时,
TF1标志硬件自动清“0”,TF1也可由软件清“0”。
相应位被置“1”外,还必须使EA位置“1”。
6.3.2
中断优先级寄存器IP
中断请求源有两个中断优先级,每一个中断请求源可由软件
设置为高优先级中断或低优先级中断,也可实现两级中断嵌套。
所谓两级中断嵌套,就是AT89S51正在执行低优先级中断的 服务程序时,可被高优先级中断请求所中断,待高优先级中断处 理完毕后,再返回低优先级中断服务程序。 两级中断嵌套见图6-6。
用位操作指令或字节操作指令可更新IP的内容,改变各中断源的
中断优先级。 AT89S51复位后,各中断源均为低优先级中断。IP内容为00
下面介绍AT89S51的中断优先级结构。
中断系统有两个不可寻址的“优先级激活触发器”, 其中一
个指示某高优先级中断正在执行,所有后来中断均被阻止;另一
个触发器指示某低优先级中断正在执行,所有同级中断都被阻止 ,但不阻断高优先级的中断请求。 在同时收到几个同优先级的中断请求时,哪一个中断请求能 优先得到响应,取决于内部查询顺序。这相当于在同一个优先级
他的中断源的中断请求所中断。 AT89S51片内有一个中断优先级寄存器IP,字节地址为B8H, 可位寻址。只要用程序改变其内容,即可进行各中断源中断优先 级设置,IP寄存器格式见图6-7。
图6-7 IP寄存器的格式
中断优先级寄存器IP各位含义:
(1)PS—串行口中断优先级控制位,1—高级;0—低级。 (2)PT1—T1中断优先级控制位,1—高级;0—低级。 (3)PX1—外部中断1中断优先级控制位,1—高级;0—低级。 (4)PT0—T0中断优先级控制位,1—高级;0—低级。 (5)PX0—外部中断0中断优先级控制位,1—高级;0—低级。 中断优先级控制寄存器IP各位都可由程序置“1”和清“0”,
图6-2
AT89S51的中断系统结构
6.2.1
中断请求源
由图6-2,中断系统共有5个中断请求源,它们是:
(1)INT0*—外部中断请求0,外部中断请求信号(低电平或
负跳变有效)由INT0*引脚输入,中断请求标志为IE0。 (2)INT1*—外部中断请求1,外部中断请求信号(低电平或 负跳变有效)由INT1*引脚输入,中断请求标志为IE1。 (3)定时器/计数器T0,计数溢出的中断请求,标志为TF0。 (4)定时器/计数器T1,计数溢出的中断请求,标志为TF1。 (5)串行口中断请求,标志为发送中断TI或接收中断RI。
6.3
中断允许与中断优先级的控制 实现中断允许控制和中断优先级控制分别由特殊功能寄存
器区中的中断允许寄存器IE和中断优先级寄存器IP实现。下面 介绍两个特殊功能寄存器。 6.3.1 中断允许寄存器IE
各中断源开放或屏蔽,是由片内中断允许寄存器IE控制。
IE字节地址为A8H,可进行位寻址,格式见图6-5。
IE中各位的功能如下:
(1)EA—中断允许总开关控制位。 EA=0,所有的中断请求被屏蔽。 EA=1,所有的中断请求被开放。 (2)ES—串行口中断允许位。
ES=0,禁止串行口中断。
ES=1,允许串行口中断。 (3)ET1—定时器/计数器T1溢出中断允许位。 ET1=0,禁止T1溢出中断。 ET1=1,允许T1溢出中断。 (4)EX1—外部中断1中断允许位。
第 6章
AT89S51单片机的中断系统
1
6.1
AT89S51中断技术概述
中断源提出的服务请求,并快速响应与及时处理。
当中断请求源发出中断请求时,如中断请求被允许,单片机 暂时中止当前正在执行的主程序,转到中断服务处理程序处理中 断服务请求,处理完中断服务请求后,再回到原来被中止的程序 之处(断点),继续执行被中断的主程序。
6.2.2
中断请求标志寄存器
5个中断请求源的中断请求标志分别由特殊功能寄存器 TCON和
SCON相应位锁存(见图6-2)。
1.TCON寄存器 为定时器/计数器的控制寄存器,字节地址为88H,可位寻址。 既包括定时器/计数器T0、T1溢出中断请求标志位 TF0和TF1,也 包括两个外部中断请求的标志位IE1与IE0,还包括两个外部中断 请求源的中断触发方式选择位。TCON格式见图6-3。
2.SCON寄存器
串行口控制寄存器,字节地址为98H,可位寻址。SCON的低 二位锁存串口的发送中断和接收中断的中断请求标志TI和RI,格 式见图6-4。
图6-4
SCON中的中断请求标志位
SCON标志位功能:
( 1 ) TI—串口发送中断请求标志位。 CPU 将 1 字节的数据写
入串口的发送缓冲器SBUF时,就启动一帧串行数据的发送,每
总是在3~8个机器周期之间。
6.6
外部中断的触发方式选择
外部中断有两种触发方式:电平触发方式和跳沿触发方式。 6.6.1 电平触发方式
若外中断定义为电平触发方式,外部中断申请触发器状态随 着 CPU 在每个机器周期采样到的外部中断输入引脚电平变化而 变化,这能提高CPU对外部中断请求的响应速度。当外部中断源 被设定为电平触发方式时,在中断服务程序返回之前,外部中断 请求输入必须无效(即外部中断请求输入已由低电平变为高电平 ),否则CPU返回主程序后会再次响应中断。
MUL和除法指令DIV)来算,也只有4个机器周期。再加上硬件子 程序调用指令 LCALL 的执行,需要 2 个机器周期,所以,外部中
断响应的最长时间为8个机器周期。
如已在处理同级或更高级中断,外部中断请求响应时间取决 于正在执行的中断服务程序的处理时间,此情况下,响应时间 无法计算。 这样,在单一中断系统,AT89S51 对外部中断请求响应时间
数器PC内容压入堆栈以保护断点,再将中断入口地址装入PC,使
程序转向响应中断请求的中断入口地址。各中断源服务程序入口 地址是固定的,见表6-2。 其中两个中断入口间只相隔8字节,一般情况下难以安放一个 完整的中断服务程序。
因此,通常总是在中断入口地址处放置一条无条件转移指令,使
程序执行转向在其他地址存放的中断服务程序入口。 中断响应是有条件的,并不是查询到的所有中断请求都能被 立即响应,当遇到下列3种情况之一时,中断响应被封锁: (1)CPU正在处理同级或更高优先级的中断。因为当一个中断
还存在另一辅助优先级结构,其查询顺序见表6-1。
由表6-1,各中断源在同一优先级条件下,外部中断0中断优
先权最高,串行口中断的优先权最低。
6.4
响应中断请求的条件
一个中断源中断请求被响应,须满足以下必要条件: ( 1 )总中断允许开关接通,即 IE 寄存器中的中断总允许位 EA=1。 (2)该中断源发出中断请求,即该中断源对应的中断请求标
EX1=0,禁止外部中断1中断。
EX1=1,允许外部中断1中断。
(5)ET0—定时器/计数器T0的溢出中断允许位。 ET0=0,禁止T0溢出中断。 ET0=1,允许T0溢出中断。 (6)EX0—外部中断0中断允许位。
EX0=0,禁止外部中断0中断。
EX0=1,允许外部中断0中断。 AT89S51复位后,IE被清“0”,所有中断请求被禁止。IE中 与各个中断源相应位可用指令置“1”或清“0”,即可允许或禁 止各中断源的中断申请。若使某一个中断源被允许中断,除了IE
图6-5
中断允许寄存器IE的格式
IE对中断开放和关闭实现两级控制。两级控制就是有一个总
的中断开关控制位EA(IE.7位),当EA=0,所有中断请求被屏蔽 ,CPU对任何中断请求都不接受;当 EA=1时,CPU开中断,但5个 中断源的中断请求是否允许,还要由IE中的低5位所对应的5个中 断请求允许控制位的状态来决定(见图6-5)。
查询占 1 个机器周期,而这个机器周期恰好处于指令的最后一
个机器周期。在这个机器周期结束后,中断即被响应, CPU 接
着执行1条硬件子程序调用指令LCALL以转到相应的中断服务程 序入口,这需要2个机器周期。 外部中断响应最长时间为 8 个机器周期。这种情况发生在 CPU 进行中断标志查询时,刚好才开始执行 RETI 或访问 IE 或 IP 的指令,则需把当前指令执行完再继续执行一条指令后,才能 响应中断。 执行上述的 RETI 或访问 IE 或 IP 的指令,最长需要 2 个机器 周期。而接着再执行1条指令,我们按最长的指令(乘法指令
志为“1”。
(3)该中断源的中断允许位=1,即该中断被允许。 (4)无同级或更高级中断正在被服务。 中断响应就是CPU对中断源提出的中断请求的接受,当查询到 有效的中断请求时,满足上述条件时,紧接着就进行中断响应。
中断响应过程首先由硬件自动生成一条长调用指令“ LCALL
addr16”。即程序存储区中相应的中断入口地址。例如,对于外 部中断1的响应,硬件自动生成的长调用指令为: LCALL 0013H 生成LCALL指令后,紧接着就由CPU执行该指令。首先将程序计
令,才响应新的中断请求。
如存在上述3种情况之一,CPU将丢弃中断查询结果,不能 对中断进行响应。 6.5 外部中断的响应时间 在使用外部中断时,有时需考虑从外部中断请求有效(外 部中断请求标志置“ 1”)到转向中断入口地址所需要的响应 时间。下面来讨论这个问题。
外中断最短响应时间为3个机器周期。其中中断请求标志位
1--跳沿触发方式,加到INT1*脚上的外中断请求输入信号从
高到低的负跳变有效,并把IE1置“1”。转向中断服务程序时, 则由硬件自动把IE1清“0”。 (6)IT0—选择外中断请求0为跳沿触发方式还是电平触发方 式,与IT1类似。 TR1(D6位)、TR0(D4位)这2位与中断系统无关,仅与定 时器/计数器T1和T0有关,将在第6章定时器/计数器中介绍。