一、中断
1.1 中断概述
51单片机有5个中断源。
所谓中断,就是该事件可以打破正在执行的程序,从而进入新的任务中。等处理该事件的任务完成之后,再重新执行刚才被打断的任务。
中断优先级低的任务可以被中断优先级更高的任务打断。平时没有中断时执行的程序优先级最低,可以被任何中断打断。
中断系统结构示意图:
该芯片是stc90c51,因此多了一个外部中断和定时器2的中断。
一般情况下,51单片机有2个定时器中断,2个外部中断和一个串口中断。
每一个中断,都有相应的一个中断使能位。只有中断使能位为1,系统才能响应该中断。
每一个中断,都有两个相应的优先级控制位,可以设置0~3的中断优先级。0为最低,3为最高。
两个优先级相同的中断同时发生时,根据上图的查询顺序来响应。
同优先级的中断不能被另一个中断打断。
中断程序的起始地址存在中断向量表中。
1.2 中断触发方式
当定时器寄存器THx/TLx(x = 0,1)溢出时,溢出标志位TFx(x = 0,1)会被置位,定时器中断发生。
当串行口接收中断请求标志位RI和串行口1发送中断请求标志位TI中的任何一个被置为1后,串行口中断都会产生。
外部中断既可低电平触发,也下降沿触发,采用何种触发方式由TCON寄存器里的控制位决定。