第五章 中断系统zlf
合集下载
单片机原理及实用技术第5章中断系统及应用课件
![单片机原理及实用技术第5章中断系统及应用课件](https://img.taocdn.com/s3/m/4e778c64b5daa58da0116c175f0e7cd1842518f1.png)
第5章 中断系统及应用
5. 时基信号中断
SPCE061A单片机提供了多组时基信号能作为中断源。 时基信号来自实时时钟32 768 Hz,输出有通过选频逻辑的 TMB1、TMB2信号和直接从时基计数器溢出的各种实时时基 信号,在开启时基信号中断的情况下,有时基信号时,便发 出 时 基 信 号 中 断 申 请 , CPU 查 询 到 有 中 断 请 求 后 , 置 位 P_INT_Ctrl中相应的中断请求标志位,在中断服务程序中通 过测试P_INT_Ctrl来确定是哪个频率的时基信号产生的中断 请求。
第5章 中断系统及应用
3. 事件中断
事件中断简称中断,以下提到的中断均为事件中断,一般 产生于片内某部件或由外设中断输入引脚引入的某个事件,这 种中断的开放/屏蔽由对应位和相应的IRQ或FIQ总使能控制, 由软件设置。
事件中断可采用两种方式:快速中断请求(FIQ)和中断请 求(IRQ),这两种中断都由相应的总使能来控制。
保留字 _FIQ/_IRQ0 _FIQ/_IRQ1 _FIQ/_IRQ2
FFFBH
_IRQ3
第5章 中断系统及应用
4096Hz 时基信号 2048Hz 时基信号 1024Hz 时基信号
4Hz 时基信号 2Hz 时基信号 频选信号TMB1 频选信号TMB2 UART 串行通信中断
IRQ4
IRQ5 IRQ6 IRQ7
第5章 中断系统及应用
中断系统
1
EXT1
EXT2 (下 降 沿 )
运算放大器
IOB2 ( I O B3 )
R
IOB4 C ( I O B5 )
图5.3 IOB2、IOB4或IOB3、IOB5之间的反馈结构
第5章 中断系统及应用
第5章MCS-51中断系统
![第5章MCS-51中断系统](https://img.taocdn.com/s3/m/7ff10b232f60ddccda38a0a4.png)
IT1:外部中断源1 IT1:外部中断源1触发控制位 IT1=0:为低电平电平触发方式(INT1=0时,1 IE1) 必须在中断服务程序结束前INT1变高。 IT1=1:为下降沿边沿触发方式(INT1由高变1 IE1) 高低电平时间应大于12个振荡周期。 IE0:外部中断0 IE0:外部中断0请求源 (INT0) 标志 IT0:外部中断0 IT0:外部中断0触发方式控制位 SCON寄存器 2.SCON寄存器 SCON寄存器中与中断有关位如下 寄存器中与中断有关位如下: SCON寄存器中与中断有关位如下: D7 D6 D5 D4 D3 D2 D1 TI D0 RI
INT-T1: MOV MOV INC MOV CJNE LP6: JC MOV MOV LP7: RETI
TH1, TL1, 30H A, A, LP7 30H, 31H,
#3CH #BOH 30H #OAH, LP6 #00H #01H
2.采用T1定时,使P1口上的灯按下面规律点亮.F晶=6MHZ 2.采用T1定时, P1口上的灯按下面规律点亮.F晶 采用T1定时 口上的灯按下面规律点亮.F 第1秒 第2秒 第3秒 第4秒 第5秒 第6秒 第7秒 第8秒 L1.3 L2.4 L5.7 L6.8 L1234 L5678 全 全 亮 亮 亮 亮 亮 亮 亮 灭
3.中断响应过程 CPU完成中断响应的步骤 完成中断响应的步骤: CPU完成中断响应的步骤 相应的优先级状态触发器 A. 1 中断请求源标志(TI和RI除外) B. 1 C.保护断点 入口地址 → PC ↓ 保护现场 中服程序 恢复现场 ↓ RETI 返回断点 0 → 相应的优先级状态触发器
五、应用举例 采用T1定时中断方式, P1口上的灯一秒亮 一秒灭。 T1定时中断方式 口上的灯一秒亮, 1.采用T1定时中断方式,使P1口上的灯一秒亮,一秒灭。
单片机-第五章_单片机中断系统
![单片机-第五章_单片机中断系统](https://img.taocdn.com/s3/m/92d5952c4b73f242336c5fa8.png)
中断标志 TCON
IT0 0
IE
EX0 ET0
IP
1 0 1 0 1 0 1 0 1 0
查询硬件
INT0 T0 INT1 T1 RX TX
1
IE0 TF0
自 然 优 先 级
中断源
查询硬件
高级 中断请求 送CPU 矢量 地址送PC 地址送PC 低级 中断请求 送CPU 矢量 地址送PC 地址送PC
0 IT1 1
继 续 执 行 主 程 序
5.1.2 中断系统的结构
专门讨论MCS-51的中断源和中断标志、MCS-51对 专门讨论MCS-51的中断源和中断标志、MCS-51对 MCS 的中断源和中断标志 中队请求的控制和响应、中断响应时间、 中队请求的控制和响应、中断响应时间、中分段撤 除和中断系统初始化。 除和中断系统初始化。
DMA控制数据传输:CPU响应DMA的请求, DMA控制数据传输:CPU响应DMA的请求,把总线使用 控制数据传输 响应DMA的请求 将外设数据读入、 权交给DMA控制器,DMA将外设数据读入 并直接写入存储器, DMA控制器 权交给DMA控制器,DMA将外设数据读入、并直接写入存储器, 或将数据从存储器读出并直接送给外设。传送过程不需要CP 或将数据从存储器读出并直接送给外设。传送过程不需要CP 参与。 U参与。 DMA释放总线 当一批数据传送后, 释放总线: DMA控制器再 DMA释放总线:当一批数据传送后, DMA控制器再 CPU发出 结束总线请求” CPU响应请求 发出“ 响应请求, 向CPU发出“结束总线请求”,CPU响应请求,收回总线使用 权。 DMA方式速度高 效率高,可以与CPU并行工作。 方式速度高、 CPU并行工作 DMA方式速度高、效率高,可以与CPU并行工作。
第5章 中断系统
![第5章 中断系统](https://img.taocdn.com/s3/m/62168feb580216fc710afd6c.png)
第5章 中断系统
【本章内容】本章主要介绍8086微型计算机的中断系统, 包括中断的基本概念,中断源、中断向量表、中断过程, 中断类型码和中断服务程序入口地址之间的关系,最后 介绍集成可编程中断控制器8259A的结构、功能和使用 方法。
【本章重点难点】本章重点要求掌握中断的基本概念、 中断响应的过程以及中断控制器8259A的使用。
套方式。 ①完全嵌套方式 ②特殊完全嵌套方式 在多片8259A级联的情况下需要采用特殊完全嵌套方式,
它与完全嵌套方式工作情况基本相同,不同之处是在CPU 中断服务期间,除了允许高优先级的中断请求进入外,还 允许同级中断请求进入。 (4)优先级循环方式 8259A提供了两种改变中断源优先级的方式:优先级自动 循环方式和优先级特殊循环方式。 (5)中断结束方式 ①中断自动结束方束 ②中断非自动结束方式 (6)读8259A状态方式
5.2 8259A可编程中断控制器
1.8259A的外部引脚特性 8259A引脚可分成3部分:与CPU相连的引线(与地址总
线相连的有2条,与数据总线相连的有8条,与控制总线相 连的有4条),与I/O中断源和其它8259A之间的连线,电 源线。
2.8259A内部结构 (1)数据总线缓冲器 (2)读/写控制电路
外部可屏蔽中断响应而言,它包括中断请求、中断承认、 保护断点、中断源识别、中断服务、中断返回等几个阶段。 (1)中断请求 (2)中断承认 (3)保护断点 (4)中断源识别 ①软件查询方法 ②硬件排队方式 (5)中断服务 (6)中断返回
2.中断处理过程
微机系统中各种中断的响应和处理过程是不相同的,其主 要区别在于如何获得中断源的中断类型码。当CPU响应内 部中断和NMI断时,中断源的中断类型码是由CPU硬件自 动形成或由程序提供且不受中断允许位IF的影响,而CPU 响应INTR中断时,其中断类型码
【本章内容】本章主要介绍8086微型计算机的中断系统, 包括中断的基本概念,中断源、中断向量表、中断过程, 中断类型码和中断服务程序入口地址之间的关系,最后 介绍集成可编程中断控制器8259A的结构、功能和使用 方法。
【本章重点难点】本章重点要求掌握中断的基本概念、 中断响应的过程以及中断控制器8259A的使用。
套方式。 ①完全嵌套方式 ②特殊完全嵌套方式 在多片8259A级联的情况下需要采用特殊完全嵌套方式,
它与完全嵌套方式工作情况基本相同,不同之处是在CPU 中断服务期间,除了允许高优先级的中断请求进入外,还 允许同级中断请求进入。 (4)优先级循环方式 8259A提供了两种改变中断源优先级的方式:优先级自动 循环方式和优先级特殊循环方式。 (5)中断结束方式 ①中断自动结束方束 ②中断非自动结束方式 (6)读8259A状态方式
5.2 8259A可编程中断控制器
1.8259A的外部引脚特性 8259A引脚可分成3部分:与CPU相连的引线(与地址总
线相连的有2条,与数据总线相连的有8条,与控制总线相 连的有4条),与I/O中断源和其它8259A之间的连线,电 源线。
2.8259A内部结构 (1)数据总线缓冲器 (2)读/写控制电路
外部可屏蔽中断响应而言,它包括中断请求、中断承认、 保护断点、中断源识别、中断服务、中断返回等几个阶段。 (1)中断请求 (2)中断承认 (3)保护断点 (4)中断源识别 ①软件查询方法 ②硬件排队方式 (5)中断服务 (6)中断返回
2.中断处理过程
微机系统中各种中断的响应和处理过程是不相同的,其主 要区别在于如何获得中断源的中断类型码。当CPU响应内 部中断和NMI断时,中断源的中断类型码是由CPU硬件自 动形成或由程序提供且不受中断允许位IF的影响,而CPU 响应INTR中断时,其中断类型码
中断系统
![中断系统](https://img.taocdn.com/s3/m/1f3e9eae1a37f111f1855b6c.png)
3、中断控制
89C51中断系统有4个特殊功能寄存器,通过对各特殊功能
寄存器各位进行置位或复位等操作,可实现各种中断控制功能。 定时器控制寄存器TCON(用6位) 串行口控制寄存器SCON(用2位) 中断请求控制
中断允许寄存器IE
中断优先级寄存器IP
中断系统
Page 13
§5.2 89C51中断系统结构及中断控制
◆
TF0:定时器/计数器T0溢出中断请求标志位。含义与TF1类同。
中断系统
Page 15
§5.2 89C51中断系统结构及中断控制
※
中断请求标志
1) TCON中的中断标志位(6位)
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
TF1
◆
TF0
IE1
IT1
IE0
IT0
IE1:外部中断1的中断请求标志。 INT1(P3.3)。 当检测到外部中断引脚1上存在有效的中断请求信号时,由 硬件使IE1置1。当CPU响应中断请求时,由硬件使IE1清0。
中断系统
Page 21
§5.2 89C51中断系统结构及中断控制
3、中断控制
※
中断允许控制
89C51对中断源的开放或屏蔽是由中断允许寄存器IE控制的。
中断允许寄存器IE对中断的开放或关闭实现两级控制。
IE中的中断允许控制位
AFH AEH ADH ACH ABH AAH A9H A8H
IE 字节地址 (A8H)
件使IE1清0。
◆ IT0
:外部中断0的中断触发方式控制位。其含义与IT1类同。
中断系统
Page 18
§5.2 89C51中断系统结构及中断控制
3、中断控制
89C51中断系统有4个特殊功能寄存器,通过对各特殊功能
寄存器各位进行置位或复位等操作,可实现各种中断控制功能。 定时器控制寄存器TCON(用6位) 串行口控制寄存器SCON(用2位) 中断请求控制
中断允许寄存器IE
中断优先级寄存器IP
中断系统
Page 13
§5.2 89C51中断系统结构及中断控制
◆
TF0:定时器/计数器T0溢出中断请求标志位。含义与TF1类同。
中断系统
Page 15
§5.2 89C51中断系统结构及中断控制
※
中断请求标志
1) TCON中的中断标志位(6位)
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
TF1
◆
TF0
IE1
IT1
IE0
IT0
IE1:外部中断1的中断请求标志。 INT1(P3.3)。 当检测到外部中断引脚1上存在有效的中断请求信号时,由 硬件使IE1置1。当CPU响应中断请求时,由硬件使IE1清0。
中断系统
Page 21
§5.2 89C51中断系统结构及中断控制
3、中断控制
※
中断允许控制
89C51对中断源的开放或屏蔽是由中断允许寄存器IE控制的。
中断允许寄存器IE对中断的开放或关闭实现两级控制。
IE中的中断允许控制位
AFH AEH ADH ACH ABH AAH A9H A8H
IE 字节地址 (A8H)
件使IE1清0。
◆ IT0
:外部中断0的中断触发方式控制位。其含义与IT1类同。
中断系统
Page 18
§5.2 89C51中断系统结构及中断控制
3、中断控制
第五章定时器计数器与中断系统3
![第五章定时器计数器与中断系统3](https://img.taocdn.com/s3/m/c8ca67a10029bd64783e2c1e.png)
RD、WR:片外数据存储器和I/O口的读、写选通信号,RD、
WR输出低电平时,对片外数据存储器执行读或写操作。
PSEN、RD、WR信号是由硬件自动生成的。
单片机可以扩展的存储器的最大容量为64KB,地址为 0000H~FFFFH。在实际应用中,常需要扩展多片外围芯片, 通过片选信号来识别不同的芯片,每个存储器都有一定的 地址空间,片选信号产生的方式不同,存储器的地址分配也 不同。 常用的存储器地址分配的方法有两种:线选法和译码法。
2764----8K EPROM
Vcc PGM N.C A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3
2764
2、扩展时所用芯片 74LS373引脚功能
D0~D7 OE G Q0~Q7 数据输入 输出允许 使能端 数据输出
+5V D7 D6 D5 D4 D3 D2 D1 D0 G
1 1
1 1
1 1
0 1
0 1
… 0 … 1
… … 0 1
优点:电路简单,不需要地址译码器硬件,体积小,成本低。 缺点:可寻址的器件数目受到限制,地址空间不连续,存在地 址重叠现象。
2、 译码法 需要用地址译码器,将系统的P2口多余的高位地址线作为译 码器的输入,译码器输出作为存储器芯片的片选信号。 74LS138(3~8译码器)
1
1 1 1 1 1
0
0 0 0 0 0
0
0 0 0 0 0
0
0 1 1 1 1
1
1 0 0 1 1
0
1 0 1 0 1
1
1 1 1 1 1
1
1 1 1 1 1
0
1 1 1 1 1
1
0 1 1 1 1
WR输出低电平时,对片外数据存储器执行读或写操作。
PSEN、RD、WR信号是由硬件自动生成的。
单片机可以扩展的存储器的最大容量为64KB,地址为 0000H~FFFFH。在实际应用中,常需要扩展多片外围芯片, 通过片选信号来识别不同的芯片,每个存储器都有一定的 地址空间,片选信号产生的方式不同,存储器的地址分配也 不同。 常用的存储器地址分配的方法有两种:线选法和译码法。
2764----8K EPROM
Vcc PGM N.C A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3
2764
2、扩展时所用芯片 74LS373引脚功能
D0~D7 OE G Q0~Q7 数据输入 输出允许 使能端 数据输出
+5V D7 D6 D5 D4 D3 D2 D1 D0 G
1 1
1 1
1 1
0 1
0 1
… 0 … 1
… … 0 1
优点:电路简单,不需要地址译码器硬件,体积小,成本低。 缺点:可寻址的器件数目受到限制,地址空间不连续,存在地 址重叠现象。
2、 译码法 需要用地址译码器,将系统的P2口多余的高位地址线作为译 码器的输入,译码器输出作为存储器芯片的片选信号。 74LS138(3~8译码器)
1
1 1 1 1 1
0
0 0 0 0 0
0
0 0 0 0 0
0
0 1 1 1 1
1
1 0 0 1 1
0
1 0 1 0 1
1
1 1 1 1 1
1
1 1 1 1 1
0
1 1 1 1 1
1
0 1 1 1 1
第5章中断系统
![第5章中断系统](https://img.taocdn.com/s3/m/dccff0cd7f1922791688e8ec.png)
外部中断请求 INT 0 或 INT 1 有两种触发方式:电平触发及边沿触发 (又称 下降沿触发)。由定时控制寄存器TCON中的IT0位及IT1位选择。
7
(2)定时器/计数器0、1、2溢出中断 8052(及8032等)有3个定时器/计数器,分别称为定时器/计数 器0(T0)定时器/计数器1(T1)和定时器/计数器2(T2)。 三个定时器/计数器既可作为定时器用,又可作为计数器用,可编 程设定。 当作为定时器使用时,其中断信号取自内部定时时钟;
D7 D6 EA
D5
D4 D3 D2 D1 D0 ES ET1 EX1 ET0 EX0
MCS-51单片机的中断控制
MCS-51单片机的中断控制由用户通过设定中断允许寄存器IE来 实现,如单片机开放中断,允许外部事件1中断、定时/计数器T0溢出 中断和串行口中断。 设定程序如下: MOV IE, #10010110B 或: SETB EA; CPU开放中断 SETB EX1; 允许中断 SETB ET0; 允许定时/计数器溢出中断 SETB ES; 允许串行口中断
12
二、 中断的控制
ET2
除了外部中断电平触发方式外,其他各个中断实际上是由标志位IE0、IE1、 TF0、TF1、TI、RI、TF2、EXF2 置位引起的。这些标志位除了由相应的硬 件置位外,还可以由软件置位,因此,如果有需要,可以用程序安排产生 中断。
13
(一)MCS-51单片机中断标志位
MCS-51单片机中断标志位分别由2个特殊功能寄存器存储: (1)定时器控制寄存器TCON (2)串行口控制寄存器SCON 1、定时器控制寄存器(TCON)
D3 IE1
D2 IT1
D1 IE0
D0 IT0
串行口控制寄存器(SCON)
7
(2)定时器/计数器0、1、2溢出中断 8052(及8032等)有3个定时器/计数器,分别称为定时器/计数 器0(T0)定时器/计数器1(T1)和定时器/计数器2(T2)。 三个定时器/计数器既可作为定时器用,又可作为计数器用,可编 程设定。 当作为定时器使用时,其中断信号取自内部定时时钟;
D7 D6 EA
D5
D4 D3 D2 D1 D0 ES ET1 EX1 ET0 EX0
MCS-51单片机的中断控制
MCS-51单片机的中断控制由用户通过设定中断允许寄存器IE来 实现,如单片机开放中断,允许外部事件1中断、定时/计数器T0溢出 中断和串行口中断。 设定程序如下: MOV IE, #10010110B 或: SETB EA; CPU开放中断 SETB EX1; 允许中断 SETB ET0; 允许定时/计数器溢出中断 SETB ES; 允许串行口中断
12
二、 中断的控制
ET2
除了外部中断电平触发方式外,其他各个中断实际上是由标志位IE0、IE1、 TF0、TF1、TI、RI、TF2、EXF2 置位引起的。这些标志位除了由相应的硬 件置位外,还可以由软件置位,因此,如果有需要,可以用程序安排产生 中断。
13
(一)MCS-51单片机中断标志位
MCS-51单片机中断标志位分别由2个特殊功能寄存器存储: (1)定时器控制寄存器TCON (2)串行口控制寄存器SCON 1、定时器控制寄存器(TCON)
D3 IE1
D2 IT1
D1 IE0
D0 IT0
串行口控制寄存器(SCON)
第五章MCS51中断系统
![第五章MCS51中断系统](https://img.taocdn.com/s3/m/c0f6e8b218e8b8f67c1cfad6195f312b3169eb9b.png)
中断服务子程序:
ORG 4110H
WBINT: MOV A,#0FFH
MOV P1,A ;设输入态
MOV A,P1 ;取开关数
SWAP A
;换位
MOV P1,A ;输出驱动灯泡发光
RETI
;中断返回
END
5. 8 多外部中断源系统设计
5.8.1定时器/计数器作为外部中断的使用方法
定时器/计数器内容,下章讲解.
边沿方式外部中断请求的撤消 ① 中断标志位清0
中断标志位(IE0或IE1)的清0是在中断响应后, 硬件自动完成.
② 外部中断信号的撤消
由于边沿信号出现后会消失,所以边沿方式 外部中断请求也是自动撤消.
✓ 电平方式外部中断请求的撤消
①中断请求标志位(IE0或IE1)撤消硬件自 动完成.
②中断请求信号的低电平可能继续存在,将 会重新把已清0的IE0或IE1置位.所以对电 平方式外部中断请求的撤消,除清标志位外 ,还必须在中断响应后把中断请求信号引脚 从低电平强制变为高电平. 方法如图.
中断处理过程
1)保护现场
PUSH PSW PUSH A PUSH R0
2)中断服务 相应的中断源服务
3)恢复现场
POP R0 POP A POP PSW
4)开中断和中断返回
RETI
5.2 MCS-51中断系统的结构
5.3 中断请求
MCS-51中断系统有5个中断源(见5.2图) 1) INT0 --外部中断请求源0,中断请求标志IE0. 2) INT1--外部中断请求源1,中断请求标志IE1. 3)T0--定时器/计数器T0溢出中断请求,中断请
若IE=0,无中断请求 若IE=1,有中断请求
✓IT1:INT1的触发方式控制位 ✓IE1:外部中断1的中断请求标志
第五章中断系统
![第五章中断系统](https://img.taocdn.com/s3/m/5cbbfd4851e79b896902269b.png)
解: 参考程序如下:
ORG 0000H
LJMP MAIN
;上电或复位后自动转向主程序。
ORG 0003H
LJMP BJ
;外中断0入口地址为0003H。
ORG 0030H
MAIN:MOV 55H, #00H ;计数器清零。 以下为中断服务子程序:
CLR P1.0
;关报警。
ORG 00A0H
CLR P1.1
一中断概念某人看书执行主程序日常事务电话铃响电话铃响中断信号int0中断信号int0中断请求中断请求日常事务程序中断服务程序5511中断技术中断技术的概述的概述暂停看书暂停执行主程序中断响应书中作记号当前pc入栈保护断点电话谈话执行io程序中断服务继续看书返回主程序中断返回三中断优先权1
第五章 中断系统
2021/1/15
5-4 中断响应和中断返回
MCS-51的中断响应过程:
1、中断响应的条件:
我们人可以响应外界的事件,是因为我们有多种“传感器“――眼、耳可以接受不同的信息,计算 机是如何做到这点的呢?MCS51工作时,在每个机器周期中都会去查询一下各个中断标记,看他们 是否是“1“,如果是1,就说明有中断请求了,所以所谓中断,其实也是查询,不过是每个周期都 查一下而已。这要换成人来说,就相当于你在看书的时候,每一秒钟都会抬起头来看一看,查问一 下,是不是有人按门铃,是否有电话。。。。
T 0 0 0 0 B H I N T 10 0 1 3 H T 1 0 0 1 B H S I O 0 0 2 3 H
LJMP INT0 ;转外中断0
ORG 000BH
RETI ;没有用定时器0中断,在此放一条RETI,万一 “不小心“产生了中断,也不会有
太大的后果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.3 中断服务程序
当单片机接收到一个中断请求信号后,就挂起它的当前
操作,保存其工作状态,并将控制权转交给中断服务程
序,以便通过执行中断服务程序来完成该中断所对应的 操作内容。 具体来说,就是要完成下列工作: (1)开中断和允许中断源中断; (2)确定各中断源的优先级; (3)若是外部中断,则应规定是电平触发还是边沿触发
PT0
值
响应次序: 定时器0→外中断1→外中断0→实时器1→串行中断。
3. 中断嵌套
中断优先级的作用不仅体现在中断响应时,而且也体现在中 断服务过程中,即允许把正在进行的中断服务暂停下来,而 转去进行优先级高的中断服务,这就是中断嵌套。 中断可以多层嵌套。
CPU在执行 的主程序 响应低级中断 低级中断请求 高级中断请求 返回主程序 返回低级中断程序
第5章 单片机的中断
5.1 中断概述
5.2 MCS-51单片机的中断系统
5.3 MCS-51单片机中断系统的应用
1
5.1 中断概述
中断”是指计算机在执行某一程序的过程中, 由于计算机系 统内、 外的某种原因, 而必须中止原程序的执行, 转去执行 相应的处理程序, 待处理结束之后, 再回来继续执行被中止
当计数器产生计数溢出时,相应的溢出标志位由硬件置 “1”,并自动产生定时中断请求。当转向中断服务程序时, 再由硬件自动清“0”。 计数溢出标志位的使用有两种情况: • 采用中断方式时,作为中断请求标志位来使用; • 采用查询方式时,作为状态位供查询使用。
10
串行口控制寄存器:SCON
字节地址:98H
IE
EX0
IP
PX0 PT0
IE0 TF0
T0
IT1=0 INT1 IT1=1
自 然 优 先 级 矢量 地址 自 然 优 先 级
ET0 PX1 EX1 PT1 ET1 PS ES EA
高 级 中 断 请 求
IE1 TF1 TI RI SCON
中断标 志位
T1 TXD RXD
中断源
中断源 允许
中断优 先级
18
例设有如下要求,将T0、外中断1设为高优先级,其它 为低优先级,求IP的值,和其响应顺序。
解:IP的首3位没用,可任意取值,设为000,后面根据 IP的值就是 要求写就可以了。
位
符号
D7 X 0
D6 X 0
D5 X 0
D4 PS 0
D3 PT1 0
06H。 D2 D1 1 1
D0 PX0 0
PX1
位地址 0BFH 0BEH 0BDH 位符号 — — —
位地址:0B8H ~ 0BFH
0BCH PS 0BBH PT1 0BAH PX1 0B9H PT0 0B8H PX0
功能:用于设定各中断的优先级,通过IP可将中断分为高、低两 个优先级。 PX0:外部中断 0 优先级设定位 PT0:定时器 0 中断优先级设定位 PX1:外部中断 1 优先级设定位 PT1:定时器 1 中断优先级设定位 • 为“0”的位优先级低
001BH:定时器1溢出中断入口
5.2.2中断请求标志:TCON、SCON
TCON:字节地址:88H
位地址 位符号 8FH TF1 8EH TR1 8DH TF0 8CH TR0
位地址:88H ~ 8FH
8BH IE1 8AH IT1 89H IE0 88H IT0
功能:用于保存外部中断请求以及定时器的计数溢出。 【注意】:TCON既有定时器的控制功能,又有中断控制功能。 虽然TCON称为定时器控制寄存器,但多数位都是为中断控制 而设置的(其中与中断有关的控制位共6位)。
矢量 地址
低 级 中 断 请 求
5.2.1 中断源与中断向量
中断源是指在计算机系统中向CPU发出中断请求的来源。分 为内部事件和外部事件 51单片机相对来说较为简单,只提供了5个中断源: 外部:2个外部中断请求 INTO 和 内部:
INT1(P3.2、P3.3)
片内定时器/计数器T0和T1的溢出中断请求TF0和TF1 串行口中断请求TI或RI(合为一个中断源)
0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8H
功能:用于控制是否允许使用中断。其中与中断有关的控制位
共6位:
EA:中断允许总控制位
EA=0,中断总禁止,CPU禁止所有中断;
EA=1,中断总允许,总允许后中断的禁止或允许由各中断源
的中断允许控制位进行设置。
13
当总控制位EA=1时,开放中断系统,这时才能由各分控制位设 置各自中断的允许与禁止。 MCS-51单片机复位后IE=00H,此时中断系统处于禁止状态。 单片机中断响应后硬件不会自动关闭中断,因此,在转中断服 务程序后,应根据需要使用能将EA复位的有关指令禁止中断, 即以软件方式关闭中断。
24
5.3 中断服务程序
1. 主程序中的中断初始化
哪个中断请求先被响应。
21
中断响应的条件总结
单片机响应中断的基本条件为:
(1)中断源有请求。
(2)中断允许寄存器IE相应位置1。 (3)且CPU总中断允许(即EA=1)。
例1:若规定外部中断0为电平触发方式,高优先级,试
写出有关的初始化程序。
解:一般可采用位操作指令来实现: SETB SETB SETB CLR EA EX0 PX0 IT0 ;开中断 ;允许外中断0中断 ;外中断0定为高优先级 ;电平触发
(1) 在每条指令结束后, 系统都自动检测中断请求信号, 如果有中断
请求,且CPU处于开中断状态下, 则响应中断。 (2) 保护现场, 在保护现场前, 一般要关中断, 以防止现场被破坏。
保护现场一般是用堆栈指令将原程序中用到的,在中断服务子程
序又要用到的寄存器或RAM入栈保护。 (3) 中断服务, 即为相应的中断源服务。
IT0和IT1:外部中断触发方式控制位
IT0(IT1)=0 IT0(IT1)=1 电平触发方式,低电平有效 脉冲触发方式,负跳变有效
此位由软件置“1”或清“0”
9
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
位符号
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF0和TF1:定时器(T0和T1)计数溢出标志位
• 为“1”的位优先级高
• CPU复位时,IP中的 各位均被清0
17
PS:串行中断优先级设定位
2. 中断优先原则在中断响应时的体现
中断优先原则首先体现在中断响应过程中,即保证高优先级 中断请求被优先响应。按以下两种情况安排: ① 当高、低优先级中断请求同时出现时,高优先级中断请求被 响应。 ② 如果同级的多个中断请求同时出现,则按CPU查询次序确定 哪个中断请求被响应。其查询次序为:外部中断0→定时器0 中断→外部中断1→定时器1中断→串行中断。
20
CPU执行 低级中断
CPU执行 高级中断 服务 响应高级中断
MCS-51单片机的中断嵌套
因为MCS-51单片机只具有两个优先级,因此具备两级中断 服务嵌套的功能,中断嵌套只能一层,其对中断优先级的处 理原则是: 低优先级中断请求不能打断高优先级的中断服务;但高优先 级中断请求可以打断低优先级的中断服务,从而实现中断嵌 套。 同优先级的中断不能嵌套。即如果一个中断请求已被响应, 则同级的其它中断服务将被禁止。 如果同级的多个中断请求同时出现,则按CPU查询次序确定
的原程序的过程。中断需要解决两个主要问题:
① 如何从主程序转到中断服务程序;
② 如何从中断服务程序返回主程序。
2
中断技术的应用
① 有效地解决快速CPU与慢速外设之间的矛盾,可使CPU与外
设并行工作,大大提高工作效率。
② 分时操作:有了中断技术,CPU可启动多台外设并行工作, 分时进行CPU与各台外设之间的信息交换。
8
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
位符号
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IE0和IE1:外部中断请求标志位
当CPU采样到INT0(或INT1)端出现有效中断请求信号时,
IE0(或IE1)位由硬件置“1”,即保存外部中断请求。在中
断响应完成后转向中断服务程序时,再由硬件自动清“0”。
15
例题:如果我们要设置外中断1、定时器1中断允许,其 它不允许,请设置IE的相应值。
(MSB)AFH AEH ADH ACH ABH AAH A9H A8H(LSB) 位 符号 值 D7 EA 1 D6 × 0 D5 × 0 D4 ES 0 或 D3 ET1 1 D2 EX1 1 MOV D0ADH 0ACH 0ABH 0AAH 0A9H 0A8H 位符号 EA — — ES ET1 EX1 ET0 EX0
EX0和EX1:外部中断允许控制位
EX0(EX1)=0 EX0(EX1)=1 禁止外部中断0(或外部中断1) 允许外部中断0(或外部中断1)
9FH
9EH
9DH SM2
9CH REN
9BH TB8
9AH RB8
99H TI
98H RI
SM0 SM1
TI:串行发送中断请求标志位
在发送数据过程中,当最后一个数据位被发送完成后,TI由硬 件置“1” ;软件查询时TI可作为状态位使用。 在转向中断服务程序后,TI必须由用户在中断服务程序中用软 件清“0”,即中断服务程序中必须有CLR TI 或 ANL SCON, #FDH等软件清“0” 指令。