启动定时器后,每个机器周期到来,初值寄存器自动力加1,直到计满溢出。
1.启动:给个启动信号
2.机器周期:晶振频率为12MHZ,一个机器周期为1US
3.初值寄存器:TH0和TL0,TH0是高八位,TL0是低八位,初值均为00H
4.溢出:若定时50毫秒,语句写成
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
编程实现步骤
1.报备
当GATE=0时,外部引脚(INTO,P3.2)无效,此时只能
由内部寄存器 TRO控制,当TRO=1时,脉冲计数器开始计数,TRO-0时,停止计数。
当GATE=1时,外部引脚(INTO,P3.2)生效,此时只有当内部寄存器 TRO和外部引
脚NTO都为1时,脉冲计数器才开始计数,否则停止计数。
C/T=0是定时,C/T=1是计时
M1,M0决定模式,共有四种模式
STC89C52的T0和T1
均有四种工作模式:
模式0:13位定时器/计数器
模式1:16位定时器/计数器(常用)
模式2:8位自动重装模式
模式3:两个8位计数器
2.置初值
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
3.启动
启动 TR0=1,停止TR0=0,
TF0溢出标志,溢出后自动置1,需要手动清零TF0=0.