当前位置:文档之家› 第5章AT89S51单片机的中断系统

第5章AT89S51单片机的中断系统


0AAH
EX1
0A9H
ET0
0A8H
EX0
EX0和EX1:外部中断允许控制位
EX0(EX1)=0 EX0(EX1)=1 禁止外部中断0(或外部中断1) 允许外部中断0(或外部中断1)
ET0和ET1:定时器/计数器中断允许控制位
ET0(ET1)=0 禁止定时器/计数器中断
ET0(ET1)=1
11
中断服务程序
中断发生时,主程序暂停,跳转到中断服务程序,称为“响 应中断”,执行完毕后返回主程序继续运行。 中断服务程序不能被调用,没有返回值,程序在何处发生中 断是由中断事件发生而决定。
12
AT89S51单片机的中断过程
主程序
中断响应
中断请求
执行主 程序
断点 继续执行 主程序 执行 中断 处理 程序
对控制对象随机发出的中断请求,单片机必须作出
快速响应并及时处理,以使被控对象保持在最佳工
作状态,达到预定的控制效果。
8
中断系统概述 计算机中的资源竞争,通常是因计算机在运行程 序时会发生一些可预测或不可预测的随机事件引起 的。这些随机事件包括:
与计算机“并行”工作的输入/输出设备发出的中断请求,以 进行数据传送。 硬件故障、运算错误及程序出错时产生的中断请求,以进行 故障报警和程序监测。 当对运行中的计算机进行干预时,通过键盘输入的命令,以 进行人机联系。 来自被控对象的中断请求,以实现自动控制。
单片机复位后IE=00H,此时中断系统处于禁止状态。
单片机中断响应后硬件不会自动关闭中断,因此,在转中断服 务程序后,应根据需要使用能将EA复位的有关指令禁止中断, 即以软件方式关闭中断。
29
中断允许寄存器IE
30
5.3.2 中断优先级控制寄存器IP
字节地址:0B8H
位地址 位符号 0BFH — 0BEH — 0BDH —
TF0和TF1:定时器(T0和T1)计数溢出标志位
当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”, 并自动产生定时中断请求。当转向中断服务程序时,再由硬 件自动清“0”。 计数溢出标志位的使用有两种情况: • 采用中断方式时,作为中断请求标志位来使用; • 采用查询方式时,作为状态位供查询使用。
(4)中断方式
3
无条件传送方式 无条件传送方式在这种传送方式下,CPU不需要了解
外设的状态,只要在程序中加入访问外设的指令,
就可实现CPU与外设之间的数据传送。此种方法控制 简单,但数据传送时,由于不知道外设的状态,传 送数据时容易出错。
4
查询传送方式
查询传送方式在这种传送方式下,CPU在传送 数据之前,要不断查询外部设备是否处于“准
位地址:0B8H ~ 0BFH
0BCH PS 0BBH PT1 0BAH PX1 0B9H PT0 0B8H PX0
功能:用于设定各中断的优先级,通过IP可将中断分为高、低两 个优先级。 PX0:外部中断 0 优先级设定位 PT0:定时器 0 中断优先级设定位 • 为“0”的位优先级低
PX1:外部中断 1 优先级设定位
9
思考: 假设没有中断技术。
10
中断的概念
CPU在处理某一事件A时,发生了另一事件B请求CPU迅速
去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和 中断服务); 待CPU将事件B处理完毕后,再回到原来事件A被中断的地
方继续处理事件A(中断返回),这一过程称为中断 。
用的最多的是外部中断与定时中断。 ○外部中断典型应用:按键程序 ○定时器中断典型应用:定时与循环扫描等应用场合
22
23
(2)SCON中的中断标志位
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位符号
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
TI:串行发送中断请求标志位
在发送数据过程中,当最后一个数据位被发送完成后,TI
由硬件置“1” ;软件查询时TI可作为状态位使用。
在转向中断服务程序后,TI必须由用户在中断服务程序中 用软件清“0”。
17
中断源 外部中断 0 定时器0中断
中断向量 0003H 000BH
外部中断 1
定时器1中断
0013H
001BH
串行中断
0023H
89S51中断系统的结构及中断控制
89S51的中断系统有5个中断源(52系列有6个),2个优先级,
可实现二级中断嵌套 。
TCON
IT0 1 0 IE0 1 ET0 1 TF0 IT1 1 0 IE1 1 ET1 1 TF1 0 RI TI ES 1 ≥1 PS 1 0 0 PT1 1 0 自 然 优 先 级 中断源 低 级 0 EX1 1 PX1 1 EX0 1
允许定时器/计数器中断
ES:串行中断中断允许控制位
ES=0 ES=1 禁止串行中断 允许串行中断
28
说 明:
单片机通过中断允许控制寄存器对中断的允许(开放)实行两 级控制,即以EA作为总控制位,以各中断源的中断允许位作为 分控制位。 当总控制位EA=0时,关闭整个中断系统,不管分控制位状态如 何,整个中断系统处于禁止状态; 当总控制位EA=1时,开放中断系统,这时才能由各分控制位设 置各自中断的允许与禁止。
费大量的时间进行外设的查询,从而提高了CPU的效率。
在单片机应用系统中,为了提高CPU的效率,多采用中断 方式。为了实现中断功能而配置的软件与硬件,称为中断系
统。
7
5.1 AT89S51中断技术概述
中断技术实质 ——资源共享技术
中断技术对单片机来说非常重要,因为单片机所 具有的复杂实时控制功能与中断技术密不可分,面
PT1:定时器 1 中断优先级设定位 PS:串行中断优先级设定位
31
• 为“1”的位优先级高
• CPU复位时,IP中的 各位均被清0
IP寄存器
32
单片机对同一优先级中断请求的查询次序:
中断源 外部中断 0 定时器 0 溢出中断 外部中断 1 定时器 1 溢出中断 入口地址 0003H 000BH 0013H 001BH 同级内的中断优先权 最高
功能:用于控制是否允许使用中断。其中与中断有关的控制位
共6位:
EA:中断允许总控制位
EA=0,中断总禁止,CPU禁止所有中断; EA=1,中断总允许,总允许后中断的禁止或允许由各中断源 的中断允许控制位进行设置。
27
位地址
位符号
0AFH
EA
0AEH

