51单片机中的中断优先级总结 | 您所在的位置:网站首页 › 怎么让word不显示回车符的内容 › 51单片机中的中断优先级总结 |
51 单片机中的中断优先级总结
这段时间编写 51 的控制板程序,两个大牛技术指导对 51 中断嵌套问题的看法不一样, 后来亲自验证了一下, 得到了一下的一些结论, 发上来大家参考, 表达不清的地方还望理解, 呵呵。
51 单片机的中断可嵌套,但至多支持二级嵌套。
51 单片机的默认(此时的 IP 寄存器不做设置)中断优先级为:
外部中断 0 > 定时 / 计数器 0 > 外部中断 1 > 定时 / 计数器 1 > 串行中断;
但这种优先级只是逻辑上的优先级, 当同时有几种中断到达时, 高优先级中断会先得到 服务。 这种优先级实际上是中断同时到达的情况下, 谁先得到服务的优先级, 而不是可提供 中断嵌套能力的优先级。这种优先级被称为逻辑优先级。
例如: 当计数器 0 中断和外部中断 1 (优先级
计数器 0 中断 > 外部中断 1 ) 同时到达时, 会进入计时器 0 的中断服务函数; 但是在外部中断 1 的中断服务函数正在服务的情况下, 这 时候任何中断都是打断不了它的,包括逻辑优先级比它高的外部中断 0 计数器 0 中断。
要实现真正的嵌套形式的优先级, 也即高优先级中断服务可以打断低优先级中断服务的 情况,必须通过设置中断优先级寄存器 IP 来实现;这种优先级被称为物理优先级。
例如:设置 IP = 0x10 ,即设置串口中断为最高优先级,则串口中断可以打断任何其他 的中断服务函数实现嵌套, 且只有串口中断能打断其他中断的服务函数。 若串口中断没有触 发,则其他几个中断之间还是保持逻辑优先级,相互之间无法嵌套。
回复于: 2009-10-26 16:09:35
只要硬件堆栈足够 . 嵌套没有级数限制。
#4 楼
得分: 0 回复于: 2009-10-28 10:57:58 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |