单片机中 定时器⼀计数器 的计数初值是怎么计算得出的?(计数和定时计算方式是否不同?)--初学单片机

2025-03-13 21:57:29
推荐回答(4个)
回答1:

计数初值的计算:

定时或计数方式下计数初值如何确定:定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为M,各操作模式下的M值为:

模式0 : M=2^13 =8192

模式1: M=2^16=65536

模式2:M=2^8=256

模式3: M=256,定时器T0分成2个独立的8位计数器,所以THO、TLO 的M均为256。

因为MCS-51 的两个定时器均为加1计数器,当初值到最大值( 00H或0000H )时产生溢出,将TF位置1,可发出溢出中断,因此计数器初值X的计算式为: X=M- 计数值。

式中的M由操作模式确定,不同的操作模式计数器的长不相同,故M值也不相同。而式中的计数值与定时器的工作方式有关。

1、计数工作方式时

计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。其计数初值: X=M- 计数值。

2、定时工作方式时

定时工作方式时,计数脉冲由内部供给,对机器周期进行计数,计数脉冲频率fcont=fosc*1/12、计数周期T=1/fcont=12/fosc定时工作方式的计数初值X等于:

X=M-计数值=M-t/T=M-(fosc*t)/12

式中:fosc为振荡器的振荡频率,t为要求定吋的时间。

扩展资料:

定时器工作方式的设定:

定时器有两种工作方式:定时和计数。由TMOD的D6位和D2位决定,其中D6位决定T1的工作方式,D2位决定T0的工作方式。值为0时工作在定时方式,值为1时工作在计数方式。并且有四种操作模式:

1、模式0:13位计数器,TLi只用低5位。

2、模式1:16位计数器。

3、模式2:8位自动重装计数器,THi的值在计数中不变, TLi 溢出时,THi中的值自动装入TLi中。

4、模式3:T0分成2个独立的8位计数器,T1停止计数。

回答2:

定时器是通过设定初值,然后单片机在你设定的初值上每个指令周期加1,直到溢出,设置溢出标志位,而计数是对某个IO口的脉冲进行计数。两者最关键区别是定时器的计数脉冲是单片机内部的,计数器的计数脉冲来自输入引脚。

定时器的初值的计算如下:
在定时器模式下,计数器的计数脉冲来自于晶振脉冲的12分频信号,即对机器周期进行计数。若选择12M晶振,则定时器的计数频率为1MHZ。假设定时时间为T,机器周期为T1,即12/晶振频率。X为定时器初值。则 X=2^n-T/T1。方式0,n=13,方式1时,n=16,方式2和方式3,n=8

回答3:

定时器的初值是通过你想定时的时间来确定的,计数是对某个IO口的脉冲进行计数。

回答4:

比如装设置一个50毫秒的定时器,我就要装一个65535-50000初值,65535-50000/置前八位,65535-50000%置后八位,这样就装好啦!