0ADH

0ACH
ES
0ABH
ET1
在 4 个控制寄存器中: ① 中断允许控制寄存器:IE
② 定时器控制寄存器:TCON
③ 串行口控制寄存器:SCON

④ 中断优先级控制寄存器:IP
中断控制是通过硬件实现的,但须进行软件设置。
19
5.2.2 中断请求标志寄存器
(1)中断标志与外部中断方式选择寄存器:TCON 字节地址:88H
位地址 位符号 8FH TF1 8EH TR1
位地址:88H ~ 8FH
8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0
功能:用于保存外部中断请求以及定时器的计数溢出。 【注意】:TCON既有定时器的控制功能,又有中断控制功能。 虽然不少资料将TCON称为定时器控制寄存器,但多数位都是 为中断控制而设置的(其中与中断有关的控制位共6位)。
中断返回
13
主程序A
断点
返回
RETI 中断服务程序B
引起CPU中断的根源,称为中断源。中断源向CPU提出的中 断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B 处理完毕后,再回到原来被中断的地方(即断点),称为中断 返回。实现上述中断功能的部件称为中断系统(中断机构)。
14
„„
响应
中断技术的应用
① 有效地解决快速CPU与慢速外设之间的矛盾,可使CPU与外设 并行工作,大大提高工作效率。 ② 分时操作:有了中断技术,CPU可启动多台外设并行工作,分 时进行CPU与各台外设之间的信息交换。
③ 实时处理:可以及时处理控制系统中许多随机产生的参数与信
息,从而提高了实时控制系统的性能。 ④ 故障处理:当计算机出现故障时,CPU可自动执行故障处理程 序,提高了系统自身的可靠性。 计算机与外围设备之间传送数据及实现人机联系也常采用中断
串行口中断
0023H 最低
对于同级的多个中断请求,查询的次序安排是通过专门的 内部逻辑实现的。
33
中断优先级定义原则
① 中断的轻重缓急程度。例如,电源故障有使整个系统瘫 痪的危险,必须及时处理,所以应安排为高优先级;而 那些仅影响局部故障的中断或操作性中断(如输入/输 出中断)应安排为低优先级。 ② 中断设备的工作速度。快速设备需要及时响应,否则将 有丢失数据的危险,所以应安排为高优先级。 ③ 中断处理的工作量。尽量把处理工作量小的中断安排为 高优先级,因为处理工作量小,占用CPU的时间短。 ④ 中断请求发生的频繁程度。可以考虑将那些很少请求单 片机干预的事件产生的中断安排为高优先级。
方式。
15
5.2 AT89S51中断系统结构
5.2.1 89S51的中断源 中断源:凡是中断请求的来源都统称为中断 源。
在单片机系统中,中断可以由各种硬件设备
产生,以便请求服务或报告故障等;中断也 可以由处理器自身产生,如程序错误或对操 作系统的请求作出响应等。
16
中断源与中断向量
具有 5 个中断源(52子系 列为6个,多一个定时器中 断) 中 断 向 量 ( I n t e r r u p t Vector):是程序存储器 的一个地址,表明一个中 断的服务程序从这里开始 存放。
相关主题