第 5章 中断系统第 5章 中断系统
5.1 输入输出数据传送的控制方式
5.2 中断概述
5.3 8051单片机中断系统结构及中断控制第 5章 中断系统
5.1 输入输出数据传送的控制方式共有四种控制方式 。
无条件传送方式查询方式中断方式直接存储器存取 ( DMA――Direct Memory Access)
第 5章 中断系统
5.1.1 无条件传送方式
( 1) 具有常驻的或变化缓慢的数据信号的外部设备,
( 2) 工作速度非常快,足以和 CPU同步工作的外部设备
,例如:数 /模转换器 DAC。
5.1.2 程序查询方式
5.1.3 中断方式中断方式与查询方式的主要区别在于如何知道外设是否为数据的传送作好了准备,查询方式是 CPU的主动形式,而中断方式则是 CPU等待通知 ( 中断请求 ) 的被动方式 。 下面对中断作以介绍 。
第 5章 中断系统
5.2 中断概述
5.1.1 中断的概念计算机中的中断是指 CPU在处理某件事情的时候,外部发生了某一事件请求 CPU迅速去处理,于是 CPU暂时中断当前的工作,转入处理所发生的事件,中断访问处理完后,再回到原来被中断的地方,继续原来的工作的过程称为中断,如图 5-1所示
。 实现这种功能的部件称为中断系统 ( 中断机构 ),产生中断的请求源称为中断源 。
第 5章 中断系统图 5-1 中断流程第 5章 中断系统
5.1.2 中断功能当计算机采用了中断技术后,可大大地提高其工作效率和处理问题的灵活性 。 其功能主要表现在以下几个方面:
1,实现 CPU与外设的速度配合
2,实现实时控制
3,实现故障的及时发现
4,实现人机联系第 5章 中断系统
5.1.3 中断系统的功能
MCS-51的中断系统具有以下中断功能:
1,能实现中断及返回 。
2,能实现中断优先级排队 。
3,能实现中断嵌套 。
图 5-2 中断嵌套流程第 5章 中断系统
5.3 8051单片机中断系统结构及中断控制第 5章 中断系统
5.3.1 中断源
8051单片机的五个中断源分别是外部中断两个,定时中断两个和串行中断一个 。
1,外中断类即外部中断 0和外部中断 1。
中断请求信号分别由引脚 ( P3.2) 和 ( P3.3) 引入外部中断请求有两种信号方式,
电平方式脉冲方式 。
2,定时中断类
3,串行中断类
0INT 1INT
第 5章 中断系统
5.3.2 中断控制与中断控制有关的寄存器共四个,
定时器控制寄存器 TCON
中断允许控制寄存器 IE
中断优先控制寄存器 IP
串行口控制寄存器 SCON
第 5章 中断系统
1,定时器控制寄存器 ( TCON)
该寄存器地址为 88H,其位地址为 8FH~ 88H。 寄存器的内容及位地址表示如下:
位地址 8F 8E 8D 8C 8B 8A 89 88
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
· IE0 ( IE1) —— 外中断请求标志位当 CPU采样到 (或) 端出现有效中断请求时,此位由硬件置 1。在中断响应完成后转向中断服务时,再由硬件自动清零。
0INT1INT
第 5章 中断系统
·IT0( IT1) —— 外中断请求信号方式控制位
IT0( IT1) =1 脉冲方式 ( 后沿负跳有效 )
IT0( IT1) =0 电平方式 ( 低电平有效 )
此位由软件置 1或清 0。
位地址 8F 8E 8D 8C 8B 8A 89 88
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
第 5章 中断系统
·TF0( TF1) —— 计数溢出标志位当计数器产生计数溢出时,此位由硬件置 1。 当转向中断服务时,再由硬件自动清 0。 计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用,采用查询方式时,
作查询状态位来使用 。
第 5章 中断系统
2,串行口控制寄存器 ( SCON)
该寄存器地址为 98H,其位地址为 9FH~ 98H。
位地址 9F 9E 9D 9C 9B 9A 99 98
位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI
·TI—— 串行口发送中断请求标志位当发送完一帧串行数据后,由硬件置 1,在转向中断服务程序后,用软件清 0。
·RI—— 串行口接收中断请求标志位当接收完一帧串行数据后,由硬件置 1;在转向中断服务程序后,用软件清 0。
第 5章 中断系统
3,中断允许控制寄存器 ( IE)
该寄存器地址为 A8H,其位地址为 AFH~ A8H。
位地址
AF AE AD AC AB AA A9 A8
位符号
EA
1
/
0
/
0
ES
0
ET1
1
EX1
0
ET0
0
EX0
1
·EA—— 中断允许总控制位
EA=0 中断总禁止,禁止所有中断 。
E EA=1 中断总允许 。 当中断总允许后,某个中断的禁止或允许由各中断源的中断允许控制位进行设置 。
第 5章 中断系统
·EX0( EX1) —— 外部中断允许控制位
EX0( EX1) = 0 禁止外中断
EX0( EX1) = 1 允许外中断
·ET0( ET1) —— 定时/计数中断允许控制位
ET0( ET1) = 0 禁止定时 ( 或计数 ) 中断
ET0( ET1) = 1 允许定时 ( 或计数 ) 中断
·ES—— 串行中断允许控制位
ES=0 禁止串行中断
ES=1 允许串行中断单片机复位后 ( IE) = 00H,中断系统处于禁止状态 。
中断允许与禁止,就是中断的开放与关闭 。
第 5章 中断系统
4,中断优先级控制寄存器 ( IP)
IP寄存器地址 B8H,位地址为 BFH~ B8H。
位地址 BF BE BD BC BB BA B9 B8
位符号 /
0
/
0
/
0
PS
0
PT1
0
PX1
0
PT0
0
PX0
1
,PX0—— 外部中断 0优先级设定位
,PT0—— 定时中断 0优先级设定位
,PX1—— 外部中断 l优先级设定位
,PT1—— 定时中断 1优先级设定位
,PS —— 串行中断优先级设定位
X =0,优先级为低; X=1,优先级为高 。
第 5章 中断系统中断优先级是为中断嵌套服务的,MCS— 51中断优先级的控制原则是:
① 低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套 。
② 如果一个中断请求已被响应,则同级的其它中断响应将被禁止 。
③ 如果同级的多个中断请求同时出现,则按 CPU设定的自然优先级确定那个中断请求被响应 。 其自然优先级由高到低依次为:外部中断 0→ 定时中断 0→ 外部中断 1→ 定时中断 1→ 串行中断,这其实是 CPU查询各中断的次序 。
第 5章 中断系统
5,中断控制寄存器状态设置这四个控制寄存器都是既可进行 字节寻址 又可进行 位寻址的 。
初始化方式,字节操作指令,位操作指令 。
例 。 在中断允许控制寄存器 IE中,假定要开放外部中断 0和定时中断 1,为:
字节操作指令,MOV IE,#89H
位操作指令,SETB EA
SETB EX0
SETB ET1
其它各中断控制寄存器与此类似 。
第 5章 中断系统
5.4 中断响应
5.4.1 中断处理流程 执行一条指令有中断请求吗?
关中断开中断保护现场和断点中断服务关中断现场恢复开中断返回
N
Y
取下一条指令图 5-4 中断处理流程图第 5章 中断系统
5.4.2 外部中断请求采样
5.4.3 中断响应过程
5.4.4 中断响应时间第 5章 中断系统
5.5 中断技术应用举例主程序和中断服务程序 。
在编写主程序时应注意以下几点:
( 1) 主程序的起始地址 。 MCS-51单片机复位后,
PC=0000H,而各中断源的入口地址为 0003H~0023H。 因此
,在编写程序时应在 0000H处使用一条转移指令,跳过上述区域 。 主程序则以转移指令的目的地址作为其起始地址 。
第 5章 中断系统
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP SUM
ORG 1000H
MAIN,~~
第 5章 中断系统
( 2) 主程序的初始化内容。
MCS-51中断系统的功能是通过上述特殊功能寄存器进行统一管理的,中断系统的初始化是指用户对这些特殊功能寄存器中的各控制位进行赋值。
初始化包括:相应中断源开中断;设定所涉及中断源的中断优先级;若为外部中断,应规定其触发方式。
第 5章 中断系统例 5-1 统计脉冲触发方式的的个数,若满 100个,则停止统计并将 P1.0置 1。
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP SUM
ORG 1000H
MAIN,MOV A,00H ;主程序开始
SETB IT0 ;设置脉冲触发方式
SETB IE0 ;设置外部中断 0允许
SETB EA ;总中断允许
SJMP $ ;等待中断第 5章 中断系统
SUM,INC A
CJNE A,#100,QUIT
CLR EA ;总中断禁止
CLR IE0 ;外部中断 0禁止
SETB P1.0 ;置位 P1.0
QUIT,RETI ;中断返回
END
第 5章 中断系统例 5-2 外部中断源扩展 。
当外部中断源多于 2个时,可采用硬件申请与软件查询的方法扩展外部中断。
8051
≥1 EXT0EXT1
EXT2
EXT3
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
LED R
0INT
第 5章 中断系统
ORG 0000H
JLMP MAIN
ORG 0003H
LJMP EXINT ;转外部中断 1服务程序
……
EXINT,PUSH PSW
PUSH A ;保护现场 。
JB P1.0,EXT0
JB P1.1,EXT1
JB P1.2,EXT2
JB P1.3,EXT3
DONE,POP A
POP PSW ;恢复现场 。
RETI ;中断返回 。
……
第 5章 中断系统
EXT0,SETB P1.4

AJMP DONE
EXT1,SETB P1.5

AJMP DONE
EXT2,SETB P1.6

AJMP DONE
EXT3,SETB P1.7

AJMP DONE