中断优先级越高,则响应优先权就越高。当CPU正在执行中断服务程序时,又有中断优先级更高的中断请求产生,这时CPU就会暂停当前的中断服务转而处理高级中断请求,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为中断嵌套。
1.中断优先级定义原则
80C51的中断优先级控制比较简单,只划分为高、低两个优先等级,因此,就存在如何为一个具体中断定义优先等级的问题。下面是一些可供参考的基本原则:
1)中断的轻重缓急程度。例如,电源故障有使整个系统瘫痪的危险,必须及时处理,所以应安排为高优先级;而那些仅影响局部故障的中断或操作性中断(如输入/输出中断)应安排为低优先级。
2)中断设备的工作速度。快速设备需要及时响应,否则将有丢失数据的危险,所以应安排为高优先级。
3)中断处理的工作量。尽量把处理工作量小的中断安排为高优先级,因为处理工作量小,占用CPU的时间短。
4)中断请求发生的频繁程度。可以考虑将那些很少请求单片机干预的事件产生的中断安排为高优先级。
2.80C51单片机中中断响应的优先级原则(www.xing528.com)
1)当高、低优先级中断请求同时出现时,高优先级中断请求被响应。
2)如果同级的多个中断请求同时出现,则按照自然优先级顺序响应。自然优先级:外部中断0→定时器0中断→外部中断1一定时器1中断→串行中断。
3.80C51单片机的中断嵌套
CPU在响应某一中断源中断请求而进行中断处理时,若有中断优先级更高的中断源发出中断请求,CPU会暂停正在执行的中断服务程序,转向执行中断优先级更高的中断源的中断服务程序,等处理完这个高优先级的中断请求后,再返回来继续执行被暂停的中断服务程序。这个过程称为中断嵌套,如图5-2所示。
图5-2 中断嵌套的示意图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。