中断的控制
51单片机一共有5个中断源:两个外部中断(0,2),两个定时器中断(1,3),一个串行口中断(4)
中断允许寄存器IE
EX0(IE.0),外部中断0允许位;
ET0(IE.1),定时/计数器T0中断允许位;
EX1(IE.2),外部中断0允许位;
ET1(IE.3),定时/计数器T1中断允许位;
ES(IE.4),串行口中断允许位;
EA (IE.7), CPU中断允许(总允许)位。
中断的响应条件
1、中断源有中断请求
2、该中断源的中断允许位为1
3、CPU中断打开即EA=1
定时/计数器的结构和工作原理
TMOD是工作方式寄存器,低四位用于T0,高四位用于T1
TCON是控制寄存器,低四位用于控制外部中断,高四位用于控制定时器/ 计数器中断
TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。
TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。
TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。
TR0(TCON.4):T0运行控制位,其功能与TR1类同。
定时器/计数器的初始化应完成的工作
1、对TMOD赋值确定T0T1的工作方式
2、计算初值,并将其写入TH0,TL0,或者TL1,TH1
3、对IE赋值,开放中断
4、使TR0或TR1 置位,启动定时器/计数器定时或者计数