中断系统的基本知识

中断系统结构如下图所示:

中断源和标志位

引起中断的根源叫做中断源;中断源向CPU的请求,叫做中断请求。对于51单片机而言,中断系统有5个中断源,它们的符号、名称、产生 条件如下所示。

INT0:外部中断0,中断请求信号由P3.2输入,低电平或下降沿引起。

INT1:外部中断1,中断请求信号由P3.3输入,低电平或下降沿引起。

T0:定时器/计数器0中断,由T0计数器计满回0引起。

T1:定时器/计数器1中断,由T1计数器计满回0引起。

RX、TX:串行口中断,串行口完成一帧数据发送/接收后引起。

为了知道每个中断源是否产生了中断请求,中断系统设置了相应的中断请求标志位对它们进行了相应的管理。这些标志位分别放进了两个特殊的寄存器中TCON和SCON。其中,

INT0对应的中断请求标志位为IE0

T0对应的中断请求标志位为TF0

INT1对应的中断请求标志位为IE1

T1对应的中断请求标志位为TF1

RX对应的中断请求标志位为RI

TX对应的中断请求标志位为TI

中断源与标记位的关系为:当中断源满足条件产生中断请求时,中断请求标记位会置1,向CPU申请中断;CPU响应中断时,TCON的中断请求标记位由硬件自动清除,SCON则须为软件清零。

在IE0与INT0之间接了一个IT0,它是外部中断0(INT0)触发方式选择位,由软件设置

IT0=0时为低电平触发方式,INT0(P3.2)引脚低电平可引起中断。

IT0=1时为下降沿触发方式,INT0(P3.2)引脚电平由高变低负跳变可引起中断。

IT1和IT0工作原理也是一样的,只不过它连接的是外部中断1(INT1),为外部中断1(INT1)触发方式选择位。

中断允许寄存器:IE

IE和IP是用来对中断源进行管理的,IE为中断允许存寄器,IP为中断优先级寄 存器。下面先了解IE。

IE中断允许存寄器,里面的EA相当于一个总开关,EX0、ET0、EX1、ET1、ES这些是 各路中断源的分开关。就是说,如果要让中断源ITNO从IE这里通过,那么EX0=1, EA=1才能通过。表2.1是各个中断允许控制位在IE特殊功能寄存器上的分布。 

表2.1 中断允许存寄器在IE上的分布

中断允许控制位EX0(外部中断0分开关):EX0=1为打开,EX0=0为关闭。

中断允许控制位ET0(定时器计数器0分开关):ET0=1为打开,ET0=0为关闭。

中断允许控制位EX1(外部中断1分开关):EX1=1为打开,EX1=0为关闭。

中断允许控制位ET1(定时器计数器1分开关):ET1=1为打开,ET1=0为关闭。

中断允许控制位ES(串行口中断分开关):ES=1为打开,ES=0为关闭。

EA为全局中断允许位,相当于总开关,当等于1时打开,等于0时关闭。在此条件下,由各个中断允许位控制相应中断的打开和关闭。 

中断优先级寄存器IP

接着来介绍一下IP,它是中断优先级寄存器。PX0、PT0、PX1、PT1、PS是中断优先级控制位,它们分别对应中断源INT0、T0、INT1、T1和串行口中断源。当它们等于1时表示相应的位设为高优先级,等于0时为低优先级。表2.2是中断优先级控制位在IP特殊          功能寄存器上的分布。

表2.2中断优先级控制位在IP特殊功能寄存器上的分布

在同一时间点发生了两个中断或者多个中断时,通过对中断优先级寄存器的设置来告诉单片机,先执行哪个中断,后执行哪个中断。如果不对IP进行设置,它会按硬件优先级顺序由高到低执行,如表5.3所示。

表5.3各中断源与标志位、响应优先级及中断程序入口对应表

中断应用举例

猜你喜欢

转载自blog.csdn.net/fw1035/article/details/112168256
今日推荐