1. 基于proteus的51单片机开发实例(14)中断嵌套和中断优先级
1.1. 实验目的
在前面实例中我们已经学习了51单片机的定时器/计数器中断,外部中断,通过这些实例,知道了中断电路的设计,中断编程的方法。本实例中我们继续深入学习中断:学习一下中断的嵌套和优先级。通过连接单片机两个外部中断引脚的按键,以及电路中的三个数码管,形象演示中断的嵌套和优先级。
图1 中断嵌套和中断优先级演示电路
1.2. 设计思路
单片机的两个外部中断引脚分别接两个按键,同时单片机的P0,P1,P2口分别接3个共阳极数码管。将单片机的两个外部中端INT1(P3.3)和INT0(P3.2)设定为优先级不一样的配置,其中INT1设置为高优先级,INT0设置为低优先级。外部中断触发条件设置为负边沿触发(下降沿触发)。
中断是如何打断CPU正在进行的工作
电路中的3个数码管分别对应于主程序中的数码管,高优先级数码管,低优先级数码管。当没有中断触发时,主程序的数码管循环显示数字“0~9”,当触发低优先级中断时,主程序中的数码管显示的数字不再变化,低优先级数码管开始从0显示到9,然后退出中断,这时主程序中的数码管继续变化。这一过程主要演示了中断是如何打断CPU正在进行的工作,以及中断处理结束后,CPU还会回到中断时的操作继续执行。
高优先级中断是如何打断低优先级中断