第五章 89C51的中断系统和定时器计数器
合集下载
第5章 AT89C51单片机的中断系统

2021/7/13
图5-6 可归纳为下面两条基本规则: (1)低优先级可被高优先级中断,反之则不能。 (2)同级中断不会被它的同级中断源所中断。
2021/7/13
若CPU正在执行高优先级的中断,则不能被任何中断源所中断 。
中断优先级寄存器IP,其字节地址为B8H,格式如图5-7。
IP各个位的含义: (1)PS——串行口中断优先级控制位
服务程序返回之前,外部中断请求输入必须无效(即变为高 电平),否则CPU返回主程序后会再次响应中断。 适于外中断以低电平输入且中断服务程序能清除外部中断请求 (即外部中断输入电平又变为高电平)的情况。
2021/7/13
5.6.2 跳沿触发方式 连续两次采样,一个机器周期采样到外部中断输入为高,下一
2021/7/13
(5)ET0:定时器/计数器T0的溢出中断允许位 0:禁止T0溢出中断; 1:允许T0溢出中断。
(6)EX0:外部中断0中断允许位。 0:禁止外部中断0中断; 1:允许外部中断0中断。
AT89C51复位后,IE清0,所有中断请求被禁止。 若使某一个中断源被允许中断,除了IE相应的位的被置“1”
(6)IT0—外部中断请求0为跳沿触发方式还是电平触发方式 ,意义与IT1类似。
2021/7/13
注意:TR1、TR0 2个位与中断无关。仅与定时器/计数器T1和 T0有关,将在第6章定时器/计数器中介绍。
当AT89C51复位后,TCON被清0,则CPU关中断,所有中断请求 被禁止。
2. SCON寄存器 SCON为串行口控制寄存器,字节地址为98H。串行口的发送中
,还必须使EA位=1。
2021/7/13
改变IE的内容,可由位操作指令来实现,即: SETB bit; CLR bit。
图5-6 可归纳为下面两条基本规则: (1)低优先级可被高优先级中断,反之则不能。 (2)同级中断不会被它的同级中断源所中断。
2021/7/13
若CPU正在执行高优先级的中断,则不能被任何中断源所中断 。
中断优先级寄存器IP,其字节地址为B8H,格式如图5-7。
IP各个位的含义: (1)PS——串行口中断优先级控制位
服务程序返回之前,外部中断请求输入必须无效(即变为高 电平),否则CPU返回主程序后会再次响应中断。 适于外中断以低电平输入且中断服务程序能清除外部中断请求 (即外部中断输入电平又变为高电平)的情况。
2021/7/13
5.6.2 跳沿触发方式 连续两次采样,一个机器周期采样到外部中断输入为高,下一
2021/7/13
(5)ET0:定时器/计数器T0的溢出中断允许位 0:禁止T0溢出中断; 1:允许T0溢出中断。
(6)EX0:外部中断0中断允许位。 0:禁止外部中断0中断; 1:允许外部中断0中断。
AT89C51复位后,IE清0,所有中断请求被禁止。 若使某一个中断源被允许中断,除了IE相应的位的被置“1”
(6)IT0—外部中断请求0为跳沿触发方式还是电平触发方式 ,意义与IT1类似。
2021/7/13
注意:TR1、TR0 2个位与中断无关。仅与定时器/计数器T1和 T0有关,将在第6章定时器/计数器中介绍。
当AT89C51复位后,TCON被清0,则CPU关中断,所有中断请求 被禁止。
2. SCON寄存器 SCON为串行口控制寄存器,字节地址为98H。串行口的发送中
,还必须使EA位=1。
2021/7/13
改变IE的内容,可由位操作指令来实现,即: SETB bit; CLR bit。
第五章 89C51的中断系统和定时器计数器..

20
单片机与嵌入式系统 MCS-51单片机复位后,IP清0,各中断源被设置为低优先级。 可由软件改变各中断源的中断优先级。可实现两级中断嵌套:
图5-6 两级中断嵌套的过程
21
单片机与嵌入式系统
MCS-51单片机响应各中断源遵守基本规则:
CPU同时接收到几个中断请求,首先响应优先级高的中断请求;
例如:对于外部中断1的响应,硬件自动生成的长调用指令为 LCALL 0013H
25
单片机与嵌入式系统 3、 外部中断的响应时间
指中断响应有效到转向中断服务程序入口地址所需时间。 ① 多中断源时,中断响应时间无法估算; ② 单中断源时,中断响应时间最短为3个机器周期,最长为 8个机器周期。
26
单片机与嵌入式系统
23
单片机与嵌入式系统
5.2.3 中断处理的过程 满足以上条件,若遇到下列情况之一时,CPU不立即响应中断: ◆ 所查询的机器周期不是当前正在执行指令的最后一个机器 周期。只有在当前指令执行完毕后,才能进行中断响应。 ◆当正在执行的指令是RETI或是访问IE或IP的指令。需要再 去执行完一条指令,才能响应新的中断请求。
7
单片机与嵌入式系统
6、中断的优先权 有多个中断源同时提出中断请求时,CPU响应中断的优先次序。
7、中断嵌套 CPU在处理中断过程中,如果出现了级别更高的中断请求,
CPU停止执行低级中断的处理程序而去优先处理高级中断。等 高级中断处理完毕后,再接着执行低级的未处理完的程序。这 种中断处理方式称为多重(级)中断或中断嵌套。
16
单片机与嵌入式系统
EA—中断允许总控位 EA=0,屏蔽所有中断请求。 EA=1,开放所有中断请求。
ET1/ET0——定时器/计数器的溢出中 断允许位。 ET0/ET1=0,禁止T0/T1溢出中断。 ET0/ET1=1,允许T0/T1溢出中断。
第6章 AT89C51中断系统与定时器计数器

6.3.1 6.3.2 6.3.3 6.3.4
定时器/计数器概述 定时器/计数器概述 定时器/计数器的控制 定时器/计数器的控制 定时器/计数器的工作方式 定时器/计数器的工作方式 定时器/计数器的计数容量及初值 定时器/计数器的计数容量及初值
6.4 定时器/计数器应用 定时器/
6.4.1定时器/ 6.4.1定时器/计数器应用的基本步骤 定时器
习题与思考6 习题与思考
17,18,19, 1,2,3,4,10,11(1),(2),17,18,19, 10, 21,22,23, 21,22,23,27
点击进下章点击进上章 点击进下章点击进上章 进下章点击
�
6.4.2定时器/ 6.4.2定时器/计数器的应用举例 定时器
【例6-5】用定时器/计数器1(T1)的工作方式1, 例 采用查询方法设计一个定时1秒的程序段. 【例6-6】要求在P1.0引脚输出周期为400μs的方波. 例 设FOSC =12MHz.使用T1,分别在方式0,方式1和 方式2下的设计程序. 【例6-7】参照图5-5,采用定时器/计数器0及其中 例 断实现LED亮点由低位到高位的循环流动,每个亮 点亮1秒,FOSC=12MHz. 【例6-8】 已知FOSC =6MHz,检测T0引脚上的脉冲 例 数,并将1秒内的脉冲数保存在内RAM 的30H及31H 单元中.(设1秒内脉冲数≤65536个).
中断系统结构 6.先权
与中断控制有关的寄存器 6.1.3 与中断控制有关的寄存器
在AT89C51单片机中涉及中断控制的有4个特殊功 能寄存器,通过对它们进行置位(置1)或清0操 作,可实现中断控制功能.
6.1.4 中断过程
AT89C51中断处理过程大致可分为四步: 中断请求,中断响应,中断服务和中断返回.
第5章89C51的中断系统

