中断是用于单片机和外部设备之间的通信。在本文中,英锐恩单片机工程师将讲解如何在8051单片机中使用中断,以及8051单片机中断的IE寄存器配置。
一、8051单片机中断类型
8051单片机可以识别六种不同类型的事件,这些事件要求单片机暂时停止执行当前程序并腾出时间执行特殊代码。8051单片机中存在的中断源是:
1.重置中断;
2.Timer0溢出中断TF0;
3.Timer1溢出中断TF1;
4.外部硬件中断INT0;
5.外部硬件中断INT1;
6.串行通讯中断(RI / TI)。
定时器和串行中断是由单片机内部产生的,而外部中断是在外部接口设备或开关连接到单片机时产生的。这些外部中断可以边沿触发或电平触发。
二、8051单片机中断服务
为单片机内部的每个中断分配了一个固定的存储区。在中断向量表包含了每一个中断的存储位置的起始地址。发生中断时,单片机将程序计数器的内容传输到堆栈中。然后,它跳转到由中断向量表 (IVT)指定的存储位置。程序员在该存储区上写入的代码开始执行。该代码称为中断服务例程(ISR)或中断处理程序。
三、8051单片机中断表
重置中断:激活复位引脚后,程序执行流程跳至从0000H存储位置执行代码。通常不使用。也称为加电复位。
2.定时器中断: 8051单片机中有两个定时器(T0和T1),它们负责定时器中断。定时器中断通知单片机相应的定时器已完成计数。中断向量表中的存储器位置000BH和001BH分别属于Timer0和Timer1。
3.外部中断:有两个外部中断(INT0和INT1)服务于外部设备。端口3中的引脚号12和13用于外部硬件中断。这两个中断均为低电平有效。外部中断通知单片机外部设备需要其常规服务。中断向量表中的存储器位置0003H和0013H分别属于INT0和INT1。
4.串行中断:此中断用于串行通信。它有一个属于接收和发送的中断。启用后,它将通知单片机是否已接收或发送字节。中断向量表的地址0023H属于该中断。
四、8051单片机的IE寄存器
寄存器配置(用于中断选择):现在我们必须指定必须处理哪些中断的单片机。通过配置特殊功能寄存器中的某个位(称为中断使能(IE)寄存器),可以使用上述所有中断。这些寄存器启用或禁用各种可用的中断。
EA-启用中断:必须将EA位设置为1才能启用任何中断。默认情况下,所有中断都处于禁用模式。如果EA = 1启用中断,并且如果EA = 0禁用中断ET2-Timer2中断允许位:仅在8052中启用或禁用Timer2溢出或捕获中断。在AT89C51中,只有两个定时器,因此不使用ET2。
ES-串行端口中断允许位:启用或禁用串行端口中断。
ET1-Timer1中断使能位:如果ET0 = 1,则使能Timer1溢出中断;如果ET0 = 0,则使能Timer1溢出中断。
EX1-外部中断INT1使能位:如果EX1 = 1,则使能INT1,如果EX1 = 0,则使能INT1。
ET0:Timer0中断使能位: ET0 = 1,启用Timer0溢出中断ET0 = 0,禁用Timer0溢出中断。
EX1:外部中断INT0使能位 EX1 = 1,使能INT0 EX1 = 0,禁止INT0。
以上就是英锐恩单片机开发工程师分享的8051单片机外部中断和IE寄存器配置。英锐恩专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机、运放芯片和模拟开关。