第五章80C51单片微机的中断系统原理及应用 (2)

合集下载

单片微机的中断系统原理及应用

单片微机的中断系统原理及应用

⒋ 实现人机联系
比如通过键盘向单片微机发出中断请求, 比如通过键盘向单片微机发出中断请求,可以实 时干预计算机的工作。 时干预计算机的工作。
5.2 80C51的中断系统 80C51的中断系统
80C51 的中断系统包括中断源及标志锁存器 (TCON、 的中断系统包括中断源及标志锁存器(TCON 80C51的中断系统包括中断源及标志锁存器(TCON 、 SCON)、中断允许寄存器IE 中断优先级寄存器IP IE、 IP、 SCON)、中断允许寄存器IE、中断优先级寄存器IP、中 断矢量等。 断矢量等。 80C51中 只有两级中断优先级。 80C51的中断 在 80C51 中 , 只有两级中断优先级 。 80C51 的中断 系统结构示意图如 图5–2 所示。 2 所示。
⑴(P3.2)—
输入引脚。 外部中断 0 输入引脚。
低电平有效; 当IT0(TCON.0)=0 时,低电平有效; IT0 TCON. 下降沿有效。 当IT0(TCON.0)=1 时,下降沿有效。 IT0 TCON. ⑵ (P3.3)——外部中断 1 输入引脚。 输入引脚。 外部中断 低电平有效; 当IT1(TCON.2)=0 时,低电平有效; IT1 TCON. 下降沿有效。 当IT1(TCON.2)=1 时,下降沿有效。 IT1 TCON.
1. 外部中断
外部中断是由外部信号引起的,共有两个外部中断, 外部中断是由外部信号引起的,共有两个外部中断, INT0 (P3 INT1 它 们 的 中 断 请 求 信 号 分 别 从 引 脚 INT0 (P3.2) 和 INT1 (P3 上引入。 (P3.3) 上引入。 外部中断请求有两种信号触发方式, 外部中断请求有两种信号触发方式,即电平有效方 式和跳变有效方式,可通过设置有关控制位进行定义。 式和跳变有效方式,可通过设置有关控制位进行定义。 当设定为电平有效方式时, INT0 INT1 当设定为电平有效方式时,若INT0或INT1引脚上采 样到有效的低电平,则向CPU提出中断请求; CPU提出中断请求 样到有效的低电平,则向CPU 提出中断请求; 当设定为跳 变有效方式时, INT0 INT1 引脚上采样到有效负跳变, 变有效方式时 , 若 INT0 或 INT1 引脚上采样到有效负跳变 , 则向CPU提出中断请求。 CPU提出中断请求 则向CPU提出中断请求。

第5章80C51的中断系统及定时计数器

第5章80C51的中断系统及定时计数器

M1
M2
M3
M4
M5
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
中断 ε
有效
标志查询
保护断点,长调用至入口
中断服务
中断响应至少需要3个完整的机器周期(3~8个)!
受阻时要附加3~5个机器周期(无同级或高级中断正进行) 查询周期不是当前指令的最后机器周期(如MUL,+3) 查询周期恰逢RETI类指令(且后跟MUL指令+5)
RI:串口接收中断标志,响应中断时不能自动清除 TI:串口发送中断标志,响应中断时不能自动清除
2019/9/30
11
补充知识---中断请求的撤除
1、定时器中断请求的撤除: 对于定时器0或定时器1溢出中断,CPU在响应中断后由
硬件自动清除中断标志位TF0或TF1,无须采取其他措施。 2、串行口中断的撤除:
5
IP
PX0 1 0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
硬件查询




1


级 中断入口
中断源


0




级 中断入口
中断源
5.1.2 中断请求源和中断控制
中断请求源及中断请求标志 外部中断0(INT0) 外部中断1(INT1) T0溢出中断(TF0) T1溢出中断(TF1) 串行口中断(RI或TI)
状态触发器的复位由中断返回指令RETI控制。
2019/9/30
17

第5章80C51的中断系统及定时计数器分析

第5章80C51的中断系统及定时计数器分析

5.1.2 80C51的中断源
一、中断源
能够向CPU发出中断申请的部件称为中断源。
80C51单片机有5个中断源。见下表
中断源
说明
外部中断 INT 0
定时器T0中断
从P3.2引脚引入的那 向外些C部P部中U件申断请可申中以请 定时器T0溢出时引断发呢中?断申请
外部中断 INT 1 从P3.3引脚引入的外部中断申请
中断响应
保护断点
继续看书——继续A的工作
中断返回
3
第5章 80C51的中断系统及定时、计数器
单片机原理及系统设计
先接电话,然 后再继续看书, 这样效率最高!
中断原因:
一个人不可能同时 完成两项任务。
单片机 只有一个CPU,一旦面临
多任务,它也会 中断吗?
4
第5章 80C51的中断系统及定时、计数器
定时器T1中断 定时器T1溢出时引发中断申请
串行口中断
一次串行发送或接收完成后,发出中断申 请
9
第5章 80C51的中断系统及定时、计数器
单片机原理及系统设计
ห้องสมุดไป่ตู้
二、 中断控制——中断的控制“工具”
单片机通过对4个特殊功能寄存器实施中断控制:
• 中断允许寄存器IE • 中断优先级寄存器IP • 定时/计数器及外部中断控制寄存器TCON • 串口控制寄存器SCON
学习重点和难点
➢定时/计数初值的计算 ➢能读懂教材中的控制实例,学会编写同等难度 的中断、定时/计数程序
1
第5章 80C51的中断系统及定时、计数器
单片机原理及系统设计
第五章 80C51的中断系统及定时/计数器
5.1 80C51的中断系统 5.2 80C51的中断处理过程 5.3 80C51的定时/计数器

第5章 80C51单片微机的中断系统原理及应用

第5章  80C51单片微机的中断系统原理及应用

在80C51中,需要用软件对以下5个内容进行设置:
⑴ 中断服务程序入口地址的设定。
⑵ 某一中断源中断请求的允许与禁止。
5.4 中断响应过程和响应时间
5.4.1中断的响应过程
中断响应过程的时序

⒈ 中断采样
针对外部中断请求信号进行的,而内部中断请求 都发生在芯片内部,可以直接置位TCON或SCON中 的中断请求标志。 在每个机器周期的S5P2期间,各中断标志采样相应 的中断源,并置入相应标志
⒉ 中断查询 若查询到某中断标志为 1 ,则按优先级的高低进 行处理,即响应中断。 而 CPU 则在下一机器周期的 S6期间按优先级的顺 序查询各中断标志。
⑴ TI(SCON.1): 串行口发送中断源。 ⑵ RI(SCON.0): 串行口接受中断源。
5.3.2
中断允许控制
中断允许和禁止由中断允许寄存器IE控制。
中断允许寄存器IE:
◆IE寄存器中各位设置:
为0时,禁止中断;为1时,允许中断 ◆系统复位后IE寄存器中各位均为0,禁止所有中断
⑴ EX0:外部中断0中断允许位。 ⑵ ET0:T0中断允许位。 ⑶ EX1:外部中断1中断允许位。 ⑷ ET1:T1中断允许位。 ⑸ ES:串行口中断允许位。 ⑹ EA:CPU中断允许位
外部中断源查询流程图
INT0的中断服务程序如下:
PINT0:PUSH PSW PUSH ACC JB P1.0, LOOP1 JB P1.l,LOOP2 ;转向中断服务程序1 ;转向中断服务程序2 ;保护现场
JB P1.2,LOOP3
JB P1.3,LOOP4
;转向中断服务程序3
;转向中断服务程序4
当IT1 (TCON.2)= 1 时,下降沿有效

第5章-80C51单片机的中断系统教程文件

第5章-80C51单片机的中断系统教程文件
TCON的低4位用于控制外部中断, TCON的高4位用于控制定时/计数器的启动 和中断申请。
2、SCON(串行口控制寄存器)的中断标志
❖与中断有关的是其低2位 ❖RI(SCON.0),串行口接收中断标志位。当允 许串行口接收数据时,每接收完一个串行帧,由 硬件置位RI。同样,RI必须由软件清除。 ❖TI(SCON.1),串行口发送中断标志位。当 CPU将一个发送数据写入串行口发送缓冲器时, 就启动了发送过程。每发送完一个串行帧,由硬 件置位TI。CPU响应中断时,不能自动清除TI, TI必须由软件清除。 ❖单片机复位后,TCON和SCON各位清0。
第5章-80C51单片机的中断系统
主程序A
断点
响应 中断服务程序B
返回
……
RETI
引起CPU中断的根源,称为中断源。中断源向CPU提出的 中断请求。CPU暂时中断原来的事务A,转去处理事件B。对 事件B处理完毕后,再回到原来被中断的地方(即断点),称 为中断返回。实现上述中断功能的部件称为中断系统(中断 机构)。
二、中断优先级控制
80C51单片机有两个中断优先级,即可实现二级中断服 务嵌套。每个中断源的中断优先级都是由中断优先级寄存器 IP中的相应位的状态来设定的 。某位设定为1,则相应中断源为
高优先级;某位设定为0,则相应中断源为低优先级。单片机复位时, IP=0,各中断源同为低优先级。
❖PX0(IP.0),外部中断0优先级设定位; ❖PT0(IP.1),定时/计数器T0优先级设定位; ❖PX1(IP.2),外部中断1优先级设定位; ❖PT1(IP.3),定时/计数器T1优先级设定位; ❖PS (IP.4),串行口优先级设定位。
5.2.2 中断响应过程
❖将相应的优先级状态触发器置1(以阻断 后来的同级或低级的中断请求)。

第五章 80C51的中断系统及定时计数器解析

第五章  80C51的中断系统及定时计数器解析

TF1、TR1、TF0和TR0位用于定时器/计数器; IE1、IT1、IE0、IT0位用于外部中断。
外部中断标志IE1、IE0(用IEx表示) 外部中断触发方式设置IT1、IT0(用ITx表示)
电平触发方式(ITx=0),INTx引脚低电平时IEx=1(向CPU请求中 断),响应中断后IEx不自动清0(INTx引脚状态)。 边沿触发方式(ITx=1),INTx引脚负跳变时IEx=1 (向CPU请求中 断),响应中断后IEx自动清0。
2020/10/25
7
5.1 80C51单片机的中断系统
两种触发方式比较:
电平方式时, INTx低电平必须保持到获得响应时,否则 就会漏掉;在中断服务结束前,INTx低电平必须撤除,否则 中断返回之后将再次产生中断。
边沿方式时,采样到有效下降沿后,在IEx中将锁存一个1。 若CPU暂时不能响应,申请标志也不会丢失,直到响应时才 清0。
PX0:外中断0优先级 PT0:T0中断优先级 PX1:外中断1优先级
PT1:T1中断优先级 PS :串口中断优先级
2020/10/25
11
5.1 80C51单片机的中断系统
中断的优先级
中断源 外部中断0 定时/计数器0 外部中断1 定时/计数器1
串行口
中断标志 IE0 TF0 IE1 TF1
R1或T1
2
5.1 80C51单片机的中断系统
CPU进行工作A时发生了事件B,请求CPU马上处理 CPU暂时中断当前工作A,转去处理事件B 事件B处理完后,回到工作A被中断的地方继续处理A工作
主程序A 断点
……
响应
返回
RETI 中断服务程序B
2020/10/25
3

第五章80C51的中断系统

第五章80C51的中断系统
1.定时器/计数器的控制寄存器TCON
位地址 TCON
8FH TF1
8DH TF0
8BH 8AH 89H 88H IE1 IT1 IE0 IT0 88H
触发方 0 低电平 式选择 1 下降沿
中断请求标志
TCON寄存器——T0和T1控制寄存器
位地址 TCON
8FH TF1
8DH TF0
8BH 8AH 89H 88H IE1 IT1 IE0 IT0
关中断
中 断 服 务 程 序
保护现场 开中断 中断服务 关中断 恢复现场 开中断 中断返回
保护现场和 恢复现场的 过程中不允 许中断,以 免现场遭到 破坏。
保护和恢复现场之后 的开中断是为了允许 有更高级中断打断此 中断服务程序。
断点地址由堆栈弹入PC
硬件自 动完成
5.4 中断请求的撤除
CPU响应某中断请求后,在中次中断。
外部、定时计数 中断请求标志; 外部中断触发方 式选择 0 低电平1 下降沿 串行中断 请求标志
中断允许控制寄存器IE
D7 EA D6 D5 D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0
0 禁止,1允许
中断优先级控制寄存器IP
D7 D6 D5 D4 PS D3 D2 D1 PT1 PX1 PT0 D0 PX0
88H
T1溢出中断标志(TCON.7): T1启动计数后,计满溢出由硬件 置位TF1=1,向CPU请求中断,此标志 一直保持到CPU响应中断后,才由硬件 自动清0。也可用软件查询该标志,并 由软件清0。
TCON寄存器——T0和T1控制寄存器
位地址 TCON
8FH TF1
8DH TF0
8BH 8AH 89H 88H IE1 IT1 IE0 IT0

单片机原理及应用:第5章 80C51的中断系统及定时计数器

单片机原理及应用:第5章 80C51的中断系统及定时计数器

5.2.3 中断返回
RETI的功能: 将压入堆栈的断点地址从栈顶弹回PC 将优先级状态触发器清0
注意: 不能用RET指令代替RETI指令。 中断服务程序中PUSH与POP须成对使用
5.2.4 中断程序举例
例5-1:单外部中断源。系统上电,发光管由左至右依次亮灭, 形成循环,间隔时间为0.5s。按键采用中断方式接入,每按 一次按键K,流水方向改变一次。
低优先级中断服务,能被高优先级中断
有2个优先级状态触发器: 高优先级状态触发器 低优先级状态触发器
5.2 80C51单片机中断处理过程
5.2.1 中断响应条件和时间
中断响应条件 有中断请求; 对应中断允许位为1; 开中断(即EA=1)。 同时满足时,才可能响应中断。
中断服务的进入:
每个周期的S5P2,采样各中断源。采样 值在下一个周期按优先级和内部顺序查询。
受阻未得到响应的中断,若条件消失时该中 断标志已不再有效,该中断将不被响应。
中断响应时间
M1
M2
M3
M4
M5
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
中断 ε 标志
void t0() interrupt 1 {
if(Flag0) Flag0=0; } void Ex1Isr() interrupt 2 {
if(!Flag0) Flag0=1; }
例 5个外部中断源系统
INT0
1 +5V
XI0
INT1
1
XI1
1
XI2
1
XI3

第5章 80C51单片机的中断组成及应用

第5章 80C51单片机的中断组成及应用

三、80C51中断系统的应用 80C51中断系统的应用
2、二极管的作用 3、多中断源与单片机的连接
三、80C51中断系统的应用 80C51中断系统的应用
4、程序设计流程
一、中断的概念
2个处部中 断源 定时器/计数器0, 定时器/计数器0 记作T0 记作T0 定时器/计数器1 3个内部中 定时器/计数器1, 断源 记作T1 记作T1 串行口中断 由P3.2引脚引入 P3.2引脚引入 由P3.3引脚引入 P3.3引脚引入 在单片机内部由T0向 在单片机内部由T0向 T0 CPU发出 CPU发出 在单片机内部由T1向 在单片机内部由T1向 T1 CPU发出 CPU发出 在单片机内部由串行 口向CPU发出 口向CPU发出 CPU
一、中断的概念
3、中断的意义 可以实现CPU与外设之间的同步工作。 CPU与外设之间的同步工作 (1) 可以实现CPU与外设之间的同步工作。 可以提高CPU的实时处理能力。 CPU的实时处理能力 (2) 可以提高CPU的实时处理能力。 可以自动进行故障处理。 (3) 可以自动进行故障处理。 4、中断源 能够产生和传递中断请求信号的渠道, 能够产生和传递中断请求信号的渠道,称为中断系统 的中断源。 的中断源。 80C51单片机的中断源一共有5 80C51单片机的中断源一共有5个。 单片机的中断源一共有
三、80C51中断系统的应用 80C51中断系统的应用
三、80C51中断系统的应用 80C51中断系统的应用
1、数码管显示原理 LED数码管内部含有8个发光二极管。 LED数码管内部含有8个发光二极管。 数码管内部含有
三、80C51中断系统的应用 80C51中断系统的应用
三、80C51中断系统的应用 80C51中断系统的应用

第5章1 80C51单片机的中断系统

第5章1 80C51单片机的中断系统

29
中断响应

中断响应的主要内容是由硬件自动生成一个长调 用指令,指令格式为“LCALL addr16”。

Addr16是程序存储器中断区中各中断的入口地址,即 中断向量。 【例】对于外部中断0的响应,产
生的长调用指令为
LCALL 0003H

优先级触发器被置位。 生成LCALL指令后,紧接着由CPU执行。
19
外部中断请求采样

外部中断来自单片机芯片外部,只有通过
采样才知道是否有中断请求信号到来

采样是在每个机器周期的S5P2对引脚
INT0(P3.2)和INT1(P3.3)

采集到有效的中断请求信号,将IE0或IE1 置1
20
外部中断的中断请求

通过CPU对于引脚采样得到的
电平方式:采样到低电平即为有效的中断请

教学要求

2
什么是中断

在CPU执行程序过程中,由于CPU内部或者
外部某种随机事件的发生,强迫CPU暂时停
止正在执行的程序而转向对发生的事件进
行处理,事件处理结束后又能回到原来中
止的程序,接着中止前的状态继续执行原
来的程序,这一过程称为中断。
3
中断方式(CPU被动)
主程序 中断请求 中断响应
12
中断允许寄存器 IE (Interrupt Enable)
用于控制是否允许使用中断。 位于内部RAM的A8H,位地址为AFH-A8H。
位地址 AFH 位符号 EA -
ACH ES
ABH ET1
AAH EX1
A9H ET0
A8H EX0
13
IE的位定义

单片机原理及接口技术 第五章 80C51单片微机的中断系统原理及应用

单片机原理及接口技术 第五章  80C51单片微机的中断系统原理及应用

5-5 中断服务程序设计
5-5-1 中断处理过程总结 一.中断响应条件 1.有中断请求信号 系统处于开中断状态(初始化设计完成) 2. 系统处于开中断状态(初始化设计完成) 二.中断响应过程 1.关中断:屏蔽其它中断请求信号(自动)。 .关中断:屏蔽其它中断请求信号(自动)。 2.保护断点:将断点地址压入堆栈保存,即当前PC值入栈(自动) .保护断点:将断点地址压入堆栈保存,即当前PC值入栈(自动) PC值入栈 3.寻找中断源:中断服务程序入口→PC,转入中断服务(自动)。 .寻找中断源:中断服务程序入口→PC,转入中断服务(自动)。 4.保护现场:将中断服务程序使用的所有寄存器内容入栈。 .保护现场:将中断服务程序使用的所有寄存器内容入栈。 5.中断处理:执行中断源所要求的程序段。 .中断处理:执行中断源所要求的程序段。 6.恢复现场:恢复被使用寄存器的原有内容。 .恢复现场:恢复被使用寄存器的原有内容。 7.开中断:允许接受其它中断请求信号(自动)。 .开中断:允许接受其它中断请求信号(自动)。 8.中断返回:执行RETI指令,栈顶内容→PC,程序跳转回断点处。 .中断返回:执行RETI指令,栈顶内容→PC,程序跳转回断点处。 RETI指令
≥1 中断请求1 中断请求 中断请求2 中断请求 中 断 源 寄 存 中断请求7 中断请求 器
INT 单片机 P1
中断查询程序: 中断查询程序: INTS: V INTS:MOV A,P1 ACC. SV1 JB ACC.0,SV1 ACC.1, JB ACC.1,SV2 … SV1: … SV1: … SV2: … SV2:
5-5-2 中断源查询 寻找中断源:每个中断源对应一个中断服务程序。 寻找中断源:每个中断源对应一个中断服务程序。 中断查询方式 1.中断源查询电路 只要初始化开中断, 只要初始化开中断,该步由系统自动完成 2.软件查询方式 用指令查询各个中断标志位。 用指令查询各个中断标志位。 特别适用于外部扩展多个中断源的情况。 特别适用于外部扩展多个中断源的情况。 5-5-3 多中断源系统

第5章80C51单片机的中断与定时

第5章80C51单片机的中断与定时

位符号 EA /
/ ES ET1 EX1 ET0 EX0
与中断控制有关的控制位共有6位: (a)EA:中断允许总控制位
EA=0:中断总禁止; EA=1:中断总允许; (b)EX0、EX1:外部中断允许控制位 EX0、EX1=0:禁止外中断; EX0、EX1=1:允许外中断; (c)ET0、ET1:定时器/计数器中断允许控制位 ET0、ET1=0,禁止定时(或计数)中断; ET0、ET1=1,允许定时(或计数)中断; (d)ES:串行中断允许控制位 ES=0,禁止串行中断;
1)采用中断方式时,作中断请求标志位使用; 2)采用查询方式时,作查询状态位来使用;
无论采用何种方式,都必须利用软件对该位清0。
(3)中断允许控制寄存器(IE) IE的功能:中断系统的开关。
IE的字节地址:0A8H;位地址:0AFH~0A8H。 IE的内容及格式如下:
位地址 AFH AEH ADH ACH ABH AAH A9H A8H
第5章 80C51单片机的中断与定时
教学基本要求: (1)、了解单片机系统有关中断的概念; (2)、了解单片机定时器/计数器的功能; (3)、熟悉与中断控制有关的控制寄存器的功能及用法; (4)、熟悉与定时/计数控制有关的控制寄存器功能及用法; (5)、掌握单片机中断系统的应用方法; (6)、掌握单片机定时器/计数器的应用方法;
(b)IT0、IT1:外中断请求触发方式控制位 IT0(IT1)=1,脉冲方式(后沿负跳有效); IT0(IT1)=0,电平方式(低电平有效); 由软件置1或清0,即人工编程。 例: SETB IT0;或CLR IT0;
(C)TF0、TF1:计数溢出标志位 当计数结构产生溢出时,由硬件电路对该位自动置1; 当转向中断服务时,再由硬件电路对该位自动清0。 计数溢出标志位的使用有两种情况: 1)采用中断方式时,作中断请求标志位使用; 2)采用查询方式时,作查询状态位来使用,必须利用软件
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;初始化程序首地址 ;置堆栈指针 ;置边沿触发方式 ;置高优先级 ;开中 MAIN主程序可以处理 ;里程计数器清0 ; 循环显示等任务。 ; ;转主程序,并等待中断 ;中断服务子程序首地址 ;保护现场 ; MAIN: ACALL DISP ;读低8位计数器 ;低8位计数器加2m NOP ;回存 ; NOP ;中8位计数器加进位 ;回存 SJMP MAIN ; ;高8位计数器加进位 ;回存 ;恢复现场 ; ;中断返回
⑴ 中断
⑵ 中断源
⑶ 中断优先级 ⑷ 中断嵌套
⒉ 单片微机的中断系统需要解决的问题 图5-1
⑴ CPU能及时响应中断(S5P2查询),处理完后能返回 ⑵多个中断源同时申请时,能实现中断优先级的控制 ⑶实现中断嵌套,并能逐级正确返回原断点处
5.1.2 中断的主要功能
The main function of the interrupt
;中断入口地址
中断结束: RETI
5.4.2 中断响应时间
响应时间: 从查询中断请求标志位到转向中断服务入口地址所需
Interrupt response time
的机器周期数
▲ 最快响应时间——3个机器周期 1个周期(查询)+2个周期(长调用LCALL) ▲ 最长时间——8个机器周期 指令RET、RETI或访问IP、IE后,必须再执行一条指令
5.3.3 中断优先级Interrupt Priority
●中断优先级寄存器IP: IP 位名称 中断源 D7 — — D6 D5 — — D4 PS D3 PT1 D2 PX1 INT1 D1 PT0 T0 D0 PX0 INT0
— — 串行口 T1
中断源
中断优先级
⒈ 外部中断0
⒉ 定时器T0中断 ⒊ 外部中断1 ⒋ 定时器T1中断 ⒌ 串行口中断 ⒍ 定时器T2中断
⒈ 实现CPU与外部设备的速度配合 ⒉ 实现实时控制
⒊ 实现故障的及时发现及处理
⒋ 实现人机联系
5.2 80C51 的中断系统
80C51 interrupt system
80C51的中断系统包括: 中断源 中断允许寄存器IE 中断优先级寄存器IP
中断矢量等
在80C51中,有两级中断优先级。图5–2
2个周期执行当前指令(含有1个周期查询)+4个周期 乘除指令+2个周期长调用=8个周期
5.5 外部中断源的扩展
The expansion of the external interrupt sources
5.5.1 采用“OC门”经“线或”后实现
5.5.2 通过片内定时器/计数器来实现
5.5.1 采用“OC门”经“线或”后实 现
5.5.2 通过片内定时器/计数器来实现
Through the on-chip timer / counter to implement 例. 把外部中断请求信号连到T1引脚上
ORG 0000H AJMP MAIN ORG 001BH LJMP INT2 ORG 0030H MAIN:MOV TMOD,#60H MOV TL1,#0FFH MOV TH1,#0FFH SETB EA SETB ET1 SETB TR1 SJMP $ INT2: -----RETI
● 中断服务程序的设计
要点:Key point
中断的基本概念The basic concept of the interrupt 80C51中断源80C51 interrupt sources 中断控制寄存器Interrupt Control Register 中断处理过程
Interrupt processing
51单片机IO端口操作的一个有趣现象:我想实现P1.1端
口跟随P1.4端口同步输出,都是驱动LED,P1.4端口使
用定时器定时翻转,主循环程序随时判断P1.4状态,同 步驱动P1.1。程序如下:
FLAG BIT 00H CPL FLAG MOV C,FLAG MOV OUT,C
看来没问题,可是下载到单片机中, 只见OUT闪烁,LED根本不动,奇 怪??
最高
最低(80C52)
5.3.4 外部中断触发方式 External interrupt trigger
◆ IT1、IT0=0低电平触发
◆ IT1、IT0=l下跳变触发
中断请求信号高、低电平应至少各保持一个机器周期
5.3.5
中断请求的撤除
The removal of the interrupt request
串行发送 串行接收 — 中断标志 中断标志
5.3.2 中断允许控制
Interrupt Enable Control ●中断允许寄存器IE: IE D7 D6 D5 D4 D3 D2 D1 D0
位名称 中断源
EA 总中 断
— — ES ET1 EX1 — — 串行口 T1 INT1
ET0 T0
EX0 INT0
ORG STAT: MOV SETB MOV MOV MOV MOV MOV LJMP ORG INT: PUSH PUSH MOV ADD MOV CLR ADDC MOV CLR ADDC MOV PUSH PUSH RETI
0100H SP,#60H IT0 IP,#01H IE,#81H 30H,#0 31H,#0 32H,#0 MAIN 0200H Acc PSW A,30H A,#2 30H,A A A,31H 31H,A A A,32H 32H,A PSW Acc
中断优先控制和中断嵌套
Nested interrupts and interrupt priority control
中断系统的应用Interrupt System Application
5.1 中断系统概述Interrupt System summarize
5.1.1单片微机的中断系统需要解决的问题 ⒈ 中断系统的几个概念:
5.4.1中断的响应过程
图 5- 4 中断采样→中断查询→中断响应
⒈中断采样:在机器周期的S5P2采样外中断源并置标志
⒉ 中断查询:在S6时按优先级的顺序查询各中断标志
若有中断标志,则从下一个机器周期的S1状态开始进 行中断响应。
3.中断响应: 由硬件自动产生一条LCALL指令
LCALL addr16
TCON
TF1 TR1 TF0 TR0 IE1
IT1
IE0
IT0
TH0(1) TL0(1) 计数溢出→标志位TF0(TF1)置1→申请中断 ⒊ 串行中断Serial interrupt 产生: 串行口RXD/TXD发送/接收完一帧串行数据时→中断请求
பைடு நூலகம்
5.2.2 中断矢量Interrupt vector
◆矢量中断: 就是中断入口地址 ◆矢量地址由硬件直接给出 中断源 中断矢量地址
外部中断0(INT0) 定时器/计数器0(T0) 外部中断1(INT1) 定时器/计数器1(T1) 串行口(RI、TI) 定时器/计数器2
0003H 000BH 0013H 001BH 0023H 002BH
表5-1 中断矢量地址
【例】
要求:一个按钮开关控制8个LED,每按一下按钮灯就移 位一次,依次点亮八盏灯中的一盏。
分析:通过外部中断1,在中断服务中将B寄存器 里的内容左环移一位。初始化 (B)=FEh, 采用边 沿触发。
P1.0 P1.7
VCC
INT1
300 VCC
ORG 0000H LJMP MAIN ORG 0013H ;中断矢量 LJMP INT MAIN:SETB EA ;开总中断允许“开关” SETB EX1 ;开分中断允许“开关” SETB IT1 ;边沿触发 MOV B,#0FEH ;给 B 寄存器赋初值 HERE:SJMP HERE ;原地等待中断申请 INT:MOV A,B RL A MOV B,A MOV P1,A RETI ;自B寄存器中取数 ;左环移一次 ;存回B,备下次取用 ;输出到P1口 ;中断返回
5.2.1 中断源Interrupt Sources
80C51有5个中断源,80C52有6个(增加一个定时器/计数器T2) ◆2个外部中断源INT0和INT1:外部设备的中断
请求信号、掉电等故障信号都可以从INT0或INT1引脚
输入。
◆3个内部中断源:T0、T1、和串行口。
1. 外部中断External interrupt ◆外部中断引入: /INT0 、/INT1 ◆外部中断请求触发方式: 低电平、下跳沿 当IT0=0 时, INT0低电平有效 当IT0=1时, INT0下降沿有效 当IT1=0 时, INT1低电平有效 当IT1=1时, INT1下降沿有效 ⒉ 定时中断Timer interrupt(T0、T1) 产生:
use of "OC gate" by "line or" post-implementation
PINT0:PUSH PSW PUSH ACC
;保护现场
JB P1.0, LOOP1
JB P1.l,LOOP2 JB P1.2,LOOP3
;转向中断服务程序1
;转向中断服务程序2 ;转向中断服务程序3
JB P1.3,LOOP4
INTFH: POP ACC POP PSW RETI
;转向中断服务程序4
;恢复现场
LOOP1:… AJMP INTFH LOOP2:… AJMP INTFH LOOP3:… AJMP INTFH LOOP4:… AJMP INTFH
;中断服务程序1
;中断服务程序2 ;中断服务程序3 ;中断服务程序4
MOV C,FLAG
第五章 80C51单片微机的 中断系统原理及应用
80C51 single-chip microprocessor interrupt system theory and application
相关文档
最新文档