题目
若(IP)=00010100B,则优先级最高者为( ),最低者为( )。
若(IP)=00010100B,则优先级最高者为( ),最低者为( )。
题目解答
答案
答:外部中断 1,定时器 T1
解析
本题考查8051单片机中断优先级的设置与判断。关键在于理解IP寄存器各位对应的中断源以及优先级的判定规则:
- IP寄存器的每一位对应一个中断源的优先级:
IP4(串行口)、IP3(定时器T1)、IP2(外部中断1)、IP1(定时器T0)、IP0(外部中断0)。 - 优先级规则:若某位为
1,对应中断为高优先级;为0时为低优先级。同组内按自然优先级排序(外部中断0 > 定时器T0 > 外部中断1 > 定时器T1 > 串行口)。
分析IP寄存器值
题目中IP = 00010100B,对应二进制各位为:
IP7=0, IP6=0, IP5=0, IP4=1, IP3=0, IP2=1, IP1=0, IP0=0
有效位为IP4至IP0,对应中断优先级如下:
- 高优先级组:
IP4=1(串行口)、IP2=1(外部中断1) - 低优先级组:
IP3=0(定时器T1)、IP1=0(定时器T0)、IP0=0(外部中断0)
判定最高与最低优先级
- 高优先级组内:自然优先级为外部中断1 > 串行口,故最高优先级为外部中断1。
- 低优先级组内:自然优先级为外部中断0 > 定时器T0 > 定时器T1,故最低优先级为定时器T1。