打印

急需单片机测频

[复制链接]
1775|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1991cjr|  楼主 | 2012-9-7 00:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
阿南| | 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所不能做到的

使用特权

评论回复
5
1991cjr|  楼主 | 2012-9-7 21:34 | 只看该作者
频率计 xue.zip (51.87 KB) 4# joyme
写了个程序,不知道为什么只能测100~40k,其他范围不能测,能不能帮我看下

使用特权

评论回复
6
1991cjr|  楼主 | 2012-9-7 21:36 | 只看该作者
3# yewuyi
写了个程序,在100hz以下会死机,40khz以上不能测, 频率计 xue.zip (51.87 KB) 能帮我看下不

使用特权

评论回复
7
谈的元| | 2012-9-7 22:34 | 只看该作者
外部计数器与捕捉同时使用,频率高用外部计数器

使用特权

评论回复
8
DianGongN| | 2012-9-8 08:03 | 只看该作者
这个关键在于LZ要求测量的响应时间有多快,也就是需要多长时间给出一个测量结果。
如果这个时间大于0.01S的话,用标准51很轻松。

需要合适的算法。

使用特权

评论回复
9
lyjian| | 2012-9-8 08:38 | 只看该作者
200K就不要用捕获方式来做了。
按8楼方法做

使用特权

评论回复
10
yewuyi| | 2012-9-8 08:52 | 只看该作者
3# yewuyi  
写了个程序,在100hz以下会死机,40khz以上不能测,123273能帮我看下不
1991cjr 发表于 2012-9-7 21:36


1、100HZ以下死机的问题,那只能是代码有问题,自己去查吧,可以看看是不是定时器溢出,但你没有相关的溢出处理造成的?
2、40KHZ以上不能测,可能就是MCU本身硬件不支持识别这么高的频率了,如果是这样,只能设法提高MCU的指标。

使用特权

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

40KHZ的频率,即使是对目前最底端的单片机来说都不算高,MCU本身硬件是不可能识别不到的。

使用特权

评论回复
12
yewuyi| | 2012-9-8 13:57 | 只看该作者
40KHZ的频率,即使是对目前最底端的单片机来说都不算高,MCU本身硬件是不可能识别不到的。
lyjian 发表于 2012-9-8 12:30


他有个1%精度要求,谁知道他咋弄的啊,如果40KHZ再结合这个1%,低端MCU搞不定也很正常的。

使用特权

评论回复
13
lyjian| | 2012-9-8 15:42 | 只看该作者
他有个1%精度要求,谁知道他咋弄的啊,如果40KHZ再结合这个1%,低端MCU搞不定也很正常的。
yewuyi 发表于 2012-9-8 13:57

搞不定和硬件不能识别可是两个相当不同的概念。
1%的精度,随便拿个8位的计数器就能做到。

使用特权

评论回复
14
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

粉丝