1.CPU 在什么条件下可以相应中断?简述中断响应的主要内容。
CPU 在中断查询中,当查询到有效的中断请求时,在满足中断响应条件下,响应中断。
(1)IE 寄存器中的中断总允许位 EA=1,相当于 CPU 开放中断;
(2)该中断源发出中断请求;
(3)该中断源的中断允许位=1,对应的中断源允许中断;
(4)无同级或更高级中断正在被 CPU 响应并服务;
(5)当前正处于所执行指令的最后一个机器周期;
(6)正在执行的指令不是 RETI 或者是访问 IE、IP 的指令。
内容:由硬件自动生成一条调用指令 LCALL 转去中断服务,具体操作为:(1)将程序计数器
PC 的内容(断点)压栈(2)将中断入口地址装入 PC,转去执行中断服务程序
2.简述什么是堆栈,堆栈指针 SP 的作用是什么?在程序设计时,为什么还要对 SP 重新赋
值?MCS—51 单片机堆栈的容量不能超过多少字节?
(1)内部 RAM 中在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立
的一个后进先出的区域,称为堆栈。(2)用 MOV SP,#STK 指令建立堆栈。(3)存放数据按“后
进先出”原则进行。(4)利用 PUSH、POP 指令即可进行进栈、出栈操作。
SP 指示堆栈的栈顶位置。堆栈区应避开使用的工作寄存器区 R0~R7、字节地址20H~2FH
的位寻址区,以及其他需要使用的数据区,复位后 SP 初值为07H。为了避免重叠,一般初
始化时要重新设置 SP。不能超过128字节。
3.A/D 转换器转换数据的传送有几种方式?按内部原理不同可分为哪四种?
(1)定时传送方式:A/D 启动后,调用延时时间大于转换时间的延时程序后即可读取。(2)
查询方式:A/D 启动后,查询 EOC(转换结束信号),转换一完成即可读取转换数据。(3)中断
方式:将 EOC 作为外中断请求信号,转换一结束,即引起中断,读取转换数据。
(1)逐次比较型(2)双积分型(3)V/F 型(4)
式 ADC
4.有哪几种寻址方式?对内部 RAM 的 0~7FH 的操作有哪些寻址方式?对 SFR 的操作有哪
些寻址方式?
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。
对内部 RAM 的 0~`7FH 操作有直接寻址、寄存器寻址、寄存器间接寻址 3 种寻址方式。如
对 20H~2FH 单元的可位寻址操作,还有位寻址方式。对 SFR 的字操作仅有直接寻址方,对
SFR 中的可位寻址操作,则有位寻址方式。
5.中断服务子程序与普通子程序有哪些异同之处?
相同点:都是让 CPU 从主程序转去执行子程序,执行完毕后又返回主程序。
不同点:中断服务子程序是随机执行的,而普通子程序是预先安排好的;中断服务子程序以
RETI 结束,而一般子程序以 RET 结束。RETI 除了 PC 出栈动作之外,还要清除对应的中断优
先标志位(片内不可寻址的触发器),以便新的中断请求能被响应。
6.何为单片机的中断系统?中断处理的完整过程?
中断:是指 CPU 在正常执行主程序的过程中,由于系统中出现某些急需处理的异常情况或特
殊请求,引起 CPU 暂时中断当前主程序的运行而转去对随机发生的更紧迫的事件进行处理,
待处理完毕后,CPU 又自动返回到主程序的暂停处(断点)继续执行原来的程序的过程。
中断请求、中断判优、中断响应、中断处理、中断返回。