高 级 中 断 请 求
IE1 TF1 TI RI
SCON
T1
TXD RXD
中断标 志位
中断源 允许
总允许
中断优 矢量 先级 地址
低 级 中 断 请 求
6、中断寄存器
TCON寄存器——T0和T1控制寄存器
7 TF1 6 5 TF0 4 3 IE1 2 IT1 1 IE0 0 IT0
TCON
T1溢出中断标志(TCON.7): T1启动计数后,计满溢出由硬件 置位TF1=1,向CPU请求中断,此标志 一直保持到CPU响应中断后,才由硬件 自动清0。也可用软件查询该标志,并 由软件清0。
IP B8H 7 6 5 4 PS 3 2 1 0 PT1 PX1 PT0 PX0
51单片机有两个中断优先级——高级和低级
专用寄存器IP为中断优先级寄存器,用户可用软件设定
相应位为1,对应的中断源被设置为高优先级,相应位为0,对应 的中断源被设置为低优先级 系统复位时,均为低优先级 该寄存器可以位寻址
应 响 断 中 中 断 返 回
PC中去。另外,它还通知中
断系统已完成中断处理,将 清除优先级状态触发器。
特别注意:不能用RET
指令代替RETI指令!
中断处理过程示意图
中断源发中断请求 中断响应条件 是否满足?
N
Y Y
中断是否受阻?
由硬件 自动完成
N
把PC断点地址压入堆栈 相应中断源的中断入口地址 送入PC,转向中断服务程序
IE寄存器——中断允许寄存器
?允许定时器T0中断,如何设置IEIΒιβλιοθήκη A8H7 EA6
5
4 ES
3 2 1 0 ET1 EX1 ET0 EX0
AT89S51单片机中断系统和定时计数器

2、定时/计数器工作方式控制寄存器TMOD
TMOD 位定义 D7 GATE D6 C/T D5 M1 D4 M0 D3 GATE D2 C/T D1 M1 D0 M0
高4位控制T1,低4位控制T0 (1)GATE——门控位。GATE一般情况下设置为 0,此时定时/计数器的运行仅受TR0/TR1控制。 (2)C/T——定时/计数选择位。 C/T=0,为定时方式,对内部的机器周期计数。 C/T=1,为计数方式,对引脚上的脉冲信号计数, 负跳变有效。
最小系统
360Ω
P3.2
S
+5V
+5V 10K
按键信号加到外部中断0的引脚P3.2上,当S不 按下时,P3.2引脚为高电平,按下则为低电平,在 按键的过程中P3.2引脚产生中断请求信号
程序如下:
ORG 0000H
LJMP SETUP
ORG 0003H
SETB IT0
SETB EX0 SETB EA MAIN: LJMP MAIN INEX0P:MOV P1,A RL A RETI END
中断扫描控制方式独立式键盘接口电路 (在LED数码管动态扫描电路基础上)
定义S1~S4四个按键的功能分别为:第一个数码管 上数据加1(0~9循环)、第二个数码管上的数据减1 (0~9循环)、4位数据左移一次、4位数据右移一次。
4.4.4、行列式键盘接口电路
1、接口电路
又称做矩阵 式键盘接口
(2)将列线作为输出线,行线为输入线, 在所有列线输出上0,读行线。
3、中断服务
中断服务就是中断 源 请 求 CPU 做 的 任 务 , 需要编程者用指令来实 现。
4、中断返回 中断返回和子程序的返回类似,需要执 行一条返回指令RETI RETI ;①(SP)→PC15~8,SP-1→SP。 ;②(SP)→PC7~0,SP-1→SP。 中断返回时完成的操作: (1)恢复断点地址。 (2)开放同级中断 。
第5章89C51单片机中断系统2010

