51单片机中的中断优先级总结

上传人:宝路 文档编号:23251151 上传时间:2017-11-30 格式:DOC 页数:2 大小:31.01KB
返回 下载 相关 举报
51单片机中的中断优先级总结_第1页
第1页 / 共2页
51单片机中的中断优先级总结_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《51单片机中的中断优先级总结》由会员分享,可在线阅读,更多相关《51单片机中的中断优先级总结(2页珍藏版)》请在金锄头文库上搜索。

1、51 单片机中的中断优先级总结这段时间编写 51 的控制板程序,两个大牛技术指导对 51 中断嵌套问题的看法不一样,后来亲自验证了一下,得到了一下的一些结论,发上来大家参考,表达不清的地方还望理解,呵呵。51 单片机的中断可嵌套,但至多支持二级嵌套。51 单片机的默认(此时的 IP 寄存器不做设置)中断优先级为:外部中断 0 定时/计数器 0 外部中断 1 定时/计数器 1 串行中断;但这种优先级只是逻辑上的优先级,当同时有几种中断到达时,高优先级中断会先得到服务。这种优先级实际上是中断同时到达的情况下,谁先得到服务的优先级,而不是可提供中断嵌套能力的优先级。这种优先级被称为逻辑优先级。例如:

2、当计数器 0 中断和外部中断 1(优先级 计数器 0 中断外部中断 1)同时到达时,会进入计时器 0 的中断服务函数;但是在外部中断 1 的中断服务函数正在服务的情况下,这时候任何中断都是打断不了它的,包括逻辑优先级比它高的外部中断 0 计数器 0 中断。要实现真正的嵌套形式的优先级,也即高优先级中断服务可以打断低优先级中断服务的情况,必须通过设置中断优先级寄存器 IP 来实现;这种优先级被称为物理优先级。例如:设置 IP = 0x10,即设置串口中断为最高优先级,则串口中断可以打断任何其他的中断服务函数实现嵌套,且只有串口中断能打断其他中断的服务函数。若串口中断没有触发,则其他几个中断之间还

3、是保持逻辑优先级,相互之间无法嵌套。回复于:2009-10-26 16:09:35只要硬件堆栈足够.嵌套没有级数限制。#4 楼 得分:0 回复于:2009-10-28 10:57:5851 只有两个优先级 所以只能有两级嵌套!SEI 是 AVR 单片机的,他没有分优先级,所以支持这种嵌套!C51 中 interrupt 和 using 的用法void INT0()interrupt 0 using 1.interrupt 0 指明是外部中断 0;interrupt 1 指明是定时器中断 0; interrupt 2 指明是外部中断 1;interrupt 3 指明是定时器中断 1;interr

4、upt 4 指明是串行口中断;using 0 是第 0 组寄存器;using 1 是第 1 组寄存器;using 2 是第 2 组寄存器;using 3 是第 3 组寄存器;51 单片机内的寄存器是 R0-R7(不是 R0-R3)R0-R7 在数据存储器里的实际地址是由特殊功能寄存器 PSW 里的 RS1、RS0 位决定的。using 0 时设置 RS1=0,RS0 =0,用第 0 组寄存器,R0-R7 的在数据存储区里的实际地址是 00H-07H。R0(00H).R7(07H)using 1 时设置 RS1=0,RS0 =1,用第 1 组寄存器,R0-R7 的在数据存储区里的实际地址是 00H-07H。R0(08H).R7(0FH)using 2 时设置 RS1=1,RS0 =0,用第 2 组寄存器,R0-R7 的在数据存储区里的实际地址是 08H-0FH。R0(10H ).R7 (17H )using 3 时设置 RS1=1,RS0 =1,用第 3 组寄存器,R0-R7 的在数据存储区里的实际地址是 00H-07H。R0(18H).R7(1FH)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号