5.2.1 80C51单片机中断系统内部结构

5.2.1 80C51单片机中断系统内部结构

80C51单片机中断系统的内部结构如图5-3所示,80C51单片机有5个中断源,两个优先级,可以实现两级中断嵌套。

图5-3 80C51单片机中断系统的内部结构

80C51单片机的5个中断源,分别为外部中断、定时器/计数器T0中断(T0)、外部中断、定时器/计数器T1中断(T1)、串口中断(TX和RX)。如图5-3所示,这5个中断源分别从左向右产生中断请求,每个中断请求的路径由上而下排列。

每一个中断源都需要从左向右由相应寄存器依次进行设置,才能实现中断。例如,外部中断0:从出发经过一个多路开关IT0的值(IT0=0,从上面走为低电平方式触发;IT0=1,从下面走为下降沿方式触发),之后经过寄存器IE0(这个不用设置,当满足中断条件时,由单片机置1),再经过寄存器EX0(EX0=1时接通,EX0=0时断开),再经过EA(EA=1时接通,EA=0时断开),再经过PX0(PX0=1,为高级中断优级;PX0=0,为低级中断优级),最后经过中断入口地址(外部中断0为0003H)进入中断函数,即完成中断的执行过程。其他四种中断同理。但要注意:第一,串口中断有两个中断源TX(发送中断)和RX(接收中断),这两个中断源都可以进行中断,并且中断函数只有一个而不是两个;第二,串口的中断标志位TI、RI只能手动清0。