#51单片机#中断

中断

中断,是单片机的一种运行机制。

标准的51单片机有两个控制中断的寄存器。一个是中断使能寄存器,另一个是中断优先级寄存器。

IE——中断使能寄存器的位分配(地址0XA8,可位寻址 )
7 6 5 4 3 2 1 0
符号 EA —— ET2 ES ET1 EX1 ET0 EX0
复位值 0 0 0 0 0 0 0 0
IE——中断使能寄存器的位描述
符号 描述
7 EA 总中断使能,相当于总开关
6 —— ——
5 ET2 定时器2中断使能
4 ES 串口中断使能
3 ET1 定时器1中断使能
2 EX1 外部中断1使能
1 ET0 定时器0中断使能
0 EX0 外部中断0使能
中断查询序列
中断函数编号 中断名称 中断标志位 中断使能位 中断向量地址 默认优先级(1最高)
0 外部中断0 IE0 EX0 0X0003 1
1 T0中断 TF0 ET0 0X000B 2
2 外部中断1 IE1 EX1 0X0013 3
3 T1中断 TF1 ET1 0X001B 4
4 UART中断 T1/RI ES 0X0023 5
5 T2中断 TF2/EXF2 ET2 0X002B 6

中断的优先级

中断有两种优先级。一种是抢占优先级,另一种是固有优先级。

抢占优先级

参考C语言的优先级理解。单片机会先执行优先级高的中断。

这里需要认识一个现象——中断嵌套

如果单片机在执行低优先级中断时发生了高优先级中断,单片机会马上进入高优先级中断执行。高优先级中断处理完后,单片机返回处理低优先级中断。这个过程叫中断嵌套。

IP寄存器通过将优先级控制位置1,将该位设置为高优先级。

IP——中断优先级寄存器的位分配(地址0XB8、可位寻址)
7 6 5 4 3 2 1 0
符号 —— —— PT2 PS PT1 PX1 PT0 PX0
复位值 —— —— 0 0 0 0 0 0
IP——中断优先级寄存器的位描述
符号 描述
7 —— ——
6 —— ——
5 PT2 定时器2中断优先级控制位
4 PS 串口中断优先级控制位
3 PT1 定时器1中断优先级控制位
2 PX1 外部中断1优先级控制位
1 PT0 定时器0中断优先级控制位
0 PX0 外部中断0优先级控制位

固有优先级

即,非抢占优先级。它不具备抢占性!如果在一个低优先级中断时出现了高优先级中断,单片机会先执行完当前的低优先级中断,再执行高优先级中断。

上表中断查询序列中的默认优先级,就是固有优先级。

注意:固有优先级中,数字越小等级越高。

两个优先级的协同使用,既不会无休止地嵌套,又保证了紧急任务优先进行,使单片机中断系统工作有条不紊的进行。

发布了9 篇原创文章 · 获赞 0 · 访问量 171

猜你喜欢

转载自blog.csdn.net/kkkkkkc1/article/details/104364710