第 5章 MCS-51单片机的中断系统
5.1 微型计算机中断技术概论
5.1.1 中断的概念
定义:计算机在执行某一程序的过程中,
由于计算机系统之外的某种原因,有必要尽快地中止当前程序的运行,而去执行相应的处理程序,待处理程序结束后,再返回来继续执行被中止了的那个程序。这种某一程序在执行过程中由于外界的原因,
中间被打断的情况就称为,中断,。
中断功能
(1)可实现高速 CPU 与慢速外设之间的配合。因为许多外围设备的速度比 CPU慢,二者间无法同步地进行数据交换。为此可通过中断方式实现 CPU与外围设备之间的协调工作。
(2)可实现实时处理。实时处理是自动控制系统对计算机提出的要求,各控制参量可以随时向 CPU发出中断申请,而 CPU也必须做出快速响应和及时处理,以便使被控对象总保持在最佳工作状态。
(3) 实现故障的紧急处理。当外围设备或计算机出现故障时,可以利用中断系统请求 CPU及时处理这些故障。
(4)便于人机联系。操作人员可以利用键盘中断等,实现人机联系,完成人的干预。
5.1.2中断处理过程
1,保护现场与恢复现场
2,开中断与关中断
3.中断服务
4.中断返回执 行 一 条 指 令有 中 断 请 求 否?
取 下 一 条 指 令
N
关 中 断
Y
保 护 现 场 和 断 点开 中 断中 断 服 务关 中 断恢 复 现 场开 中 断返 回图 5-1 中断处理流程
5.2 MCS-51单片机的中断控制
5.2.1中断源与中断标志位
8051/8031型单片机提供了 5个中断源:两个外部中断源和三个内部中断源 。 每一个中断源都有一个中断申请标志,但串行口占两个中断标志位,一共六个中断标志,
表 5-1给出了它们各自的名称 。
分 类 中断源名称 中断申请标志 触发方式 中断入口地址外部中断 外部中断 0 IE0(TCON.1) INT0(P3.2)引脚上的低电平 /下降沿引起的中断 0003H
内部中断 T0定时器 /计数器 0中断 IF0(TCON.5) T0计数器溢出后引起的中断 000BH
外部中断 外部中断 1 IE1(TCON.3) INT1(P3.3)引脚上的低电平 /下降沿引起的中断 0013H
内部中断 T1定时器 /计数器 1中断 IF1(TCON.7) T1计数器溢出后引起的中断 001BH
内部中断 串口中断 RI (SCON.0)TI ( SCON.1)
串行口接收完成或发送完一帧数据后引起的中断
0023H
表 5-1 中断源和中断申请标志
5.2.2 与中断有关的特殊功能寄存器 SFR
中断允许控制寄存器 (IE)
定时器控制寄存器 (TCON)
中断优先级控制寄存器 (IP)
串行口控制寄存器 (SCON )
1,中断允许控制寄存器 (IE) 这个特殊功能寄存器的字节地址为 0A8H,其位地址为 A8H~ AFH,
也可以用 IE.0~ IE.7表示。该寄存器中各位的内容及位地址表示如下:
位地址 AFH AEH ADH ACH ABH AAH A9H A8H
位符号 EA ES ET1 EX1 ET0 EX0
对于中断允许寄存器状态的设置,由于 IE既可以字节寻址又可以位寻址,因此,对该寄存器的设置既能够用字节操作指令,也可以使用位操作指令进行设置。
例如,假定要开放外中断 0,使用字节操作的指令是
MOV IE,81H
如果使用位操作指令则需要两条指令,但更清晰
SETB EA
SETB EX0
2.定时器控制寄存器 (TCON) 该寄存器的字节地址为 88H,位地址 88H~ 8FH,也可以用
TCON.0~ TCON.7表示。寄存器的内容及位地址表示如下:
这个寄存器既有中断控制功能,又有定时器 /
计数器的控制功能。其中与中断有关的控制位有 6
位位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
3.中断优先级控制寄存器 (IP) MCS- 51中断优先级的控制比较简单,因为系统只定义了高低两个优先级,各中断源的优先级由特殊功能寄器 IP设定。
通过对特殊功能寄器 IP的编程,可以把五个中断源分别定义在两个优先级中。 IP是中断优先级寄存器,可以位寻址。
IP的低五位分别各对应一个中断源:某位为 1时,相应的中断源定义为高优先级;某位为 0时,定义为低优先级。软件可以随时对 IP的各位清零或置位。
IP寄存器的字节地址为 B8H,位地址为 B8H- BFH,或用 IP.0- IP.7表示。寄存器的内容和位地址表如下:
位地址 BFH BEH BDH BCH BBH BAH B9H B8H
位符号 - - - PS(IP.4) PT1(IP.3) PX1(IP.2) PT0(IP.1) PX0(IP.0)
另外,MCS- 51单片机的硬件把五个中断源在同一个优先级的情况下按下列顺序排列了优先权,优先权最高,串行口优先权最低:
一个中断服务子程序被另一个中断申请所中断,被称为中断嵌套。 MCS- 51单片机至少可以实现两级中断嵌套 。
4,串行口控制寄存器 (SCON ) 其寄存器字节地址为 98H,
位地址 98H- 9FH,或叫 SCON.0- SCON.7,寄存器的内容和位地址表示如下:
其中与中断有关的控制位共两位:
(1) TI-串行口中断请求标志位。
(2) RI-串行口接收中断请求标志位。
I N T 0,T 0,I N T 1,T 1,串 口
( 最 高 )
( 最 低 )
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI
MCS-51单片机中断系统示意图
5.2.3 中断响应过程中断响应就是 CPU对某一中断源所提出的中断请求的响应。中断请求被 CPU响应后,再经过一系列的操作,然后才转向中断服务程序,完成中断所要求的处理任务,对 MCS-51的整个中断响应过程,分为以下几个问题顺序进行说明。
对外中断请求的采样
中断查询与响应
中断响应时间
中断请求的撤除
中断服务程序的编写要点及断点的数据保护