请教一个定时器和计数器的问题

一般单片机用定时器和记数器配合测频率。比如定时器初值设为1,来了一个脉冲,记数器减为0,再来一个脉冲,记数器溢出。我想问是记数器变为0时还是溢出时,定时器停止记时的呢?即测频率时一般是设记数器初值为1呢还是为2呢?

定时器溢出时停止计数,我见过的单片机都是正计数,例如51,AVR等,计数到定时器最大值时溢出,而不是0。所以不一定是计数到0时,定时器停止计时,倒计数的定时器就会计数到0溢出。以上是定时器的情况,利用单片机进行频率测量,情况稍微不同。
测频率要用中断方式,脉冲到来时(由低电平突变为高电平),INT引脚检测到电平变化,开始定时器计数(可以从0正计数),直到由高电平转为低电平,再由低电平转为高电平时,停止定时器计数,记下定时器计数值N,那么脉冲的频率为1/(T*N)Hz,T为机器周期(注意有些单片机没有机器周期的概念,如AVR)。这只是一次测量的结果,不准确,可以多次测量求平均值。当然,因为INT引脚低电平有效,所以你可以让脉冲为突变为低电平时才开始或停止计数,这只是编程的问题。 注意晶振频率越高,每个周期计数次数越多,频率测量越准确。
温馨提示:答案为网友推荐,仅供参考