IP全名:Interrupt Priority,是单片机的中断优先级控制寄存器

下图是中断优先级寄存器 IP 的控制位:可以通过程序来控制。

PS: 串行口中断优先级控制位;

PT1: 定时器/ 计数器 T1 中断优先级控制位;

PX1: 外部中断 1 中断优先级控制位;

PT0: 定时器/ 计数器 T0 中断优先级控制位;

PX0: 外部中断 0 中断优先级控制位

 

单片机中断优先级控制寄存器

而我们常用到的一般是定时中断和外部中断。这五个中断也是分别有优先级的,从最高到最低:外部中断0→定时器/ 计数器 T0 溢出中断 → 外部中断1→ 定时器/ 计数器 T1 溢出中断→串行口中断。假如某个控制位被软件置为1,则这个为高级中断,假如置为0,这个控制位就是低级中断。但如果控制位全部被置1,这个时候中断顺序就和下图是一样的。通俗地说,五个中断中,1个中断被置1,其它中断都置0,那这个控制位就是最高级中断;但是假如出现两个中断以上被置1,单片机就要按下图中的优先级顺序依次响应中断。

单片机中断优先级控制寄存器

中断源及其对应的矢量地址:(零是起源写于20180806)

单片机中断优先级控制寄存器

若(IP)=00010100B,则优先级最高者为( ?),最低者为(? )

对应上表,PX1和PS都是高级中断,优先级大于其它三个中断。但是PX1是外部中断1,中断优先级大于串口中断。

优先级顺序是:外部中断1> 串口中断 > 外部中断0> 定时器T0中断> 定时器T1中断。

所以优先级最高的 外部中断1,最低的是 定时器T1中断 。