标准51有5个中断向量(不算复位),分别是外部中断0,定时器0,外部中断1,定时器1,串行口;总共有6个中断标志,串行口的发送和接受共享一个中断向量。
各个终端标志产生情况如下:
外部中断可以设置边沿触发或者电平触发,边沿触发进入中断程序后硬件自动清中断标志,电平触发需要软件清标志位;
定时器T0,T1计数溢出产生中断,进入中断程序硬件自动清标志位;
串行口发送完成或者接收到数据就触发中断,由于是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断是发送中断还是接受中断,并且只能由软件清标志位;
以上是标准51的中断系统,52由于多了一个T2定时器(T2定时器跟T0,T1功能相差很大,T2要强大很多),因此多了一个中断向量2个中断标志(溢出中断和T2外部中断),T2中断标志必须由软件清除标志位
中断使能位于IE寄存器
各中断标志位于相应的模块控制寄存器里面
模块 位地位 位名称 说明
T1 TCON.7 TF1 T1溢出标志
T0 TCON.5 TF0 T0溢出标志
T2 T2CON.7 TF2 T2溢出中断标志
T2CON.6 EXF2 T2外部中断标志
外部中断1 TCON.3 IE1 外部中断1标志
外部中断0 TCON.1 IE0 外部中断0标志
串行口 SCON.1 TI 发送中断标志
SCON.0 RI 接受中断标志
5个中断。两个定时器中断,一个串口中断,两个外部中断。定时器中断标志位为TF0,TF1.外部中断标志位为IE0,IE1;串口中断有两个标志位,一个是发送完毕后的标志位,TI,另一个是接受完后的中断标志位RI。
中断都是由硬件置一的,除了RI和TI是由软件清零外,其他的都是硬件自动清零。
5 个
外部中断0:IE0,开放中断后,当INT0引脚有下降沿或者低电平时产生,响应中断后自然清0
定时器0:TF0外部中断1:IE1开放中断后,当INT1引脚有下降沿或者低电平时产生,响应中断后自然清0
定时器1:TF1开放中断后,当定时或计数时间到产生,响应中断后自然清0.另外如果不开放中断,采用软件判断时,需要软件清0.
串口:RI/TI ,通信开始后当接收完或者发送完一帧后产生,响应中断后需要软件清0