第5章 中断系统PPT课件
合集下载
第五章GPIO和中断
GPIO课程实验程序.doc
对C口的6个GPIO管脚进行操作,设计花 样流水灯
#include "stm32f10x.h“ #define LED_ALL GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4| GPIO_Pin_5 int main(void) { unsigned char j=0; chLsd=0xFF;
对于双向复用功能,端口位必须配置复用功能 输出模式(推挽或开漏)。
如果把端口配置成复用输出功能,则引脚和输出寄 存器断开,并和片上外设的输出信号连接。
如果软件把一个GPIO脚配置成复用输出功能,但是 外设没有被激活,它的输出将不确定。
模拟输入配置
GPIO寄存器的操作
SM32F10X硬件文档.PDF
GPIO_Mode值
例如:IO配置
GPIO_Mode_AIN = 0x0, 模拟输入 GPIO_Mode_IN_FLOATING = 0x04, 浮空输入 GPIO_Mode_Out_OD = 0x14, 表示配置相应管脚为GPIO开漏输出(真双向IO) GPIO_Mode_Out_PP = 0x10, 通用推挽输出模式 GPIO_Mode_AF_OD = 0x1C, 表示配置相应管脚为复用功能的开漏输出 GPIO_Mode_AF_PP = 0x18 复用功能的推挽输出模式
GPIOx_BSRR和GPIOx_BRR寄存器允许 对任何GPIO寄存器的读/更改的独立访问
端口位配置表
I/O端口位输出配置
复用功能配置
复用功能
对于复用的输入功能,端口必须配置成输入模 式(浮空、上拉或下拉)且输入引脚必须由外部 驱动
对于复用输出功能,端口必须配置成复用功能 输出模式(推挽或开漏)。
对C口的6个GPIO管脚进行操作,设计花 样流水灯
#include "stm32f10x.h“ #define LED_ALL GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4| GPIO_Pin_5 int main(void) { unsigned char j=0; chLsd=0xFF;
对于双向复用功能,端口位必须配置复用功能 输出模式(推挽或开漏)。
如果把端口配置成复用输出功能,则引脚和输出寄 存器断开,并和片上外设的输出信号连接。
如果软件把一个GPIO脚配置成复用输出功能,但是 外设没有被激活,它的输出将不确定。
模拟输入配置
GPIO寄存器的操作
SM32F10X硬件文档.PDF
GPIO_Mode值
例如:IO配置
GPIO_Mode_AIN = 0x0, 模拟输入 GPIO_Mode_IN_FLOATING = 0x04, 浮空输入 GPIO_Mode_Out_OD = 0x14, 表示配置相应管脚为GPIO开漏输出(真双向IO) GPIO_Mode_Out_PP = 0x10, 通用推挽输出模式 GPIO_Mode_AF_OD = 0x1C, 表示配置相应管脚为复用功能的开漏输出 GPIO_Mode_AF_PP = 0x18 复用功能的推挽输出模式
GPIOx_BSRR和GPIOx_BRR寄存器允许 对任何GPIO寄存器的读/更改的独立访问
端口位配置表
I/O端口位输出配置
复用功能配置
复用功能
对于复用的输入功能,端口必须配置成输入模 式(浮空、上拉或下拉)且输入引脚必须由外部 驱动
对于复用输出功能,端口必须配置成复用功能 输出模式(推挽或开漏)。
单片机原理及应用教程(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章-MCS-51单片机中断系统-PPT
CPU在每一个机器周期得S5P2期间对P3、 3引脚采样,若P3、3为低电平,则使IE1置1,否 则IE1清0。
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
第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,否则会再 一次引起中断响应。
(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章 中断系统
例7 如图,试编写程序实现以下功能:系统初始上电时,四 个发光二极管都熄灭,每当按下图中开关时,四个发光二极 管就能反映出与其对应的四个开关状态,开关闭合则对应二 极管亮,开关断开则对应二极管熄灭。
ORG 0000H AJMP MAIN ORG 0003H LJMP INT ORG 0030H MAIN:CLR IT0 SETB EX0 SETB EA SJMP $ ORG 0200H INT:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A RETI
第 5章
MCS-51系列单片机 的中断系统
本章介绍的主要内容
★ 中断的基本概念 ★ 中断的系统结构 ★ 中断的响应 ★ 中断的应用编程
5.1 什么是中断
一、中断
中断是指CPU在执行程序的过程中,当某种 特殊状态出现时,CPU暂停现在正在执行的程序, 转向去对引起特殊状态的事件进行处理,处理完毕 后再返回继续执行原来程序的过程。 简单地说,中断就是在运行一段程序的过程中 由于某种原因临时插入了另一段程序的运行。
1. 开中断总控开关EA,置位中断源的中断允许位。 2. 对外部中断INT0、INT1,应选择中断触发方式。 3. 多个中断源中断,应设定中断优先级,预置IP。
例5 若系统需要响应定时/计数器0中断和由下降沿信号引起 的外部中断0中断,且若这两个中断源同时提出中断请求则先 响应内部中断,试编写程序,对相关寄存器进行初始化。
EA 中断 总控 允/ 禁
-
ET2
ES
ET1
EX1
ET0
EX0
不 用
T2 串行口 T1 INT1 T0 INT0 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁 允/ 禁
第5章中断技术ppt课件
它存放在IR线上提出了中断请求的中断源, 该寄存器8位(D0 ~ D7)对应于连接在IR0‾IR7 线 上的外设所产生的中断请求,哪一根输入线有请 求,哪位就置“1”。
具有锁存功能,其内容可用OCW3命令读出。
(2)中断屏蔽寄存器(IMR)
是对中断请求IR起屏蔽作用,即对中断请 求IR是禁止还是允许,寄存器8位对应8级中断 屏蔽。哪一级中断被屏蔽,哪位就写“1”, 即禁止IR提出中断请求。
其内容可用OCW1命令写入,该寄存器 命令不可读。
0 开中断 Di=
1 关中断
(3)正在服务寄存器ISR 在中断响应之后,第一个获准中断请求的中
断级在相应的ISR中置位。 如IR3获准,ISR中的IS3置位,表明IR3正处
于服务。
其内容可用OCW3命令读出。
(4)优先权分析器(PR)
这是中断请求的判优电路,当在IR输入端有 中断产生时,送到PR,PR检查进来的中断请求的 优先级并和“正在服务中的中断”进行比较,确 定是否让这个中断请求送给处理器。
INTA
INT
D0~D7
数据总线 缓冲器
控制逻辑
RD WR A0 CS CAS0 CAS1 CAS2
SP/EN
Hale Waihona Puke 读/写 控制逻辑级联 缓冲 /比较器
IR0
正在服务 优先级 中断请求
IR1
寄存器
分析器
寄存器
IR2 IR3
ISR
PR
IRR
IR4 IIIRRR567
中断屏蔽寄存器 IMR
内部逻辑框图
1、外部特性 引脚有3组信号线,与其他外围芯片(2组)不同。
④ 没有获得允许中断请求称为中断被屏蔽。 ⑤ 不允许中断请求的情况:
具有锁存功能,其内容可用OCW3命令读出。
(2)中断屏蔽寄存器(IMR)
是对中断请求IR起屏蔽作用,即对中断请 求IR是禁止还是允许,寄存器8位对应8级中断 屏蔽。哪一级中断被屏蔽,哪位就写“1”, 即禁止IR提出中断请求。
其内容可用OCW1命令写入,该寄存器 命令不可读。
0 开中断 Di=
1 关中断
(3)正在服务寄存器ISR 在中断响应之后,第一个获准中断请求的中
断级在相应的ISR中置位。 如IR3获准,ISR中的IS3置位,表明IR3正处
于服务。
其内容可用OCW3命令读出。
(4)优先权分析器(PR)
这是中断请求的判优电路,当在IR输入端有 中断产生时,送到PR,PR检查进来的中断请求的 优先级并和“正在服务中的中断”进行比较,确 定是否让这个中断请求送给处理器。
INTA
INT
D0~D7
数据总线 缓冲器
控制逻辑
RD WR A0 CS CAS0 CAS1 CAS2
SP/EN
Hale Waihona Puke 读/写 控制逻辑级联 缓冲 /比较器
IR0
正在服务 优先级 中断请求
IR1
寄存器
分析器
寄存器
IR2 IR3
ISR
PR
IRR
IR4 IIIRRR567
中断屏蔽寄存器 IMR
内部逻辑框图
1、外部特性 引脚有3组信号线,与其他外围芯片(2组)不同。
④ 没有获得允许中断请求称为中断被屏蔽。 ⑤ 不允许中断请求的情况:
第5章 中断管理
OSIntExit (void)
void OSIntExit (void) {#if OS_CRITICAL_METHOD==3 OS_CPU_SR cpu_sr; #endif OS_ENTER_CRITICAL(); if ((--OSIntNesting | OSLockNesting) == 0) {
OSCtxSwCtr++;
OSIntCtxSw(); } } OS_EXIT_CRITICAL();}
μC/OS-II中断时序图
μC/OS-II的中断服务子程序ISR
μC/OS-II中断特点
• 内核抢占式中断 • 允许嵌套
第5章 中断管理
中断的基本概念
中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序 关于任务切换
中断接管程序
• 硬件中断发生后,中断接管程序获得控制权,先由中断 接管程序进行处理,然后才将控制权交给相应的用户中 断服务程序。 • 用户中断服务程序执行完成后,又回到中断接管程序。
物理中断向量表 中断向量号0 中断向量号1 中断向量号2 中断向量号3 …… 中断向量号n 虚拟中断向量表 中断向量号0 中断向量号1 用户中断服务程序 用户中断服务程序0 用户中断服务程序1 用户中断服务程序2 用户中断服务程序3
第5章 中断管理
中断的基本概念
中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序
1. 中断概念
所谓中断是指某个事件 发生
正在执行 的程序 中断进入 中断处 理程序 中断 返回 中断信号 继续执行
时,系统中止现行程序的运 行、引出处理事件程序对该 事件进行处理,处理完毕后 返回断 点,继续执行。
第5章AT89S51单片机的中断系统PPT课件
IE0:外部中断0请求源(P3.2)标志。 IE0=1外部中断0向 CPU请求中断,当CPU响应外部中断
时, 由硬件清“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
时, 由硬件清“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 为低电平触发方式。
单片机原理及其接口技术--第5章 MCS-51单片机中断系统
下来,这称为保护现场,由用户自己编程完成。
保护断点和现场后即可执行中断服务程序,执行完毕, CPU由中断服务程序返回主程序。 主目录 上一页 下一页 结 束
15
……
响应
单片机原理及其接口技术
主程序A
断点
返回
中断返回过程如下:
RETI 中断服务程序B
首先恢复原保留寄存器的内容和标志位的状态,这称为恢 复现场,由用户编程完成。 然后,再加返回指令RETI,RETI指令的功能是恢复PC值, 使CPU返回断点,这称为恢复断点。 恢复现场和断点后,CPU将继续执行原主程序,中断响应 过程到此为止。 主目录 上一页 下一页 结 束
主目录 上一页 下一页 结 束
单片机原理及其接口技术
5.2.2 中断标志与中断控制
1.中断标志
(1) 定时器控制寄存器TCON
SFR之一,锁存中断请求标志,字 节地址88H,可位寻址。
其结构、位名称、位地址及其功能 如表5.1所示。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 表5.1 TCON的结构、位名称、位地址和功能
单片机原理及其接口技术
第5章 MCS-51单片机中断系统
教学目标 5.1 中断概述 5.2 MCS-51中断系统 5.3 中断系统的应用 本章小结 思考题与习题主目录上一页来自下一页结束
单片机原理及其接口技术
教学目标
通过本章教学,要求达到以下目标: 1.熟记MCS-51 5个中断源及其中断入口地址。 2.熟悉TCON、SCON、IE、IP的结构、控制 作用和设置方法。 3.理解MCS-51中断响应过程。 4.了解中断响应等待时间。 5.理解中断请求撤除情况和应对措施。 6.熟悉中断优先控制的方法。 7.掌握中断应用程序的编制方法。
单片机应用技术项目式第5章
中断入口 地址
中断入口 地址区
0003H 0003H~000AH
0013H 0013H~001AH
000BH 000BH~0012H
001BH 001BH~0022H
0023H 0023H~002AH
5.2 单片机中断系统
5.2.1 中断的组成
(TCON.0)
IT0=0 INT0
IT0=1
T0
(TCON.2)
ES=1,允许串行口中断 ES=0,禁止串行口中断
1)若总中断允许EA=1,且某中断的中断允许控制位置位,则该中断才能被允许。
2)若总中断允许EA=0,则不管中断允许位是否置位,该中断都不能被允许,即
所有的中断都是被禁止的。
3)若总中断允许EA=1,则要关断某个中断时,只要将该中断对应的中断允许位
清零即可。
3、与中断有关的技术名词
(1)中断系统:能够实现中断处理功能的部件。 (2)中断源:引起中断原因的设备部件,或引起程序中断的事件。 (3)主程序:在中断之前CPU正在执行的程序。 (4)中断请求(又称中断申请):中断源要求服务的请求。 (5)中断响应:CPU对中断源提出的中断请求的接受。 (6)中断处理(又称中断服务):对引起中断的临时事件处理的整个过程。 (7)中断返回:事件处理完后CPU再回到原程序被中止的位置,继续执行主程序。 (8)中断服务程序(中断处理子程序):CPU对中断响应后所执行的处理程序。 (9)断点:主程序被断开的位置(地址)。
EX1=1,允许外部中断1中断
EX1
EX1=0,禁止外部中断1中断
定时/计数器0中断允许位 ET0=1,允许定时/计数器0中断 ET0
ET0=0,禁止定时/计数器0中断
定时/计数器1中断允许位 ET1=1,允许定时/计数器1中断 ET1
第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、若为外部中断,则应规定低电平还是负边沿的中断 触发方式
51单片机中断系统
• 1. 外部中断 INT0和 INT1 • 外部引脚P3.2和P3.3 • 两种触发方式:电平触发及跳变(边沿)触发 • 定时/计数器控制寄存器TCON
TCON D7 D6 D5 D4 D3 D2 D1 D0 (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
• IT0(IT1):触发方式控制位。0:电平触发方式;1:边沿 触发方式。
设置堆栈指针 • 编写中断服务程序
2020/2/28
1
13
第5章 51单片机中断系统
5.3.2 51单片机中断系统的应用
• 【例5-1】利用外部中断统计外部事件的次 数
P3.2 P3.0 INT0
8051
外部事件单拍负脉冲
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
ET2 ES ET1 EX1 ET0 EX0
置“1”,允许;清“0”,禁止
2020/2/28
1
6
第5章 51单片机中断系统
• 5.2.4 两级优先级控制 • 中断优先级寄存器IP
IP D7 D6 D5 D4 D3 D2 D1 D0
(B8H)
PT2 PS PT1 PX1 PT0 PX0
置“1”,高优先级;清“0”,低优先级。
1
10
第5章 51单片机中断系统
• 2. 中断响应过程 • (1) 根据中断请求源的优先级高低,对相应
的优先级状态触发器置“1”。 • (2) 保护断点,即把程序计数器PC的内容压
入堆栈保存。
• (3) 清除内部硬件可清除的中断请求标志位 (IE0、IE1、TF0、TF1)。
• (4) 把被响应的中断服务程序入口地址送入 PC中,从而转入相应的中断服务程序执行。
TCON D7 D6 D5 D4 D3 D2 D1 D0 (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
• IT0(IT1):触发方式控制位。0:电平触发方式;1:边沿 触发方式。
设置堆栈指针 • 编写中断服务程序
2020/2/28
1
13
第5章 51单片机中断系统
5.3.2 51单片机中断系统的应用
• 【例5-1】利用外部中断统计外部事件的次 数
P3.2 P3.0 INT0
8051
外部事件单拍负脉冲
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
ET2 ES ET1 EX1 ET0 EX0
置“1”,允许;清“0”,禁止
2020/2/28
1
6
第5章 51单片机中断系统
• 5.2.4 两级优先级控制 • 中断优先级寄存器IP
IP D7 D6 D5 D4 D3 D2 D1 D0
(B8H)
PT2 PS PT1 PX1 PT0 PX0
置“1”,高优先级;清“0”,低优先级。
1
10
第5章 51单片机中断系统
• 2. 中断响应过程 • (1) 根据中断请求源的优先级高低,对相应
的优先级状态触发器置“1”。 • (2) 保护断点,即把程序计数器PC的内容压
入堆栈保存。
• (3) 清除内部硬件可清除的中断请求标志位 (IE0、IE1、TF0、TF1)。
• (4) 把被响应的中断服务程序入口地址送入 PC中,从而转入相应的中断服务程序执行。
第5章-中断技术-实例讲解
3.项目电路原理框图 项目电路原理框图如图6-1所示。电路由8086CPU、
8255A芯片、8259A芯片、继电器及驱动和脉冲按钮UP组成。
图6-1 外部中断控制继电器电路图
4.项目程序设计 (1)程序流程图
外部中断控制继电器程序流程图如6-2所示。
(a)主程序 (b)IR0中断服务程序 图6-2 外部中断控制继电器程序流程图
2.项目电路连接与说明 (1)项目电路连接:如图6-9所示的粗线为要接的连线,接 线描述如下:8259A的片选CS连至地址译码处的210H~217 H插孔;8255A的片选CS连至地址译码处的200H~207H插 孔;将8只LED发光二极管连接至8255A的PA0~PA7插孔; 将UP脉冲按钮连接至8259A的IR0插孔。 (2)项目说明:8259可外接8个中断源,本项目只响应 INT0中断,8259也可以多级连接,以响应多个中断源。将 单脉冲信号接到8259的INT0脚。每按一下UP,8259A就中 断一次,LED发光二极管灯左循环亮。在编程时应注意:
MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL MOV AL,01H ; ICW4不用缓冲方式,正常中断结束, 非特殊的全嵌套方式
OUT DX,AL
MOV AX,0 ; 清零源自MOV DS,AX ; 数据段清零
ASSUME CS:CODE,DS: DATA ,SS:STACK START :MOV AL,13H ; 00010011B,ICW1:边沿触发,单片,要ICW4
MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL
第5章 STC15F2K60S2单片机中断系统
TI:串行口1发送中断标志。串行口1以方式0发送时,每当 发送完8位数据,由硬件置1;若以方式1、方式2或方式3发 送时,在发送停止位的开始时置1。TI为1表示串行口已发送 一帧数据,串行口1正在向CPU申请中断(发送中断)。值得注 意的是,CPU响应发送中断请求,转向执行中断服务程序时 并不将TI清0,TI必须由用户在中断服务程序中清0。 SCON寄存器的其他位与中断无关,将在后续相关章节 介绍。
3. ADC_CONTR寄存器
ADC_CONTR为A/D转换控制寄存器,字节地址为BCH,
ADC_POWER:ADC电源控制位。当ADC_POWER为0时,关闭ADC电源; 当ADC_POWER为1时,打开ADC电源。 ADC_FLAG:ADC转换结束标志位,可用于请求A/D转换的中断。 当A/D转换完成后ADC_FLAG置1,要用软件清0。不管是A/D转换完 成后由该位申请产生中断,还是由软件查询该标志位A/D转换是 否结束,当A/D转换完成后,ADC_FLAG为1,一定要软件清0。 ADC_START:ADC转换启动控制位,设置为1时,开始转换,转换 结束后为0。 A/D转换控制寄ADC_CONTR中的其他位与中断无关,将在后续 相关章节介绍。
IT0:外部中断0中断触发方式选择位,功能与IT1类似。
2. SCON和S2CON寄存器
SCON为串行口1控制寄存器,包括了串行口发送和接收 中断的请求标志位TI和RI。SCON寄存器的字节地址为98H,可 位寻址,其格式如下:
RI:串行口1接收中断标志。若串行口1允许接收且以方式0 工作,则每当接收到第8位数据时置1;若以方式1、方式2或 方式3工作且SM2=0时,则每当接收到停止位的中间时置1; 当串行口以方式2或方式3工作且SM2=1时,则仅当接收到的 第9位数据RB8为1后,同时还要接收到停止位的中间时置1。 RI为1表示接收器已接收到一帧数据,串行口1正向CPU申请 中断(接收中断),RI必须由用户的中断服务程序清0。
第5章89C51的中断系统
当系统复位时,IP寄存器被清0,将5个中 断源均设置为低优先级中断。 如果同一级的几个中断源同时向CPU申请 中断,CPU便通过内部硬件查询逻辑按自 然优先级决定响应顺序。
SETB EA ; 总中断允许 SETB EX1 ;INT1允许 SETB ET1 ;T1允许 SETB ES ;TI 和RI允许 SETB PS ; TI 和RI高优先级别 SETB PT1 ;T1高优先级别 SETB PX0 ;INT0高优先级别 则: ______________________可以被响应. A. CPU 正在执行INT1中断,T1请求. B. CPU正在执行TF1中断, TI请求. C. CPU正在执行INT1中断, INT0请求 . D. CPU正执行主程序, T1出现请求
对事件整个处理过程称为中断处理(或中断 服务)。 能够实现中断处理的功能部件称为中断系统。 产生中断请求的源称为中断请求源。 中断源向CPU提出的处理请求称为中断请求 (或中断申请)。 CPU完成中断服务程序,继续执行被中断的 主程序称为中断返回。
5.2 MCS-51中断系统的结构
外部输入中断源INT1(P3.3),中断请求标志为IE1 定时器T0的溢出,中断请求标志为TF0 定时器T1的溢出,中断请求标志为TF1 串行口发送或接收中断源,中断请求标志为发送中断
TI或接收中断RI
5.2.2 中断控制
1.中断请求标志寄存器 •分别由TCON和SCON的相应位锁定 TCON为定时器/计数器的控制寄存器,字节地址为88H
第5章 MCS-51的中断系统
5.1 概述
所谓中断,是指CPU正在处理某些事务的 时候,外部又发生了某一事件,请求CPU 及时处理。于是,CPU暂时中断当前的工 作,转而处理所发生的事件。处理完毕, 再回到原来被中断的地方,继续原来的工 作。这样的过程,称为中断。
第5章stm32单片机外部中断ppt课件
5.2.3 中断控制器
ICER[2]:全称Interrupt Clear-Enable Registers,是 一个中断清除使能寄存器组。
该寄存器组与ISER寄存器功能相反,用来清除某个 中断的使能位。由于NVIC的这些寄存器都是写1有 效的,写0是无效的。设置一组ICER 寄存器来清除 相应中断使能位。
5.2.1 中断源
ARM Coetex-M3内核共支持256个中断,其中16 个内部中断,240个外部中断和可编程的256级中断优 先级的设置。STM32目前支持的中断共84个(16个内 部+68个外部),还有16级可编程的中断优先级的设 置,仅使用中断优先级设置8bit中的高4位。
5.2.2 中断向量:表5-1 给出STM32F103中断向量表
5.3.2 中断优先级控制
响应优先级可设置为0到15级。 判断两个中断的优先级时: (1)先看抢占优先级的高低; (2)再看响应优先级的高低; (3)看中断通道向量地址。 一个系统使用一个组别就完全可以满足需要,在使 用一个组别后不要在系统中再改动组别。
5.3.2 中断优先级控制
假定设置中断优先级为组2,然后设置: 中断3(RTC中断)的抢占优先级为2,响应优先级为1。 中断6(外部中断0)的抢占优先级为3,响应优先级为0。 中断7(外部中断1)的抢占优先级为2,响应优先级为0。 求这3个中断的优先级顺序? 上面例子中的中断3和中断7都可以打断中断6 的中断。而中 断7和中断3却不可以相互打断(这是因为他们的抢占优先级 是相同的)。
5.2.3 中断控制器
与NVIC相关的寄存器 在“stm32f10x_map.h” 文件中定义了一个结构 体,结构体的内容如下
STM32F103系列单片机 的中断系统在这些寄存 器的控制下有序执行。 了解这些中断寄存器的 含义,才能更好的理解 STM32单片机中断系统 的工作原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13
5.3.1 中断允许寄存器IE AT89S51的CPU对各中断源的开放或屏蔽,是由片内的中断
允许寄存器IE控制的。IE的字节地址为A8H,可进行位寻址 ,其格式如图5-5所示。
图5-5 中断允许寄存器IE的格式
14
(2)ES—串行口中断允许位。 ES=0,禁止串行口中断。 ES=1,允许串行口中断。 (3)ET1—定时器/计数器T1的溢出中断允许位。 ET1=0,禁止T1溢出中断。 ET1=1,允许T1溢出中断。 (4)EX1—外部中断1中断允许位。 EX1=0,禁止外部中断1中断。 EX1=1,允许外部中断1中断
图5-1显示了单片机对外围设备中断服务请求的整个中断响 应和处理过程。
3
图5-1 中断响应和处理过程
4
如果单片机没有中断系统,单片机的大量时间可能会浪费在 查询是否有服务请求发生的定时查询操作上,即不论是否 有服务请求发生,都必须去查询。采用中断技术完全消除 了单片机在查询方式中的等待现象,大大地提高了单片机 的工作效率和实时性。由于中断工作方式的优点极为明显 ,因此,单片机的片内硬件中都带有中断系统。
5.2 AT89S51中断系统结构 中断系统结构如图5-2所示。共有5个中断请求源(简称中断
源),2个中断优先级,可实现2级中断服务程序嵌套。每 一中断源可用软件独立地控制为允许中断或关中断状态; 每一中断源的中断优先级别均可用软件来设置。
5
图5-2 AT89S51的中断系统结构
6
由图5-2可见,中断系统共有5个中断请求源,它们是:
(5)串行口中断请求,中断请求标志为发送中断TI或接收中
断RI。
7
5.2.2 中断请求标志寄存器 5个中断请求源的中断请求标志分别由特殊功能寄存器
TCON和SCON的相应位锁存(见图5-2)。 1. TCON寄存器 为定时器/计数器的控制寄存器,字节地址为88H,可位寻址
。该寄存器中既包括T0和T1的溢出中断请求标志位TF0和 TF1,也包括了两个外部中断请求的标志位IE1与IE0,此 外还包括了两个外部中断请求源的中断触发方式选择位。 特殊功能寄存器TCON的格式如图5-3所示。
8
图5-3 特殊功能寄存器TCON的格式
TCON寄存器中与中断系统有关的各标志位的功能如下: (1)TF1—片内定时器/计数器T1的溢出中断请求标志位。 当启动T1计数后,定时器/计数器T1从初值开始加1计数, 当最高位产生溢出时,由硬件使TF1置“1”,向CPU申请中 断。CPU响应TF1中断时,TF1标志由硬件自动清“0”,TF1 也可由软件清“0”。
(1)INT0*—外部中断请求0,中断请求信号由引脚输入,中 断请求标志为IE0。
(2) INT1*—外部中断请求1,中断请求信号由引脚输入, 中断请求标志为IE1。
(3)定时器/计数器T0计数溢出发出的中断请求,中断请求 标志为TF0。
(4)定时器/计数器T1计数溢出发出的中断请求,中断请求 标志为TF1。
9
(2)TF0—片内定时器/计数器T0的溢出中断请求标志位,功 能与TF1类似。
(3)IE1—外部中断请求1的中断请求标志位。 (4)IE0—外部中断请求0的中断请求标志位,其功能与IE1类
似。 (5)IT1—选择外部中断请求1为跳沿触发方式还是电平触发
方式。 IT1=0,为电平触发方式,加到INT1*引脚上的外部中断请求输
入信号为低电平有效,并把IE1置“1”。转向中断服务程序 时,则由硬件自动把IE1清“0”。 IT1=1,为跳沿触发方式,加到INT1*引脚上的外部中断请求输
10
Hale Waihona Puke 入信号电平从高到低的负跳变有效,并把IE1置“1”。转向 中断服务程序时,则由硬件自动把IE1清“0”。
(6)IT0—选择外部中断请求0为跳沿触发方式还是电平触 发方式,其意义与IT1类似。
2
5.1 AT89S51中断技术概述
在单片机系统中,中断技术主要用于实时监测与控制,也就 是要求单片机能及时地响应中断请求源提出的服务请求, 并作出快速响应并及时处理。这些工作就是由单片机片内 的中断系统来实现的。当中断请求源发出中断请求时,如 果中断请求被允许的话,单片机暂时中止当前正在执行的 主程序,转到中断服务处理程序处理中断服务请求。中断 服务处理程序处理完中断服务请求后,再回到原来被中止 的程序之处(断点),继续执行被中断的主程序。
(2)RI—串行口接收中断请求标志位。在串行口接收完一个 串行数据帧,硬件自动使RI中断请求标志置“1”。CPU在响 应串行口接收中断时,RI标志并不清“0”,必须在中断服务 程序中用指令对RI清“0”。
5.3 中断允许与中断优先级的控制 实现中断允许控制和中断优先级控制分别由特殊功能寄存器区
中的中断允许寄存器IE和中断优先级寄存器IP来实现的。下 面介绍这两个特殊功能寄存器。
11
请求标志TI和RI,其格式如图5-4所示。
图5-4 SCON中的中断请求标志位
SCON中各标志位的功能如下: (1)TI—串行口的发送中断请求标志位。CPU将一个字节的 数据写入串行口的发送缓冲器SBUF时,就启动一帧串行数据 的发送,每发送完一帧串行数据后,硬件使TI自动置“1”。
12
CPU响应串行口发送中断时,并不清除TI中断请求标志,TI标 志必须在中断服务程序中用指令对其清“0”。
当AT89S51复位后,TCON被清“0”,5个中断源的中断请 求标志均为0。
TR1(D6位)、TR0(D4位)这2位与中断系统无关,仅与 定时器/计数器T1和T0有关,将在第6章介绍。
2. SCON寄存器
SCON为串行口控制寄存器,字节地址为98H,可位寻址。 SCON的低二位锁存串行口的发送中断和接收中断的中断
15
(4)EX1—外部中断1中断允许位。 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
第5章 中断系统
1
内容概要 本章介绍AT89S51片内中断系统的硬件结构和工作原理。 中断系统能够实时地响应片内功能部件和外围设备发出的中断
请求并及时进入中断服务子程序进行处理。通过本章学习, 读者应重点掌握与中断系统有关的特殊功能寄存器以及中断 系统的应用特性,以及熟练地进行中断系统应用的编程。
5.3.1 中断允许寄存器IE AT89S51的CPU对各中断源的开放或屏蔽,是由片内的中断
允许寄存器IE控制的。IE的字节地址为A8H,可进行位寻址 ,其格式如图5-5所示。
图5-5 中断允许寄存器IE的格式
14
(2)ES—串行口中断允许位。 ES=0,禁止串行口中断。 ES=1,允许串行口中断。 (3)ET1—定时器/计数器T1的溢出中断允许位。 ET1=0,禁止T1溢出中断。 ET1=1,允许T1溢出中断。 (4)EX1—外部中断1中断允许位。 EX1=0,禁止外部中断1中断。 EX1=1,允许外部中断1中断
图5-1显示了单片机对外围设备中断服务请求的整个中断响 应和处理过程。
3
图5-1 中断响应和处理过程
4
如果单片机没有中断系统,单片机的大量时间可能会浪费在 查询是否有服务请求发生的定时查询操作上,即不论是否 有服务请求发生,都必须去查询。采用中断技术完全消除 了单片机在查询方式中的等待现象,大大地提高了单片机 的工作效率和实时性。由于中断工作方式的优点极为明显 ,因此,单片机的片内硬件中都带有中断系统。
5.2 AT89S51中断系统结构 中断系统结构如图5-2所示。共有5个中断请求源(简称中断
源),2个中断优先级,可实现2级中断服务程序嵌套。每 一中断源可用软件独立地控制为允许中断或关中断状态; 每一中断源的中断优先级别均可用软件来设置。
5
图5-2 AT89S51的中断系统结构
6
由图5-2可见,中断系统共有5个中断请求源,它们是:
(5)串行口中断请求,中断请求标志为发送中断TI或接收中
断RI。
7
5.2.2 中断请求标志寄存器 5个中断请求源的中断请求标志分别由特殊功能寄存器
TCON和SCON的相应位锁存(见图5-2)。 1. TCON寄存器 为定时器/计数器的控制寄存器,字节地址为88H,可位寻址
。该寄存器中既包括T0和T1的溢出中断请求标志位TF0和 TF1,也包括了两个外部中断请求的标志位IE1与IE0,此 外还包括了两个外部中断请求源的中断触发方式选择位。 特殊功能寄存器TCON的格式如图5-3所示。
8
图5-3 特殊功能寄存器TCON的格式
TCON寄存器中与中断系统有关的各标志位的功能如下: (1)TF1—片内定时器/计数器T1的溢出中断请求标志位。 当启动T1计数后,定时器/计数器T1从初值开始加1计数, 当最高位产生溢出时,由硬件使TF1置“1”,向CPU申请中 断。CPU响应TF1中断时,TF1标志由硬件自动清“0”,TF1 也可由软件清“0”。
(1)INT0*—外部中断请求0,中断请求信号由引脚输入,中 断请求标志为IE0。
(2) INT1*—外部中断请求1,中断请求信号由引脚输入, 中断请求标志为IE1。
(3)定时器/计数器T0计数溢出发出的中断请求,中断请求 标志为TF0。
(4)定时器/计数器T1计数溢出发出的中断请求,中断请求 标志为TF1。
9
(2)TF0—片内定时器/计数器T0的溢出中断请求标志位,功 能与TF1类似。
(3)IE1—外部中断请求1的中断请求标志位。 (4)IE0—外部中断请求0的中断请求标志位,其功能与IE1类
似。 (5)IT1—选择外部中断请求1为跳沿触发方式还是电平触发
方式。 IT1=0,为电平触发方式,加到INT1*引脚上的外部中断请求输
入信号为低电平有效,并把IE1置“1”。转向中断服务程序 时,则由硬件自动把IE1清“0”。 IT1=1,为跳沿触发方式,加到INT1*引脚上的外部中断请求输
10
Hale Waihona Puke 入信号电平从高到低的负跳变有效,并把IE1置“1”。转向 中断服务程序时,则由硬件自动把IE1清“0”。
(6)IT0—选择外部中断请求0为跳沿触发方式还是电平触 发方式,其意义与IT1类似。
2
5.1 AT89S51中断技术概述
在单片机系统中,中断技术主要用于实时监测与控制,也就 是要求单片机能及时地响应中断请求源提出的服务请求, 并作出快速响应并及时处理。这些工作就是由单片机片内 的中断系统来实现的。当中断请求源发出中断请求时,如 果中断请求被允许的话,单片机暂时中止当前正在执行的 主程序,转到中断服务处理程序处理中断服务请求。中断 服务处理程序处理完中断服务请求后,再回到原来被中止 的程序之处(断点),继续执行被中断的主程序。
(2)RI—串行口接收中断请求标志位。在串行口接收完一个 串行数据帧,硬件自动使RI中断请求标志置“1”。CPU在响 应串行口接收中断时,RI标志并不清“0”,必须在中断服务 程序中用指令对RI清“0”。
5.3 中断允许与中断优先级的控制 实现中断允许控制和中断优先级控制分别由特殊功能寄存器区
中的中断允许寄存器IE和中断优先级寄存器IP来实现的。下 面介绍这两个特殊功能寄存器。
11
请求标志TI和RI,其格式如图5-4所示。
图5-4 SCON中的中断请求标志位
SCON中各标志位的功能如下: (1)TI—串行口的发送中断请求标志位。CPU将一个字节的 数据写入串行口的发送缓冲器SBUF时,就启动一帧串行数据 的发送,每发送完一帧串行数据后,硬件使TI自动置“1”。
12
CPU响应串行口发送中断时,并不清除TI中断请求标志,TI标 志必须在中断服务程序中用指令对其清“0”。
当AT89S51复位后,TCON被清“0”,5个中断源的中断请 求标志均为0。
TR1(D6位)、TR0(D4位)这2位与中断系统无关,仅与 定时器/计数器T1和T0有关,将在第6章介绍。
2. SCON寄存器
SCON为串行口控制寄存器,字节地址为98H,可位寻址。 SCON的低二位锁存串行口的发送中断和接收中断的中断
15
(4)EX1—外部中断1中断允许位。 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
第5章 中断系统
1
内容概要 本章介绍AT89S51片内中断系统的硬件结构和工作原理。 中断系统能够实时地响应片内功能部件和外围设备发出的中断
请求并及时进入中断服务子程序进行处理。通过本章学习, 读者应重点掌握与中断系统有关的特殊功能寄存器以及中断 系统的应用特性,以及熟练地进行中断系统应用的编程。