中国领先的工业平台

返回贤集网 返回微头条
贤集网技术微头条APP获取

51单片机中断优先级问题 我现在的想法是:1、同...

 酱香饼

下载贤集网APP入驻自媒体

51单片机中断优先级问题
我现在的想法是:1、同为低优先级或者高优先级时,遵循 外部中断0->定时器/计数器T0->外部中断1->定时器/计数器T1->串口中断(优先级由高到低),的自然优先级,那么在同级优先级(同为高优先级或者同为低优先级)时在自然优先级里的低优先级可以被高优先级打断;
2、倘若设置外部中断0为高优先级,外部中断1为低优先级,那么高优先级可以打断低优先级,即外部中断0可以打断外部中断1;
3、在51单片机中设置优先级的寄存器为IP,IP有5位有效位,PS,PT1,PX1,PT0,PX0;且IP可以进行位寻址,现在只是用外部中断0以及1,就有两种对其优先级定义的方式,(设置同为高优先级时,IP=1和PX1=1、PX0=1;意义相同);
基于此我进行了验证:
按键K3(连接P3.2引脚,外都中断0),按键K4(连接P3.3引脚,外都中断1),LED灯连接在P2端口,设置其触发方式均为低电平触发;
1、分别设置外都中断0和1,为同级时查看中断的相互打断情况;2、分别设置外部中断0和1,为一个高另一个低时中断打断情况;
1、实验现象为:
1)、IP=0时,在运行外部中断0的中断服务函数时,外部中断1无法打断其运行,同样外部中断1的中断服务函数运行时,外部中断0无法打断;
2)、PX0=0、PX1=0时,在运行外部中断0的中断服务函数时,外部中断1无法打断其运行,同样外部中断1的中断服务函数运行时,外部中断0无法打断;
3)、IP=1时,在运行外部中断0的中断服务函数时,外部中断1无法打断其运行,外部中断1的中断服务函数运行时,外部中断0可以打断外部中断1;
4)、PX0=1、PX1=1时,在运行外部中断0的中断服务函数时,外部中断1无法打断其运行,同样外部中断1的中断服务函数运行时,外部中断0无法打断;
疑惑之处:
1、IP无论设置为1(高优先级)还是0(低优先级),都应遵循  【外部中断0->定时器/计数器T0->外部中断1->定时器/计数器T1->串口中断(优先级由高到低)】这一优先级,即在外部中断0的中断服务函数运行时,外部中断1应无法打断,明显实验现象  1)、2)、4),不符合
2、在对外部中断0和外部中断1的中断优先级设定时,可以使用IP,也可以PX0,PX1,但是实验现象中的  1)和2)不相统一,3)和4)不相统一
感谢,感谢,感谢

最新回复

还没有人回复哦,抢沙发吧~

发布回复

为您推荐

热门交流