×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-08-27 发布时间:
|

问题:
用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的精度,是不可能达到的。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单