关于单片机测量信号频率的精度问题

来源:本站
导读:目前正在解读《关于单片机测量信号频率的精度问题》的相关信息,《关于单片机测量信号频率的精度问题》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《关于单片机测量信号频率的精度问题》的详细说明。
简介:用C51系列单片机测TTL(f<50KHz)的信号,精度达到0.001Hz,用12MHz的单片机还是更高?怎么计算是否达到这个精度?

问题:

用C51系列单片机测TTL(f<50KHz)的信号,精度达到0.001Hz,用12MHz的单片机还是更高?怎么计算是否达到这个精度?

=============================================

解答:

这个0.001Hz的测量精度,在单片机领域是不能达到的。

精度为0.001Hz,一般是指最大的绝对误差。

当测量50KHz信号的时候,显示数值不应超过:49 999.999Hz ~ 50 000.001Hz。

这才是精度达到了0.001Hz。

12MHz的单片机,根本别想达到这个精度!!!

测量频率,有“测量频率”和“测量周期”两种方法。

如果采用“测量频率”的方法,也就是“定时计数”法。

为了统计出来 49 999 999 ~ 50 000 001 的区别,就要用1000s的时间(16分钟多)。

时间短了,就达不到0.001Hz的精度要求。

“定时计数”法用时太长,不实用,那就再看看“测量周期”法。

用单片机的确是可以测出50KHz信号的周期是20us,取倒数,确实能换算出50 000Hz。

但是输入的频率,以0.001Hz 分档,再输入几个看看:

频率是49 999.999Hz,它的周期是20.0000004us;

频率是49 999.998Hz,它的周期是20.0000008us;

……

……

呵呵,不用多说了,大家一眼就可以看出,这0.0000004us的差别,单片机是分辨不出来的。

也就是说,单片机分辨不出来49 999.999Hz和49 999.998Hz的区别。

所以,0.001Hz的精度,是不可能达到的。

谁说能达到?

=============================================

最佳答案:

精确到50KHZ到0.001Hz用12M晶振足够了.

12M晶振在C51系列单片机中的机器周期是1us,机器执行指令的时间也就几us,在测量时考虑的是频率上限50KHZ即20us周期,用测单位时间里脉冲个数的方法可行,测频率下限时用测周期的方法可行.自己写程序时设计一个转换点就行了,能达到较高的精度.所以用12M晶振绝对能达到你的要求.

不过你的0.001HZ是1000秒的周期,这个数字转换用来测量人都要等老了(16分钟多).要求的频率其实也用不了那么低的.

提醒:《关于单片机测量信号频率的精度问题》最后刷新时间 2024-03-14 00:57:37,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《关于单片机测量信号频率的精度问题》该内容的真实性请自行鉴别。