AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 单片机 题目详情
CB7F4A34C0E000013E881031881B68E0
单片机
152
单选题

1、中断查询确认后,在下列各种 AT89S51 单片机运行情况下,能立即进行响应的是( )

A
当前正在进行高优先级中断处理
B
当前正在执行 RETI 指令
C
当前指令是 MOV A, R3
D
当前指令是 DIV 指令,且正处于取指令的机器周期

答案解析

正确答案:C

解析:

这是一道关于 **AT89S51 单片机中断响应条件** 的经典题目。要解答此题,需要理解单片机在什么情况下会“封锁”中断,即暂时不响应新的中断请求。 ### 核心知识点:中断响应的阻碍条件 AT89S51 单片机在以下三种情况下,即使有中断请求且未被屏蔽,CPU 也不会立即响应中断: 1. **正在执行同级或高优先级的中断服务程序**: * 如果 CPU 正在处理一个中断,它不会被打断去处理另一个同级或低优先级的中断(除非发生嵌套,但题目问的是“立即响应”,通常指当前指令执行完后)。如果是高优先级中断正在运行,低优先级中断必须等待。 2. **当前指令未执行完**: * CPU 只有在**当前指令执行的最后一个机器周期**结束后,才会查询中断标志并决定是否响应。因此,如果当前指令还在执行过程中(非最后阶段),中断会被挂起,直到该指令执行完毕。 3. **正在执行 `RETI` 或访问 `IE`、`IP` 寄存器的指令**: * 这是 AT89S51 的特殊规定。当执行 `RETI`(中断返回)或者读写中断允许寄存器 `IE`、中断优先级寄存器 `IP` 时,CPU 内部逻辑会封锁中断查询。**必须等到下一条指令执行完毕后**,才能响应新的中断。这是为了防止在中断系统状态不稳定时发生错误嵌套或状态冲突。 --- ### 选项逐一解析 * **A. 当前正在进行高优先级中断处理** * **分析**:如果当前正在执行高优先级中断,说明 CPU 处于中断服务程序中。根据中断嵌套规则,低优先级中断不能打断高优先级中断;即使是同优先级,也不能打断。只有更高优先级的中断才可能嵌套(但题目未说明新中断的优先级更高,且通常“立即响应”指的是当前环境允许)。更关键的是,只要还在执行中断服务程序,当前的中断上下文尚未结束,新的中断请求通常需要等待当前指令(甚至整个服务程序,取决于优先级)完成。但在本题语境下,最直接的排除理由是:**正在执行中断服务程序期间,CPU 不会响应新的同级或低级中断**。 * **结论**:不能立即响应。 * **B. 当前正在执行 RETI 指令** * **分析**:`RETI` 是中断返回指令。AT89S51 硬件规定,在执行 `RETI` 指令期间,以及紧随其后的**下一条指令**执行期间,中断系统是被关闭(封锁)的。这是为了确保中断返回后,主程序能至少执行一条指令,从而保证堆栈和现场的正确恢复,避免连续中断导致堆栈溢出或逻辑混乱。 * **结论**:不能立即响应,必须等下一条指令执行完。 * **C. 当前指令是 MOV A, R3** * **分析**:`MOV A, R3` 是一条单字节、单机器周期的简单数据传送指令。 * 中断查询发生在每条指令的**最后一个机器周期**。 * 对于单机器周期指令,当它执行到最后一个机器周期(也就是它唯一的这个周期)时,CPU 会进行中断查询。如果此时有中断请求且满足条件,CPU 会在该指令执行完毕后(即下一个机器周期开始取中断向量地址时)立即响应。 * 相比于其他选项存在的“硬性封锁”或“长指令未完成”,这条指令执行时间短,且没有特殊的封锁机制,是最符合“能立即进行响应”条件的场景(意指当前指令结束后即可响应,无额外延迟)。 * **结论**:**能立即响应**(在当前指令结束后)。 * **D. 当前指令是 DIV 指令, 且正处于取指令的机器周期** * **分析**:`DIV AB` 是一条多机器周期指令(通常为 4 个机器周期)。 * 题目明确指出当前处于“取指令的机器周期”,这意味着该指令刚刚开始执行,远未到达“最后一个机器周期”。 * CPU 只有在指令执行的**最后一个机器周期**才采样中断请求。因此,在取指阶段,即使有中断请求,CPU 也会继续执行完 `DIV` 指令的剩余周期,直到指令完全结束才会考虑响应中断。 * **结论**:不能立即响应,需等待 `DIV` 指令执行完毕。 ### 总结 * **A** 受限于中断优先级和嵌套规则。 * **B** 受限于 `RETI` 指令后的特殊封锁期。 * **D** 受限于长指令尚未执行到查询点。 * **C** 是一条短指令,且无特殊封锁,在执行完当前机器周期(即指令结束)后即可查询并响应中断,是四个选项中响应延迟最小、最符合“立即响应”逻辑的情况。 因此,正确答案是 **C**。

相关知识点:

当前指令非DIV等可响应

题目纠错
单片机

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码