中断允许控制IE
CPU 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE 控制的。
IE位配置
7 6 5 4 3 2 1 0
EA / / ES ET1 EX1 ET0 EX0
- EX0(IE.0),外部中断 0 允许位;
- ET0(IE.1),定时/计数器 T0 中断允许位;
- EX1(IE.2),外部中断 0 允许位;
- ET1(IE.3),定时/计数器 T1 中断允许位;
- ES(IE.4),串行口中断允许位;
- EA (IE.7), CPU 中断允许(总允许)位。
中断请求标志TCON
TCON位配置
7 6 5 4 3 2 1 0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
- IT0(TCON.0),外部中断 0 触发方式控制位。
- 当 IT0=1 时,为边沿触发方式(下降沿有效)。
- 当 IT0=0 时,为电平触发方式。
- IE0(TCON.1),外部中断 0 中断请求标志位。
- IT1(TCON.2),外部中断 1 触发方式控制位。
- IE1(TCON.3),外部中断 1 中断请求标志位。
- TF0(TCON.5),定时/计数器 T0 溢出中断请求标志位。
- TF1(TCON.7),定时/计数器 T1 溢出中断请求标志位。
中断优先级
定时器配置
TCON
7 6 5 4 3 2 1 0
TF1 TR1 TF0 TR0
- TF:中断溢出标志位,T溢出时硬件置为1,CPU响应后自动清零。也可用软件置1或置0。
- TR:运行控制位,置1时T工作,置0时不工作。用软件置1或置0。
TMOD
7 6 5 4 3 2 1 0
GATE C/T M1 M0 GATE C/T M1 M0
- 低四位控制T0,高四位控制T1。
- GATE:门控位。置0时,软件使TR0或TR1为1,即可启动或停止T工作。置1时,额外需要INT0/1引脚为1。
- C/T:0定时,1计数。
M1 M0
- 00方式0,13位定时/计数器,溢出后计数器清零
- 01方式1,16位定时/计数器,溢出后计数器清零
- 10方式2,8位自动重装定时/计数器,溢出后计数器重置为初值
- 11方式3,T0分成两个独立8位C/T,T1停止计数,方式3只适用于T0
定时器配置顺序
- 赋值TMOD,只需配置T0或T1。
- 计算定时初值,写入TH和TL。
- 若要使用中断,赋值EA和ET。
- 置位TR为1,启动C/T。