1.定时器是一个加法器,公式:
初值X=最大计数值M-计数值N
2.当定时/计数器工作于计数方式,芯片引脚T0-P3.4(或T1-P3.5)上的输入脉冲计数。
计数过程:在每一个机器周期的S5P2时刻对T0或T1上的电平采样一次,当上一个机器周期采样到高电平,下一个机器周期采样到低电平时,计数器在下一个机器周期的S3P2时刻加1计数一次。
3.TMOD寄存器
其中:M1,M0为工作方式选择位,选择T0,T1的工作方式。
C/T:定时或计数方式选择位,当 C/T=1工作于计数方式,当 C/T=0工作于定时方式。
GATE:门控位,控制定时/计数去的启动是否受外部中断请求信号的影响,INTx为高电平时才运行。
4.TCON寄存器
TF1(TF0):定时/计数器T1(T0)溢出标志,当定时/计数器溢出时,TF1=1;
TR1(TR0):定时/计数器T1(T0)的启动位,当TR1=1时启动,TR1=0时停止。
5.各个工作方式
(1)方式0
13位定时/计数器,最大值位2的13次幂,等于8192。如计数值为N,则初值X为:
X=8192-N
如定时/计数器T0的计数值为1000,则初值为7192,转换为二进制,TH0=11100000(E0H),TL0=00011000(18H)。
(2)方式1
16位定时/计数器,最大为2的16次幂,为65536。初值X:
X=65536-N
如定时/计数器T0的计数值为1000,则初值为64536,二进制TH0=11111100(FCH),TL0=00011000(18H)
(3)方式2
16位计数器用8位来计数,TL0来计数,TH0用来存放初值,当TL0溢出时,将TH0的值自动装入TL0。最大值为2的8次幂256,初值X:
X=256-N
如定时/计数器T0的计数值为100,则初值为156,二进制TH0=10011100(FCH),TL0=10011100(18H)
(4)方式3
方式3只有定时计数器T0才有,当M1M0两位为11时,定时/计数器T0工作于方式3,方式3下,定时计数器 T0 被分为两个部分 TL0 和 TH0 ,其中, TL0 可作为定时/计数器使用,占用 T0 的全部控制位:GATE、C/T、TR0和TF0;而TH0固定只能作定时器使用,对机器周期进行计数,这时它占用定时/计数器T1的TR1位、TF1位和T1的中断资源。