定时器配置:
定时器配置步骤:
第一:设置特殊功能寄存器TMOD,配置好工作模式。
第二:设置计数寄存器TH0和TL0的初值。
第三:设置TCON,通过TR0置1来让定时器开始计数。
第四:判断TCON寄存器的TF0位,监测定时器溢出情况。
这里展示一个用定时器精确定时1s的LED灯的小实验:
首先根据步骤配置特殊功能寄存器定时器模式寄存器TMOD
TMOD=0X01;
设置计数寄存器TH0和TL0初值:
这里要定时1s,但是单片机定时器TH0和TL0都设置成0x00也只能定时70ms,这里可以让他定时20ms然后循环50次。计算定时到20msTH0的值
即:x*12/11059200=0.02.
可以得到一共经过了多少个机器周期x=18432
定时器T0=x+y=65536后溢出y为TH0的处置,可以得到TH0=47104转换位16进制就是0xb800.
设置TCON,通过TF0位置一让定时器开始工作
判断TF0位,检测定时器溢出情况
具体程序如下:
#include <reg51.h>
sbit LED=P0^0<