一.定时器
1.基础介绍
(1).时钟周期
- 时钟周期T是单片机时序中的最小单位,具体计算的方法就是时钟源分之一。
(2).机器周期
- 单片机完成一个操作的最短时间,51单片机的一个机器周期是12个时钟周期。
(3).定时器应用
- 定时器是用来计时的,内部有一个寄存器,开始计时后,寄存器的值每经过一个机器周期就会自动加一,可以把机器周期理解为定时器的计数周期。16位的定时器,加到65535,再加1就算溢出,溢出后值变为0。
2.定时器的寄存器
- 标准51单片机内部有T0和T1两个定时器,TH0/TH1用于T0,TH1/TH0用于T1.复位值都为0x00.
名称 | 描述 | SFR地址 |
---|---|---|
TH0 | 定时器0高子节 | 0x8C |
TL0 | 定时器0低子节 | 0x8A |
TH1 | 定时器1高子节 | 0x8D |
TL1 | 定时器1低子节 | 0x8B |
- TCON定时器控制寄存器共有8位,这里主要介绍定时器1,当程序中写TR1=1,定时器每经过一个机器周期自动加一,当程序中写TR1=0,定时器停止加一。TF1是一个标志位,作用是表明定时器溢满了。
- TMOD定时器模式寄存器,控制定时器的工作模式,模式1是THn和TLn组成一个16位的定时器,计数范围是0~65535,溢出后从0开始计数。模式1的电路示意
OSC表示时钟频率,d等于12,下边GATE右边分别是一个非门电路,或门,与门。
3.定时器使用步骤:
(1).设置特殊功能寄存器TMOD,配置工作模式;
(2).设置计数寄存器TH0和TL0的初始值;
(3).设置TCPN,通过TR0置1来让计时器开始计数;
(4).判断TCON寄存器的TF0位,监测定时器溢出情况。
4.实验例程
(1).说明:实验通过定时器控制八个LED流水灯没1s左移轮流闪烁。接线为JP11接JP12.
(2).程序源代码
/**********************************