单片机中断学习笔记

中断:改变任务等级。

IE:中断使能寄存器

介绍

IE-中断使能寄存器的位分配(地址0xA8,可位寻址)
7 6 5 4 3 2 1 0
符号 EA
ET2 ES ET1 EX1 ET0 EX0
复位值 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使能

使用方法

void InterruptTime0 () interrupt 1
{
     //函数体
}
说明:
  • InterrupTime0:函数名,可任意设置
  • 函数后边必须加interrupt关键字
  • interrupt关键字后边常数需要计算
  • 进入定时器中断TFn硬件清零
  • 一般需要对定时器重新赋值

中断函数编号

即上边interrupt关键字后边的常数。由中断向量地址根据一定规则计算得出,不需要记忆,需要用时查询下表即可。

中断查询序列
中断函数编号 中断名称 中断标志位 中断使能位 中断向量地址 默认优先级
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/R1 ES 0x0023 5
5 T2中断 TF2/EXF2 ET2 0x002B 6

 IP:中断的优先级

分为固有优先级和抢占优先级。

固有优先级:根据中断函数编号,中断发生时,优先处理优先级高的,中断之间不打断,即在处理一个中断时,没有处理完不会进入优先级高的中断。

抢占优先级:在处理中断时,发生更高级中断,停止处理当前中断,处理高级中断,高级中断处理完再继续处理当前中断。

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中断优先级控制位
原文地址:https://www.cnblogs.com/hgyzm/p/14348403.html