一、简介
有三个寄存器与中断相关(IE、IP、TCON),主要是应用IE和TCON寄存器
1、 IE寄存器:
中断允许寄存器,字节地址为A8H,可以位寻址
EA: 全局中断允许位 | 为1时-允许全局中断控制 |
ET2: 定时器/计数器2中断允许位 | 1-允许T2中断 |
ES: 串行口中断允许位 | 1-允许串行口中断 |
ET1: 定时器/计数器1中断允许位 | 1-允许T1中断 |
EX1: 外部中断1中断允许位 | 1-允许外部中断1中断 |
ET0: 定时器/计数器0中断允许位 | 1-允许T0中断 |
EX0: 外部中断0中断允许位 | 1-允许外部中断0中断 |
2、IP寄存器:
中断执行优先级寄存器,字节地址为B8H,可以位寻址
PS: 串行口中断优先级控制位 | PS=1,串行口中断定义为高优先级中断. PS=0,串行口中断定义为低优先级中断. |
PT1: 定时器/计数器1中断优先级控制位 | PT1=1时,定时器/计数器1中断定义为高优先级中断. PT1=0时,定时器/计数器1中断定义为低优先级中断. |
PX1: 外部中断1中断优先级控制位 | PX1=1时,外部中断1定义为高优先级中断. PX1=0时,外部中断1定义为低优先级中断. |
PT0: 定时器/计数器0中断优先级控制位. | PT0=1时,定时器/计数器0中断定义为高优先级中断. PT0=0时,定时器/计数器0中断定义为低优先级中断. |
PX0: 外部中断0中断优先级控制位. | PX0=1时,外部中断0定义为高优先级中断. PX0=0时,外部中断0定义为低优先级中断. |
3、TCON寄存器:
定时器/计数器 和 外部中断 控制寄存器.字节地址为88H,可以位寻址.
IE1: 外部中断1请求标志位 |
|
IT1: 外部中断1触发方式选择位. |
|
IE0: | 外部中断0请求标志位,功能和用法同IE1. |
IT0: | 外部中断0触发方式选择位,功能和用法同IT1. |
TF1 TR1 TF0 TR0 | 与定时器相关 |
二、应用
一般需要用到IP寄存器中的EA、EX0、EX1,以及TCON寄存器中的IE0、IE1
//中断设置函数
void EXTI0_Init(void)
{
IT0=1;//下降沿触发
EX0=1;//外部中断0中断允许 enable external 0
EA=1;//总中断允许
}
//中断服务函数
void EXTI0_Sever(void) interrupt 0
{
}
NOTES:
1、开发板中:S5--P32/INT0 S4--P33/INT1
2、外部中断0的中断号是0,外部中断1的中断号是2