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

如题所述

第1个回答  2022-11-16

计数初值的计算:

定时或计数方式下计数初值如何确定:定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为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停止计数。

单片机中 定时器\/计数器 的计数初值是怎么计算得出的?(计数和定时计算...
计数初值的计算:定时或计数方式下计数初值如何确定:定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为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 的...

单片机计数初值的计算
1 可以按定时时间的计算公式, 计算出定时器的时间常数X:定时时间T=(2的N次方-X)12\/单片机晶振频率 2 N为定时器的工作方式:方式0时,N=13 方式1时,N=16 方式2时,N=8 3 根据定时时间和工作方式,计算出时间常数X 把X转换成二进制数,高8位送给TH1,低8位送给TL1,就可以启动定时器开始定...

单片机中,定时器如何初值计算?
1、计算定时器计数频率:定时器T0在方式2下,每个计数周期为12个晶振周期,因此计数频率为6MHz \/ 12 = 500 kHz。2、计算定时器初值:要实现0.5ms定时,需要定时器T0计数500次,因此初值为 65536 - 500 = 65036 (0xFC1C)。对于定时器T1,由于题目中没有给出需要实现的定时时间,无法直接计算出初...

单片机中用定时器 和计数器来求频率 计算公式是怎么写的???
用定时器来及频率,你只需将定时器定时为1秒,1秒内的脉冲个数就是频率了。如果你一定要公式,非常简单,用计数器计到的脉冲个数除以定时时间就是频率了。其中定时器每计一次的时间是晶振的十二分之一,例如,12M晶振就是(12*10^6)*(1\/12)=1us....

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

单片机定时器初值计算
2*0.001=(2的16次方-时间常数X)\/(1000000)2000=65536-时间常数X 时间常数X=65536-2000 TH0=(65536-2000)\/256; 就是转换成十六进制 再除以256 取整数 即高8位送时间常数寄存器的高8位计数器 TL0=(65536-2000)%256; 就是转换成十六进制 再除以256 取余数 即低8位送时间常数寄存器的...

单片机系统中的定时和计数功能有什么区别?简述其工作原理
t=1\/(系统主时钟频率),这个时间就是0到1的时间,那么0到65535的时间就是65535*t,一般单片机可以写初值,那么定时公式为:定时时间=(65535-初值)*t;而计数是通过设定定时器工作在计数模式,而后定时计数器数外来的脉冲数,比如外面的脉冲数为50000,那么定时计数器就能记到50000 ...

单片机如何计算初值
计数位数n由选用的单片机确定,通常等于8,12,16或32等等,即8位、12位等计数器。计数周期t由定时器基础时钟确定,可通过设置定时器时钟源和选择时钟分频数确定。这两项灵活性不大,一般在程序初始化时就应设定。初值x可以在应用时,根据定时需求进行修改确定。协调好n,t和x三者的设定,就可以完美实现...

计数器的初值如何确定
1. 计数初值的计算:在定时或计数方式下,计数初值的确定依赖于定时器的工作模式。不同的操作模式下,最大计数值M是不同的。例如,模式0的最大计数值为2的13次方,等于8192;模式1为2的16次方,等于65536;模式2为2的8次方,等于256;模式3中,由于定时器T0分成两个独立的8位计数器,因此TH0和...

单片机定时器计数值初值是多少?
3、工作在方式0下:最大计数值是2^13=8192;4、定时初值=8192-(1*1000)=7192;5、换算成十六进制数为:定时初值=1C18H。定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。定时\/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时\/计数器T0由TH0和TL0组成...

相似回答
大家正在搜