8051单片机中断控制详解
IE寄存器中断的开放和禁止标志
(1) IE.7 EA:总中断允许控制位。EA = 1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA = 0,禁止所有中断。
(2) IE.4 ES:串行口中断允许位。ES = 1,允许串行口中断;ES = 0,禁止串行口中断。
(3) IE.3 ET1:定时器1中断允许位。ET1 = 1,允许定时器1中断;ET1 = 0,禁止定时器1中断。
(4) IE.2 EX1:外部中断1()中断允许位。EX1 = 1,允许外部中断1中断;EX1 = 0,禁止外部中断1中断。
(5) IE.1 ET0:定时器0中断允许位。ET0 = 1,允许定时器0中断;ET0 = 0,禁止定时器0中断。
(6) IE.0 EX0: 外部中断0()中断允许位。EX0 = 1,允许外部中断0中断;EX0 = 0,禁止外部中断0中断。
8051单片机系统复位后,IE中各中断允许位均被清0,即禁止所有中断。
IP寄存器中断优先级标志
8051单片机有两个中断优先级,每个中断源都可以通过编程确定为高优先级中断或低
(1)IP.4 PS:串行口中断优先控制位。PS = 1,设定串行口为高优先级中断;PS = 0,设定串行口为低优先级中断。
(2)IP.3 PT1:定时器T1中断优先控制位。PT1 = 1,设定定时器T1中断为高优先级中断;PT1 = 0,设定定时器T1中断为低优先级中断。
(3)IP.2 PX1:外部中断1中断优先控制位。PX1 = 1,设定外部中断1为高优先级中断;PX1 = 0,设定外部中断1为低优先级中断。
(4)IP.1 PT0:定时器T0中断优先控制位。PT0 = 1,设定定时器T0中断为高优先级中断;PT0 = 0,设定定时器T0中断为低优先级中断。
(5)IP.0 PX0:外部中断0中断优先控制位。PX0 = 1,设定外部中断0为高优先级中断;PX0 = 0,设定外部中断0为低优先级中断。
当系统复位后,IP低5位全部清0,所有中断源均设定为低优先级中断。
如果几个同一优先级的中断源同时向CPU申请中断,CPU 通过内部硬件查询逻辑,按自然优先级顺序确定先响应哪个中断请求。自然优先级由硬件形成,排列如下:
中断源同级自然优先级
外部中断0最高级
定时器T0中断
外部中断1
定时器T1中断
串行口中断最低级
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码