MCS-51单片机的中断系统(1)
MCS-51单片机的中断系统
MCS-51单片机的中断源
1.
2.
中断控制的专用寄存器
该寄存器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H~8FH。寄存器的内容及位地址表示如下:
位地址 | 8FH | 8EH | 8DH | 8CH | 8BH | 8AH | 89H | 88H |
位符号 | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
IT0 (IT1)=1
IT0 (IT1)=0
2.
进行字节操作时,寄存器地址为98H。按位操作时,各位的地址为98H~9FH。寄存器的内容及位地址表示如下:
位地址 | 9FH | 9EH | 9DH | 9CH | 9BH | 9AH | 99H | 98H |
位符号 | SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。
3.
进行字节操作时,寄存器地址为0A8H。按位操作时,各位的地址为0A8H~0AFH。寄存器的内容及位地址表示如下:
位地址 | 0AFH | 0AEH | 0ADH | 0ACH | 0ABH | 0AAH | 0A9H | 0A8H |
位符号 | EA | / | / | ES | ET1 | EX1 | ET0 | EX0 |
EA=1
可见,MCS-51单片机通过中断允许控制寄存器对中断的允许(开放)实行两级控制。即以EA位作为总控制位,以各中断源的中断允许位作为分控制位。当总控制位为禁止时,关闭整个中断系统,不管分控制为状态如何,整个中断系统为禁止状态;当总控制位为允许时,开放中断系统,这时才能由各分控制位设置各自中断的允许与禁止。
MCS-51单片机复位后(IE)=00H,因此中断系统处于禁止状态。单片机在中断响应后不会自动关闭中断。因此在转中断服务程序后,应根据需要使用有关指令禁止中断,即以软件方式关闭中断。
4.
MCS-51单片机的中断优先级控制比较简单,因为系统只定义了高、低2个优先级。高优先级用“1”表示,低优先级用“0”表示。各中断源的优先级由中断优先级寄存器(IP)进行设定。IP寄存器地址0B8H,位地址为0BFH~0B8H。寄存器的内容及位地址表示如下:
位地址 | 0BFH | 0BEH | 0BDH | 0BCH | 0BBH | 0BAH | 0B9H | 0B8H |
位符号 | / | / | / | PS | PT1 | PX1 | PT0 | PX0 |
PX0——外部中断0优先级设定位;
PT0——定时中断0优先级设定位;
PX1——外部中断1优先级设定位;
PT1——定时中断1优先级设定位;
PS——串行中断优先级设定位。
以上各位设置为“0”时,则相应的中断源为低优先级;设置为“1”时,则相应的中断源为高优先级。
优先级的控制原则是:
评论