1、分时操作
• 计算机的中断系统可以使CPU与外设同时工作。
• CPU在启动外设后,便继续执行主程序;而外设被启动后,
开始进行准备工作。当外设准备就绪时,就向CPU发出中 断请求,CPU响应该中断请求并为其服务完毕后,返回原
来的断点处继续运行主程序。外设在得到服务后,也继续
进行自己的工作。 • 因此,CPU可以使多个外设同时工作,并分时为各外设提 供服务,从而提高了CPU的利用率和输入/输出的速度。
二、通常情况的中断源(P116)
1、I/O外设(键盘、打印机、A/D转换器等) 2、硬件故障(如电源断电) 3、实时时钟(用在定时检测和控制的场合)
4、为调试程序而设定的中断源(设置断点、 单步运行)
§5.3.3
中断控制
一、中断请求标志(TCON 、SCON) 二、中断允许控制(IE)
三、中断优先级控制(IP)
§5.1.1 无条件传送方式
CPU总是认为外设在任何时刻都处于“准备好” 的状态。 这种传送方式不需要交换状态信息,只需在程序 中加入访问外设的指令,数据传送便可以实现。 这种方法很少使用。
§5.1.2
查询传送方式(条件传送)
一、什么是查询传送方式 • 在输入时,需要查询外设的输入数据是否准备好;
EA ;CPU开中断
三、中断优先级控制
1、89C51的中断优先级 2、中断优先级寄存器IP
3、中断优先级排列顺序
4、中断优先级控制实现的功能
5、例5-2
1、89C51的中断优先级
89C51有两个中断优先级。
每个中断请求源均可编程为高优先级中断或低
优先级中断。
中断系统中有两个不可寻址的“优先级生效”
TCON TF1 (88H)
89C51的定时器、计数器解析

TH
TL
所以(TH)=FCH,(TL)=18H。
19
【例】已知晶振频率fosc=12MHz,使用定时器0以工作方式1,在P1.0输 出周期为2ms的连续正方波脉冲。试编写相关程序。
解:计算初值:TH0=FC H,TL0=18 H。
ORG 0000H
LJMP MAIN
;跳转到主程序
ORG 000BH
5
定时器/计数器的定时功能。 计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周
期,计数器加1,直至计满溢出。 定时器的定时时间与系统的时钟频率有关。因一个机器周期等于12
个时钟周期,所以计数频率应为系统时钟频率的十二分之一。如果 晶振频率为12MHz,则机器周期为1s。通过改变定时器的定时初 值,并适当选择定时器的长度(8位、13位或16位),可以调整定时 时间。
8
GATE:门控制位,用于控制定时器的启动是否受外 部中断源信号的影响。 GATE=0时,与外部中断无关, 由TCON寄存器中的 TRx位控制启动。
GATE=1时,由控制位TRx和引脚INTx共同控制启动,只
有在没有外部中断请求信号的情况下(即外部中断引
脚 IN=T1x时),才允许定时器启动。
9
2、定时控制寄存器(TCON)
(1)工作方式选择 T0为方式1计数,初值 0FFFFH,即外部计数输入端T0(P3.4)发生 一次负跳变时,T0加1且溢出,溢出标志TF0置“1”,发中断请求。 在进入T0中断程序后,启动T1。 T1定义为方式2定时。在T0脚发生一次负跳变后,启动T1每500s产 生一次中断,在中断服务程序中对P1.0求反,使P1.0产生周期1ms的 方波。
6
定时器/计数器的计数功能。 通过外部计数输入引脚T0(P3.4)和T1(P3.5)对外部信号计数,外
89C51的定时PPT课件

