中断向量表 5.4.2 中断向量表 中断向量是中断服务程序的入口地址,它包含了中断处理程序的起始地址。在MCS-51单片机中,每个中断源都有一个对应的中断向量,中断向量表存放了这些中断处理程序的地址。中断向量表位于程序存储器的低地址部分,具体位置如下: - 外部中断0的中断向量:0003H,包含中断服务程序的高位地址。 - 定时器/计数器T0的中断向量:000BH,包含中断服务程序的高位地址。 - 外部中断1的中断向量:0013H,包含中断服务程序的高位地址。 - 定时器/计数器T1的中断向量:001BH,包含中断服务程序的高位地址。 - 串行口的中断向量:0023H,包含中断服务程序的高位地址。 中断处理流程 1. 中断请求:当中断源产生中断请求时,相应的中断请求标志被置位。 2. 中断响应:CPU检测到中断请求,并检查中断总开关EA位。如果EA为1,CPU会响应中断请求。 3. 保护现场:保存当前程序状态,包括PC(程序计数器)和PSW(程序状态字)等寄存器内容,以备中断返回时恢复。 4. 转入中断服务程序:根据中断向量表找到中断服务程序的地址并执行。 5. 中断处理:执行中断服务程序,处理中断事件。 6. 恢复现场:中断处理结束后,恢复之前保存的寄存器内容。 7. 中断返回:通过RETI指令,CPU返回到中断发生前的位置,继续执行原来的程序。 中断嵌套 5.3.1 中断嵌套 当有优先级更高的中断发生时,MCS-51支持中断嵌套。高优先级中断可以打断低优先级中断的执行,中断处理完毕后再返回低优先级中断服务。MCS-51有两个中断优先级,分别是高优先级中断和低优先级中断,其中外部中断0和定时器/计数器T0属于高优先级,其他中断源属于低优先级。 中断优先级:INT0 > T0 > INT1 > T1 > 串行口 注意,MCS-51不支持同级中断的嵌套。 总结:MCS-51单片机的中断系统是其实时性的重要体现,通过中断机制,单片机能高效处理多个并发事件。中断系统由中断请求源、中断处理流程、中断控制寄存器和中断向量表组成,支持两级中断优先级和中断嵌套。通过对中断允许寄存器IE的设置,可以开启或关闭特定中断源,中断向量表则提供了中断服务程序的入口。理解并熟练掌握中断系统的运作原理和编程技巧,对于开发实时性强的嵌入式系统至关重要。
剩余39页未读,继续阅读
评论0