中断
中断时为使单片机具有对外部或内部随机发生的事件实时处理而设置的,51单片机内部一共有5个中断源。
引起CPU中断的根源,称为 中断源,中断源向CPU提出中断请求,CPU暂时中断原来的事务A,转去处理事件B,对事件B处理完毕后,再回到原来被中断的地方(即断点),称为 中断返回。实现上述中断功能的部件称为中断系统(中断机构)。
中断也可以进行嵌套,如果单片机正在处理一个中断程序,此时,又有另一个中断现象发生,单片机将会停止当前的中断程序,而转去执行新的中断程序,新中断程序处理完毕后再回到刚才停止的中断程序处继续执行,执行完这个中断后再返回主程序继续执行主程序。中断优先级高的中断先执行。
52单片机一共有6个中断源:
INT0:外部中断0,由P3.2端口线引入,低电平或下降沿引起。
INT1:外部中断1,由P3.3端口线引入,低电平或下降沿引起。
T0:定时器/计数器0中断,由T0计数器计满回零引起。
T1:定时器/计数器1中断,由T1计数器计满回零引起。
T2:定时器/计数器2中断,由T2计数器计满回零引起。(52特有)
TI/RI:串行口中断,串行端口完成一帧字符发送/接收后引起。
中断允许寄存器IE
中断允许寄存器用来设定各个中断源的打开和关闭,IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H—AFH,该寄存器可进行位寻址,即可对该寄存器的每一位进行单独操作。单片机复位时IE全部被清0。
EA:全局中断允许位
ET2:定时器/计数器2中断允许位
ES:串行口中断允许位
ET1:定时器/计数器1中断允许位
EX1:外部中断1中断允许位
ET0:定时器/计数器0中断允许位
EX0:外部中断0中断允许位
当上述值为1时,便是打开中断,反之关闭。
中断优先寄存器IP
中断优先级寄存器在持殊功能寄存器中,字节地址为B8H, 位地址(由低位到高位)分别是B8H〜BFH, Ip用来设定各个中断源属于两级中断中的哪一级。该寄存器可进行位寻址, 即可对该寄存器的每一位进行单独操作。单片机复位时IP全部被清0。
PS:串行口中断优先级控制位
PT1:定时器/计数器1中断优先级控制位
PX1:外部中断1中断优先级控制位
PT0:定时器/计数器0中断优先级控制位
PX0:外部中断0中断优先级控制位