8051中断结构


在本节中,我们将了解Intel 8051微控制器的中断结构。

中断基本上是暂时挂起主程序、将控制权传递给外部源并执行其任务的事件。然后,它将控制权传递回主程序中断处。

8051有五个中断。这些中断是INT0INT1,TO,T1,TI/RI。所有中断都可以使用IE(中断允许)寄存器启用或禁用。

这些中断的中断地址如下所示:

中断
地址
INT00003H
INT1000BH
T00013H
T1001BH
TI/RI0023H


中断允许(IE)寄存器

此寄存器可用于以编程方式启用或禁用中断。此寄存器是特殊功能寄存器(SFR)。地址为A8H。此字节是按位寻址的。因此,用户可以对其进行编程。此寄存器中的位具有不同的含义。寄存器结构如下所示:

位地址
AF
AE
AD
AC
AB
AA
A9
A8
位详细信息
EA
X
X
ES
ET1
EX1
ET0
EX0


现在,让我们看看位详细信息以及值低(0)和高(1)时的不同操作。

位详细信息
高值(1)
低值(0)
EA
最低有效5位可以决定这五个中断的启用或禁用。
禁用所有五个中断。它只是忽略其余五个位。
ES
启用串口中断
禁用串口中断
ET1
启用定时器1中断
禁用定时器1中断
EX1
启用外部中断1 (INT1)
禁用外部中断1 (INT1)
ET0
启用定时器0中断
禁用定时器0中断
EX0
启用外部中断0 (INT0)
禁用外部中断0 (INT0)



中断优先级(IP)寄存器

所有这五个中断都可以处于一到两个中断级别。优先级为1级和0级。1级表示较高优先级,0级表示较低优先级。此IP寄存器可用于存储每个中断的优先级。这也是一个按位寻址的SFR。其地址为B8H。

位地址
BF
BE
BD
BC
BB
BA
B9
B8
位详细信息
X
X
X
PS
PT1
PX1
PT0
PX0


现在,让我们看看位详细信息以及值低(0)和高(1)时的不同操作。

位详细信息
高值(1)
低值(0)
PS
设置串口中断的1级优先级
设置串口中断的0级优先级
PT1
设置定时器1中断的1级优先级
设置定时器1中断的0级优先级
PX1
设置外部中断1 (INT1) 的1级优先级
设置外部中断1 (INT1) 的0级优先级
PT0
设置定时器0中断的1级优先级
设置定时器0中断的0级优先级
PX0
设置外部中断0 (INT0) 的1级优先级
设置外部中断0 (INT0) 的0级优先级


当所有五个中断都处于相同的优先级级别,并且如果所有中断都被启用,则中断顺序将为INT0,T0,INT1,T1,TI/RI。

某些特定的优先级寄存器值可用于维护中断的优先级。假设优先级寄存器的值为xxx00101,则表示顺序为INT0INT1,TI/RI,T1,T0。但并非所有顺序都是可行的。INT0INT1,TI/RI,T1,T0是无效的。


Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

外部中断

8051的外部中断是INT0INT1。这些中断可以编程为边沿触发或电平触发。TCON寄存器可用于将外部中断编程为边沿触发或电平触发。TCON是定时器控制寄存器。TCON是另一个按位寻址的SFR。这里的地址是88H。

位地址
8F
8E
8D
8C
8B
8A
89
88
位详细信息
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0


现在,让我们看看位详细信息以及值低(0)和高(1)时的不同操作。

位详细信息
高值(1)
低值(0)
IT0
将(INT0)设置为负边沿触发输入。
将(INT0)设置为低电平触发输入。
IT1
将(INT1)设置为负边沿触发输入。
将(INT1)设置为低电平触发输入。
IE0
INT0被激活为电平触发时,这将为1。
INT0被激活为边沿触发时,这将为0。
IE1
INT1被激活为电平触发时,这将为1。
INT1被激活为边沿触发时,这将为0。
TR0
将定时器0设置为运行模式
将定时器0设置为停止模式。
TR1
将定时器1设置为运行模式
将定时器1设置为停止模式。
TF0
定时器T0溢出时为高。
重置定时器T0后,这也将变为0状态
TF1
定时器T1溢出时为高。
重置定时器T1后,这也将变为0状态。


IT0和IT1代表中断类型。这些位用于决定INT0INT1是电平触发还是边沿触发。

IE0和IE1位用于指示外部中断的状态。这些位可以由微控制器本身设置或重置。

前四位是关于定时器的状态信息。当TR0和TR1为1时,表示定时器的运行模式。这些位提供对定时器运行的软件控制。定时器也可以由硬件控制。硬件模式的优先级高于软件模式。

TF0和TF1分别用于指示定时器T0和T1的溢出。发生溢出时,这些标志设置为1。当中断由某个中断服务子程序(ISS)处理时,这些标志将为0。

串口中断

串口既可以用作发送模式,也可以用作接收模式。发送的中断状态由TI提供,接收的中断状态由RI提供。它们是SCON(串行控制)的两位。这也是一个按位寻址的SFR。地址为98H

位地址
9F
9E
9D
9C
9B
9A
99
98
位详细信息
SM0
SM1
SM2
REN
TB8
RB8
TI
RI


这些位的意义如下:

位详细信息
描述
SM0
这是串口模式0移位寄存器
SM1
这是串口模式1(8位UAR+可变)
SM2
在模式2或3中启用多处理器通信
REN
由软件设置或重置以启用或禁用接收
TB8
它指示在模式2或3中将要发送的第9位。它可以由软件设置或重置
RB8
在模式2或3中,第9位在模式1中接收。
TI
发送中断标志。它可以由硬件设置。
RI
接收中断标志。它可以由硬件设置,但必须由软件复位。


8051的中断控制系统如下所示:


更新于:2020年6月27日

21K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始
广告