‘壹’ 单片机定时器 计数器的工作原理,及如何实现定时 计数功能
原理: 16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。
显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。
两个字节最大数据为65536(十进制),或者0FFFFH(十六进制)
高字节为TH0=(65536-X)/256,就是除以256后的整数部分;
低字节为TL0=(65536-X)%256,减去高字节后余下的部分;
定时/计数器
定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。
以上内容参考:网络-定时器中断
‘贰’ 51单片机定时/计数器的定时功能和计数功能有何不同
1、产生的脉冲不同
计数功能:单片机外部触发的脉冲。
定时功能:单片机内部在晶振的触发下产生的脉冲。
2、工作方式不同
计数功能:当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数,检测一个由1到0的负跳变需要两个机器周期。
定时功能:计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。
3、应用范围不同
计数功能:对一些外部事件计数时则采用。
定时功能:需要准确计算时间时采用。
‘叁’ 单片机80c51中定时/计数器的工作方式中怎么计数范围怎么算的为什么这样算
定时器有一个16位的计数寄存器,这个16位被分成两个8位的寄存器,分别是THx和TLx,有4种工作方式:
方式0:用了THx的8位,用了TLx中的低5位,这样,加起来一共是13位,所以,最大计数范围就是0-8191,一共8192个时钟
方式1:用了THx的8位,用了TLx中的全部8位,这样,加起来一共是16位,所以,最大计数范围就是0-65535,一共65536个时钟,也是定时器用的最大的范围
方式2:只用了THx用来计数,当THx的计数用完了之后,硬件自动把TLx赋值给THx,所以方式2相当于只是8位,所以最大计数到 0-255,共256个
方式3:用于串口波特率的计算,不讨论.
方式0是为了向上兼容老式单片机,一般很少用,现在基本上用方式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为要求定_的时间。
(4)单片机中计数扩展阅读:
定时器工作方式的设定:
定时器有两种工作方式:定时和计数。由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停止计数。