求助:可以给单片机外接晶体振荡器求出该晶振频率吗?

2020-02-08 09:05发布

已知一个石英晶体的谐振频率为5MHz左右(大概偏差几十Hz),想要较为准确测试出其谐振频率,可以把它作为一个晶振,接到单片机的两个晶振输入端,然后算出这个石英晶体的谐振频率么?如果可以的话,具体怎么接怎么求算?精度如何?对应的程序怎么写?如果不行的话,有高手能够提供有用建议么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
40条回答
zzfu2010
1楼-- · 2020-02-11 20:13
surf_131 发表于 2012-8-1 00:43
还不如直接弄个晶体振荡器电路,振起来后频率计读出.........上单片机再倒回去算,属于脱裤子放屁。 ...

用模电做晶体振荡电路做了很久一直没有出来。于是就想能不能用单片机来测量。至于这个方法能不能行得通我也是不太清楚,因此发帖求助,现在在尝试各位大神回复的帖子。
zzfu2010
2楼-- · 2020-02-11 22:42
chengzepeng 发表于 2012-8-3 15:13
搂主要测的是该晶体在某个单片机上的振荡频率,
我觉得最容易和最准确的就是通过单片机自身运行然后输出到一 ...

我们目的要测试的就是一个孤立的石英晶体(有电极)的振荡频率,也就是一个无源晶振吧。之前一直是用振荡电路做,由于自己模电不是很强电路的参数一直没弄好,导致不能正确测出,于是才想到转用单片机来测量。。由于自己是新手,请问大侠您提出的建议可以行得通么?另外,方便贴出来您写的程序吗?多谢!
surf_131
3楼-- · 2020-02-12 01:27
zzfu2010 发表于 2012-8-11 14:16
我们目的要测试的就是一个孤立的石英晶体(有电极)的振荡频率,也就是一个无源晶振吧。之前一直是用振荡 ...

我已经说过,即便知道待测晶体的频率范围,你用它自身怎么测量自己的准确频率?
这就如同你有一把尺子,要知道这尺子偏差多少,仅凭它自己怎么得知?

振荡器测量,只要从那电路上外接个射极跟随器,降低测量系统引进的误差,普通频率计就完全没有问题。就是说能够达到10E-6的精度。
非要用单片机当振荡器也不是绝对不行,但是测量精度难说了。
最简单的,只要主循环里面一个语句:

LED^=LED;
事先定义一个IO口为输出,命名为LED。然后在这个口上测量频率,得到的频率乘以16(假定循环语句等于一个机器周期),就是晶体的频率了。其它振荡器配的两个电容,还有选择频率源等,要自己查手册解决了。
chengzepeng
4楼-- · 2020-02-12 01:35
 精彩回答 2  元偷偷看……
zzfu2010
5楼-- · 2020-02-12 06:35
surf_131 发表于 2012-8-11 15:44
我已经说过,即便知道待测晶体的频率范围,你用它自身怎么测量自己的准确频率?
这就如同你有一把尺子, ...

谢谢指点~
有一点比较讨厌的是,用模拟振荡电路一直没有做成功,请问大侠您有好的5M晶体振荡电路推荐么?我是说具体的电路(最好有各个元件的具体值)。非常感谢!
zzfu2010
6楼-- · 2020-02-12 09:11
chengzepeng 发表于 2012-8-11 16:04
将频率计接到GP0看频率就知道准不准了,
用10秒钟的阀门时可以达到最高测量精度。 ...

额,不好意思啊,我对pic单片机不太了解,我们用的是AT89C52(或S52),请问能够兼容吗?应该怎样修改?多谢。。。。。

一周热门 更多>