- (1)试举例说出另一个生活或学习中的两级中断嵌套示例。
提示
- 某人正在家里擦洗玻璃,突然发现洗衣机停止转动了。于是他放下抹布去检查,发现是因电表欠费停电了。他马上用手机给电表充值,很快电表恢复了供电。在重新启动了洗衣机后他又接着去擦洗玻璃了。
- (2) 简述中断、中断源、中断优先级和中断嵌套的概念。
提示
- 中断:在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处继续进行随后的工作。
中断源:中断管理系统能够处理的突发事件。
中断优先级:为使CPU能优先处理紧急突发事件,中断源被分成两类优先级,即自然优先级和设定优先级。CUP会优先响应高优先级的中断请求,而在同等优先级中又会按自然优先级的顺序选择响应。
- (3) 简述51单片机各种中断源的中断请求原理。
提示
- /INT0和/INT1:若该引脚处为低电平信号,则经过非门转换后可使中断请求标志位IE0或IE1硬件置1。若该引脚处为负跳变脉冲信号,则经过施密特触发器转换后也可使IE0或IE1硬件置1。IE0或IE1置1表示有/INT0或/INT1中断请求发生;
T0和T1:当T0或T1中累加注入的脉冲信号被充满溢出后,可使中断请求标志位TF0或TF1硬件置1。TF0或TF1置1表示有T0或T1中断请求发生;
TX和RX:若来自引脚RXD的一帧数据被送入SBUF接收单元后,可使中断请求标志位RI硬件置1。若来自SBUF发送单元的一帧数据经过输出门发送完毕后,也可使中断请求标志位TI硬件置1。RI或TI置1表示有TX或RX中断请求发生。
- (4)怎样理解图5.8展示的51单片机中断系统的组成?
提示
- 由图可见,中断信息的传递是沿着5条水平路径由左向右展开的。以/INT0为例,为使/INT0引脚上的低电平能作为低优先级中断请求被响应,中断控制位需要满足以下条件:IT0=0(允许电平驱动),EX0=1(允许/INT0中断),EA=1(允许总中断),PX0=0(允许作为低优先级)。由于所有中断控制位都隶属于TCON,SCON,IE和IP四个工作寄存器,因此,上述四个工作寄存器是51单片机中断系统的重要组成部分。
- (5)何为中断向量地址?中断向量与中断号的关系是什么?
提示
- 51单片机中规定了5个特殊的ROM单元用于引导中断程序(或中断函数)的调用,这些ROM单元的地址被称为中断向量,它与中断号的关系是,中断向量=中断号×8+3。有了中断向量,编写中断程序或中断函数时,只要将指向中断程序入口地址的跳转语句放在中断向量为首的单元里,或在中断函数定义中写明中断号,就能调用位于任意ROM处的中断程序,为用户安排中断程序提供了很大的灵活性。
- (6)何为中断响应?51单片机的中断响应条件是什么?
提示
- 中断响应是指CPU从发现中断请求,到开始执行中断程序的过程。中断响应的条件为:1、有中断源发出中断请求;2、中断总允许位为1;3、中断源的中断允许位为1。此外,如遇CPU正在处理同级或更高优先级的中断,即使满足上述条件中断响应还会被阻止。
- (7)何为中断撤销?简述51单片机中断请求标志撤销的做法。
提示
- 中断请求标志清0的操作称为中断撤销。对于定时/计数器中断,可由硬件自动对TF0和TF1清0;对于脉冲触发的外部中断请求,也由硬件自动对IE0和IE1清0;对于电平触发的外部中断请求,需要先撤销/INT0和/INT1引脚上的低电平,然后要用软件方法才能使IE0和IE1清0;对于串口中断,TI和RI不能硬件自动清0,需要通过软件方法使TI和RI清0。
- (8)何为中断优先级?在中断请求有效并已开放中断的前提下,能否保证该中断请求能被CPU立即响应?
提示
- 中断源的重要等级称为中断优先级。在低级中断请求有效并已开放中断的前提下,如果CPU正在处理同级或高级的中断,则低级中断请求无法得到CPU响应。若同级或高级中断的请求标志刚好被撤销,而低级中断的请求标志尚未消失,则CPU可继续响应低级中断请求,否则低级中断请求将被中止。
- (9)80C51只有两个外部中断源,若要扩充外部中断源,可以采用的方法有哪些?
提示
- 扩充外部中断源的方法有,1、利用定时器扩展外部中断源,其思路是;当T0或T1工作在计数器方式时,只要使其在一个外部脉冲到来时就溢出并产生中断请求,就能起到扩充外部中断源的作用。2、利用查询法扩展外部中断源,其思路是:将多个扩充中断源通过“线或”电路连接/INT0或/INT1引脚,同时也将其接到输入口线作为中断源识别线。这样无论哪个扩展中断源有中断请求都会使/INT0或/INT1引脚发出中断请求信号。CPU响应中断后再通过程序查询各识别线的逻辑电平,便可确定是哪个扩展中断源发出中断请求了。
- (10)与实例4.7的行列式键盘相比,实例5.2的行列式键盘做了哪些改进?后者实现的原理是什么?
提示
- 改进的思路是,在电路中增加了任意按键压下都可产生中断请求的功能。具体做法是电路中增加了一个4与门集成元件。该与门的4个输入端分别与键盘的4条行线相接,与门的输出端则与/INT0引脚相接。
程序实现原理是,先将各列的电平都置为0,当有任意按键压下时,与门的输出端都可发出/INT0中断请求信号。中断响应后再查验具体是哪个按键有动作发生,这样就能达到既快速响应按键动作,又能提高CPU工作效率的目的。
- (11) 与实例4.2的按键检测方法相比,实例5.3做了哪些改进?两者的切换效果上有何差异?
提示
- 改进的方法是,新增了利用外部中断检测按键状态的功能。当有任意按键动作发生时,中断程序便会立即更新标志位值,主函数则根据标志位值及时切换彩灯循环方式。实例运行表明,与原先的彩灯切换明显滞后相比,新方式的切换灵敏度大大提高了。
- (12)为提高中断响应的实时性,中断函数可采用哪些措施以使函数更加简洁?提示
- 首先应尽量使函数简短。其次应尽量使用简单变量类型及简单算术运算。还可采用,在中断函数中仅刷新标志变量状态,而在主函数或其他函数中根据该标志变量值再做相应处理的做法。首先应尽量使函数简短。其次应尽量使用简单变量类型及简单算术运算。还可采用,在中断函数中仅刷新标志变量状态,而在主函数或其他函数中根据该标志变量值再做相应处理的做法。
浏览次数: