1.中断源
(1)外部中断INT0和INT1
外部引脚P3.2和P3.3输入,有两种触发方式:电平触发和跳变(边沿)触发,由特殊功能寄存器TCON来管理。
IT0(IT1):外部中断触发方式设置位。
设为0:为电平触发;
设为1:为边沿触发;
IE0(IE1):外部中断0(或1)的中断请求标志位。
电平触发:若P3.2为低电平,则IE0(IE1)置1,向CPU请求中断,CPU响应后将IE0(IE1)清零
边沿触发:若第一个机器周期采样到P3.2为高电平,第二个机器周期采样为低电平,由IE0(IE1)置为1,向CPU请求中断。
(2)定时/计数器T0和T1中断
当T0T1溢出时,TF0TF1为1,向CPU发送中断请求,响应中断后,硬件自动清除TF0(TF1)。
(3)串口中断
TI和RI无论哪个置1,都请求串口中断,到底是TI还是RI,只能在中断服务程序中通过指令查询来判断。
2.中断允许控制位
各个中断的允许和屏蔽由内部中断允许寄存器IE来控制。
EA:中断允许总控制位。
ET2,ET1,ET0:定时计数器T2,T1,T0的溢出中断允许位。
ES:串行口中断允许位。
EX1,EX0:外部中断INT1,INT0的中断允许位。
中断的顺序:
3.优先权控制
通过内部中断优先级寄存器IP来设置。
PT2,PT1,PT0:定时器T2T1T0的中断优先级控制位
PS:串口的中断优先级控制位
PX1,PX0:外部中断的中断优先级控制位
置为1,表示高优先级,若有多个都为1,则按原来的优先级排序。
4.中断优先级和中断嵌套
5.中断响应时间
51单片机响应中断的最短时间为3个机器周期。