题目
若(IE)=0b1000 0110,则允许____中断源[1]和____中断源中断。
若(IE)=0b1000 0110,则允许____中断源[1]和____中断源中断。
题目解答
答案
IE寄存器[2]各位含义如下:
- EA=1:全局中断使能。
- ET0=1:允许定时器0中断。
- EX0=1:允许外部中断0中断。
- 其他位均为0,对应中断被禁止。
因此,IE=0b1000 0110表示允许定时器0中断和外部中断0中断。
答案:允许定时器0中断源和外部中断0中断源中断。(或:允许定时器T0中断和外部中断INT0中断。)
解析
本题考查对单片机中断允许寄存器IE各位含义的理解和运用。解题思路是先明确IE寄存器各位的定义,再根据给定的IE寄存器的值,分析哪些位为1,从而确定允许中断的中断源。
- 首先明确IE寄存器各位的含义:
- $EA$(IE.7):全局中断使能位,当$EA = 1$时,全局中断开启,允许其他中断源根据各自的使能位进行中断;当$EA=0$时,全局中断关闭,所有中断都被禁止。
- $ET0$(IE.1):定时器0中断使能位,当$ET0 = 1$时,允许定时器0中断;当$ET0 = 0$时,禁止定时器0中断。
- $EX0$(IE.0):外部中断0中断使能位,当$EX0 = 1$时,允许外部中断0中断;当$EX0 = 0$时,禁止外部中断0中断。
- 然后分析给定的IE寄存器的值$IE = 0b10000110$:
- 将二进制数$0b10000110$转换为十进制数,根据二进制转十进制公式$N=\sum_{i = 0}^{n - 1}a_{i}\times2^{i}$(其中$a_{i}$是二进制数的第$i$位,$n$是二进制数的位数),可得$0b10000110=1\times2^{7}+0\times2^{6}+0\times2^{5}+0\times2^{4}+0\times2^{3}+1\times2^{2}+1\times2^{1}+0\times2^{0}=128 + 4+2=134$。
- 从二进制位来看,$EA$(第7位)为1,说明全局中断是开启的。
- $ET0$(第1位)为1,根据其含义可知允许定时器0中断。
- $EX0$(第0位)为1,根据其含义可知允许外部中断0中断。