TMOD的地址是89H
1)功能选择位C/T: C/T =0,定时功能,计数内部机器周期脉冲; 2021/3/7C/T =1,计数功能,计数CH引EN脚LI T0(T1)输入的负脉冲。 3
5.1 89C51的定时与计数
2)方式选择位M1、M0: M1 M0 方式 4种工作方式: 0 0 0
01 1
功能描述 13 位 16 位
2021/3/7
CHENLI
8
5.1 89C51的定时与计数
4.方式3
方式3时,定时器0被分解成两个独立的8位计数 器TL0和TH0。
其中,TL0占用原定时器0的控制位、引脚和中断 源,即GATE、TR0、TF0和T0(P3.4)引脚、INT0 (P3.2)引脚。除计数位数不同于方式0、方式1外, 其功能、操作与方式0、方式1完全相同,可定时亦可 计数。定时时间为:
定时时间计算公式为:
( 256 TH 0初值 时) 钟1 周 2 期
2021/3/7
CHENLI
10
5.1 89C51的定时与计数
4.方式3
方式3时,定时器1仍可设置为方式0、方式1或方 式2。但由于TR1、TF1及T1的中断源已被定时器0占 用,此时,定时器1仅由控制位切换其定时或计数功 能,当计数器计满溢出时,只能将输出送往串行口。 在这种情况下,定时器1一般用作串行口波特率发生 器或不需要中断的场合。
确定定时器工作方式指令:
MOV TMOD,#方式字
例:设T0用方式2非门控定时,T1用方式1门控计数。
2021/3/7
MOV TMODC,HE#N0LID2H ; 1101 0010 B
4
5.1 89C51的定时与计数
定时/计数器的4种工作方式
1)功能选择位C/T: C/T =0,定时功能,计数内部机器周期脉冲; 2021/3/7C/T =1,计数功能,计数CH引EN脚LI T0(T1)输入的负脉冲。 3
5.1 89C51的定时与计数
2)方式选择位M1、M0: M1 M0 方式 4种工作方式: 0 0 0
01 1
功能描述 13 位 16 位
2021/3/7
CHENLI
8
5.1 89C51的定时与计数
4.方式3
方式3时,定时器0被分解成两个独立的8位计数 器TL0和TH0。
其中,TL0占用原定时器0的控制位、引脚和中断 源,即GATE、TR0、TF0和T0(P3.4)引脚、INT0 (P3.2)引脚。除计数位数不同于方式0、方式1外, 其功能、操作与方式0、方式1完全相同,可定时亦可 计数。定时时间为:
定时时间计算公式为:
( 256 TH 0初值 时) 钟1 周 2 期
2021/3/7
CHENLI
10
5.1 89C51的定时与计数
4.方式3
方式3时,定时器1仍可设置为方式0、方式1或方 式2。但由于TR1、TF1及T1的中断源已被定时器0占 用,此时,定时器1仅由控制位切换其定时或计数功 能,当计数器计满溢出时,只能将输出送往串行口。 在这种情况下,定时器1一般用作串行口波特率发生 器或不需要中断的场合。
确定定时器工作方式指令:
MOV TMOD,#方式字
例:设T0用方式2非门控定时,T1用方式1门控计数。
2021/3/7
MOV TMODC,HE#N0LID2H ; 1101 0010 B
4
5.1 89C51的定时与计数
定时/计数器的4种工作方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
25
单片机与嵌入式系统 3、 外部中断的响应时间
指中断响应有效到转向中断服务程序入口地址所需时间。
① 多中断源时,中断响应时间无法估算; ② 单中断源时,中断响应时间最短为3个机器周期,最长为
8个机器周期。
26
单片机与嵌入式系统
4、 外部中断的触发方式选择
(1) 电平触发方式 CPU在每个机器周期采样到的外部中断输入线的电平为低电
必须在中断服务程序中用指令对TI、RI标志清“0”。
15
单片机与嵌入式系统 二、 中断控制寄存器 中断允许控制由中断允许寄存器IE控制。
中断优先级控制由中断优先级寄存器IP控制。
1、 中断允许寄存器IE CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控
制。字节地址A8H,可位寻址。
IE对中断的开放和关闭实现两级控制。 有一个总的开关中断控制位EA(IE.7位),当EA=1,开放 中断,5个中断源的中断请求是否允许,还要由IE中的低5 位所对应的5个中断请求允许控制位的状态来决定。
串行口中断请求,中 断请求标志为发送中 图5-2 AT89S51的中断系统结构示意图 断TI或接收中断RI。
11
单片机与嵌入式系统
5.2.2
中断寄存器
一、 中断请求标志寄存器: 1、定时器/计数器的控制寄存器TCON 字节地址为88H,可位寻址。包含: T0和T1的溢出中断请求标志位TF1和TF0 外部中断请求标志位IE1与IE0。
中 断 响 应 和 处 理 过 程
4
单片机与嵌入式系统
2、中断服务程序 处理中断事件的程序段称为中断服务程序。 不同类型的中断需要不同的中断服务程序。 中断服务程序不同于一般的子程序: 子程序由某个程序调用,它的调用是由程序设定的,它的执 行时间是确定的。 中断服务程序由某个事件引发,它的执行一般是随机的,不 确定的。
图5-3
特殊功能寄存ቤተ መጻሕፍቲ ባይዱTCON的格式
12
单片机与嵌入式系统 TCON各标志位的功能: (1)IT0—选择外部中断0的触发方式: IT0=0,为(低)电平触发方式; IT0=1,为跳沿触发(下降沿)方式。 可由软件置“1”或清“0”。 (2)IE0 —外部中断0的中断请求标志位。 引脚INT0无中断请求,置IE0=0; 引脚INT0有中断请求,置IE0=1。 (3)IT1—选择外部中断1的触发方式,意义与IT0类似。
CLR CLR TI RI ;清TI标志位 ;清RI标志位
27
单片机与嵌入式系统
5、 中断请求的撤销
(1)定时器/计数器中断请求的撤消 中断请求被响应后。硬件会自动清TF0或TF1。 (2)外部中断请求的撤消 ◆ 跳沿触发方式时,外部中断请求的撤消是自动撤消的: 硬件自动清IE0或IE1,外部中断请求信号自动消失; ◆ 电平触发方式时,硬件自动清IE0或IE1,通过软硬件相结 合的方法来清除外部中断请求信号。 SETB P1.0 CLR P1.0 NOP NOP SETB P1.0
28
单片机与嵌入式系统
(3)串行口中断请求的撤消
响应串行口的中断后,CPU无法知道是接收中断还是发送
中断,还需测试这两个中断标志位,以判定是接收操作还是 发送操作,然后才清除。所以串行口中断请求的撤销只能使 用软件的方法,在中断服务程序中进行,即用如下指令在中 断服务程序中对串行口中断标志位进行清除:
8
单片机与嵌入式系统
主程序 外设1 中断请求 ①响应中断1 外设2 中断请求 外设1中断服务程序 ②响应中断2 外设2中断服务程序
④中断返回 IRET ③中断返回 IRET
9
单片机与嵌入式系统 5.2 89C51的中断系统
89C51单片机中断系统有5个中断请求源,两个中断优先 级,可实现两级中断服务程序嵌套。 每一中断源可用软件独立控制为允许中断或关中断状态, 中断优先级均可用软件来设置。
EX0/EX1=0,禁止外部中断0/1中断。 EX0/EX1=1,允许外部中断1中断。
17
单片机与嵌入式系统 几点说明: AT89C51复位以后,IE被清“0”,所有中断请求被禁止。 IE中与各个中断源相应的位可用指令置“1”或清“0” (即SETB bit;CLR bit),也可用字节操作指令实现。 若使某一个中断源被允许中断,除了IE相应的位被置“1” 外,还必须使EA位置“1”。
7
单片机与嵌入式系统 6、中断的优先权 有多个中断源同时提出中断请求时,CPU响应中断的优先次序。 7、中断嵌套 CPU在处理中断过程中,如果出现了级别更高的中断请求, CPU停止执行低级中断的处理程序而去优先处理高级中断。等
高级中断处理完毕后,再接着执行低级的未处理完的程序。这 种中断处理方式称为多重(级)中断或中断嵌套。
5.3.1 定时器/计数器的结构 5.3.2 定时器/计数器的工作方式
5.4 定时器/计数器的编程和应用
3
单片机与嵌入式系统
5.1 中断的概念
1、中断 CPU正在执行程序时,单片机外部或内部发生的某一事 件,请求CPU迅速去处理。CPU暂时中止当前的工作,转到中 断服务处理程序处理所发生的事件。处理完该事件后,再回 到原来被中止的地方,继续原来的工作。这一过程称为中断。
第5章
89C51单片机的
中断系统和定时器/计数器
1
单片机与嵌入式系统
内容概要
介绍片内功能部件中断系统的硬件结构和工作原理。 掌握与中断系统有关的特殊功能寄存器以及中断系统的 应用特性。 应能熟练地进行中断系统的初始化编程以及中断服务子
程序的设计。
◆ 介绍定时器/计数器的结构、功能和工作方式。 ◆ 掌握定时器/计数器相关的特殊功能寄存器的设置。 ◆ 介绍定时器/计数器的应用及其编程。
16
单片机与嵌入式系统
ET1/ET0——定时器/计数器的溢出中 断允许位。 ET0/ET1=0,禁止T0/T1溢出中断。 ET0/ET1=1,允许T0/T1溢出中断。
EA—中断允许总控位 EA=0,屏蔽所有中断请求。 EA=1,开放所有中断请求。
图5-5 中断允许寄存器IE的格式
ES—串行口中断允许位。 ES=0,禁止串行口中断。 ES=1,允许串行口中断。
去执行完一条指令,才能响应新的中断请求。
24
单片机与嵌入式系统 2、中断响应的过程: ① 由硬件自动生成一条长调用指令:
LCALL addr16 ; addr16为相应中断源的入口地址 MCS-51各中断源服务程序的入口地址是固定的。
② 由CPU执行该指令
将PC的内容压入堆栈以保护断点,再将中断入口地址装入PC。 一般中断入口地址处存放一条LJMP(或AJMP)指令,使CPU转向执 行中断服务程序。 例如:对于外部中断1的响应,硬件自动生成的长调用指令为 LCALL 0013H
(4)IE1 — 外部中断1的中断请求标志位,意义与IE0类似。
13
单片机与嵌入式系统 (5)TF0 —T0溢出中断请求标志位。 T0计数后,溢出时,由硬件置“1”,向CPU申请中断, CPU响应TF0中断时,硬件自动清“0”TF0,TF0也可由软件清 0。 (6)TF1—T1的溢出中断请求标志位,功能和TF0类似。 当MCS-15复位后,TCON被清0,所有中断请求被禁止。
TR1(D6位)、TR0(D4位)为计数器计数运行控制位,与中
断系统无关,将在定时器/计数器中介绍。
14
单片机与嵌入式系统 2、串行口控制寄存器SCON
字节地址为98H,低二位锁存串行口的发送中断和接收中 断的中断请求标志TI和RI。格式如图。
(1)TI—串口发送中断请求标志位。串口每发送完一帧串行 数据后,硬件自动置TI为“1” 。 (2)RI—串行口接收中断请求标志位。串行口接收完一个串 行数据帧,硬件自动使RI中断请求标志置“1”。
3、中断源 引发中断的事件或产生中断请求的来源称为中断源。 中断源向CPU提出的处理请求称为中断请求。 引起中断的因素很多,可来自CPU内部和外部。 89C51单片机的中断源来自CPU外部硬件。
5
单片机与嵌入式系统
4、 中断系统 为实现计算机的中断处理功能而配置的功能部件称为中断系统 5、中断过程 计算机处理这些随机发生的中断事件的过程。包括: (1)中断源请求中断 (2)中断响应 (3)中断服务
优先权最低。
22
单片机与嵌入式系统
5.2.3 中断处理的过程 分为三个阶段: 中断请求、中断查询和响应、中断处理和中断返回 1、响应中断的条件
(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1
(2)该中断源发出中断请求,即对应的中断请求标志为“1” (3)该中断源的中断允许位E×=1,即该中断被允许
(4)无同级或更高级中断正在被服务。
23
单片机与嵌入式系统
5.2.3 中断处理的过程 满足以上条件,若遇到下列情况之一时,CPU不立即响应中断: ◆ 所查询的机器周期不是当前正在执行指令的最后一个机器 周期。只有在当前指令执行完毕后,才能进行中断响应。
◆当正在执行的指令是RETI或是访问IE或IP的指令。需要再
20
单片机与嵌入式系统
MCS-51单片机复位后,IP清0,各中断源被设置为低优先级。 可由软件改变各中断源的中断优先级。可实现两级中断嵌套:
图5-6 两级中断嵌套的过程
21
单片机与嵌入式系统 MCS-51单片机响应各中断源遵守基本规则: CPU同时接收到几个中断请求,首先响应优先级高的中断请求; 低优先级的中断服务可被高优先级中断,反之则不能; 同级中断不会被它的同级中断源所中断; 在同时收到几个同优先级的中断请求时,优先响应哪一个中 断,取决于内部的查询顺序。查询顺序次序为: 中断源 中断级别 外部中断0 最高 即:各中断源在同一 T0溢出中断 个优先级的条件下, 外部中断1 外部中断0的中断优先 T1溢出中断 权最高,串行口中断 串行口中断 最低