急需单片机测频

[复制链接]
2739|14
 楼主| 1991cjr 发表于 2012-9-7 00:31 | 显示全部楼层 |阅读模式
有谁能给个51单片机的测频程序,要求20hz~200Khz,误差不大于1%?
阿南 发表于 2012-9-7 09:18 | 显示全部楼层
测量频率的方法有很多,网上资料也很多,楼主google:51单片机测量频率
yewuyi 发表于 2012-9-7 09:38 | 显示全部楼层
200K频率稍微有点高了。
就是捕获方式的话,传统51是6分频的,假设OSC为12M,则IO的识别频率只有2M,也就是2000K,则此时要求测量200K的频率并达到1%则很困难。

看看增强型51,如C8051,如果把OSC弄的比较高时,是不是可以?(我没用过C8051)
joyme 发表于 2012-9-7 10:05 | 显示全部楼层
200K的测频对单片机就是重活,1%的精度说明最小计数单位为50ns即20M,估计是51所不能做到的
 楼主| 1991cjr 发表于 2012-9-7 21:34 | 显示全部楼层
4# joyme
写了个程序,不知道为什么只能测100~40k,其他范围不能测,能不能帮我看下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 1991cjr 发表于 2012-9-7 21:36 | 显示全部楼层
3# yewuyi
写了个程序,在100hz以下会死机,40khz以上不能测,能帮我看下不

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
谈的元 发表于 2012-9-7 22:34 | 显示全部楼层
外部计数器与捕捉同时使用,频率高用外部计数器
DianGongN 发表于 2012-9-8 08:03 | 显示全部楼层
这个关键在于LZ要求测量的响应时间有多快,也就是需要多长时间给出一个测量结果。
如果这个时间大于0.01S的话,用标准51很轻松。

需要合适的算法。
lyjian 发表于 2012-9-8 08:38 | 显示全部楼层
200K就不要用捕获方式来做了。
按8楼方法做
yewuyi 发表于 2012-9-8 08:52 | 显示全部楼层
3# yewuyi  
写了个程序,在100hz以下会死机,40khz以上不能测,123273能帮我看下不
1991cjr 发表于 2012-9-7 21:36


1、100HZ以下死机的问题,那只能是代码有问题,自己去查吧,可以看看是不是定时器溢出,但你没有相关的溢出处理造成的?
2、40KHZ以上不能测,可能就是MCU本身硬件不支持识别这么高的频率了,如果是这样,只能设法提高MCU的指标。
lyjian 发表于 2012-9-8 12:30 | 显示全部楼层
1、100HZ以下死机的问题,那只能是代码有问题,自己去查吧,可以看看是不是定时器溢出,但你没有相关的溢出处理造成的?
2、40KHZ以上不能测,可能就是MCU本身硬件不支持识别这么高的频率了,如果是这样,只能设法 ...
yewuyi 发表于 2012-9-8 08:52

40KHZ的频率,即使是对目前最底端的单片机来说都不算高,MCU本身硬件是不可能识别不到的。
yewuyi 发表于 2012-9-8 13:57 | 显示全部楼层
40KHZ的频率,即使是对目前最底端的单片机来说都不算高,MCU本身硬件是不可能识别不到的。
lyjian 发表于 2012-9-8 12:30


他有个1%精度要求,谁知道他咋弄的啊,如果40KHZ再结合这个1%,低端MCU搞不定也很正常的。
lyjian 发表于 2012-9-8 15:42 | 显示全部楼层
他有个1%精度要求,谁知道他咋弄的啊,如果40KHZ再结合这个1%,低端MCU搞不定也很正常的。
yewuyi 发表于 2012-9-8 13:57

搞不定和硬件不能识别可是两个相当不同的概念。
1%的精度,随便拿个8位的计数器就能做到。
coody 发表于 2012-9-9 10:13 | 显示全部楼层
4楼:

200K的测频对单片机就是重活,1%的精度说明最小计数单位为50ns即20M,估计是51所不能做到的

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

不认同,测频1%是很容易做到的,200KHZ,1%就是误差不超过+-2KHZ。
倒是测20HZ时,用计数方法有可能做不到,因为简单数字测量系统,+-1个字的误差差不多是最高的精度了。

其实,要实现很容易做到的。
以前我好象在本站提过,我的一个产品需要测两路频率,以前用的PIC16C54,可以测到50MHZ,但是还是有几个缺点,后来用的是STC12C5204,在10KHZ以下用等精度测量,10KHZ~15MHZ用计数,外部有源时钟32.768MHZ 50ppm,室温精度保证0.01%以下,温漂取决于外部有源时钟。同时测两路,效果非常好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

42

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部