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

2020-02-08 09:05发布

已知一个石英晶体的谐振频率为5MHz左右(大概偏差几十Hz),想要较为准确测试出其谐振频率,可以把它作为一个晶振,接到单片机的两个晶振输入端,然后算出这个石英晶体的谐振频率么?如果可以的话,具体怎么接怎么求算?精度如何?对应的程序怎么写?如果不行的话,有高手能够提供有用建议么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
41条回答
chengzepeng
2020-02-12 13:07
  1. #include <pic.h>

  2. // 内部振荡GP4/GP5为IO,关看门狗,上电复位延时,开外部复位脚,关数据保护,关代码保护,开掉电复位
  3. __CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_ON & MCLRE_ON & CP_OFF & CPD_OFF & BOREN_OFF);   // 12F675&12F629
  4. //                更换这个振荡类型

  5. void mcu_init()
  6. {
  7.         CMCON  = 0b00000111;                 // 关闭内部比较器
  8.         ANSEL  = 0;                                        // 全部为数字IO,用629时可以不用这一句
  9.         TRISIO = 0b00111000;                 //
  10.         GPIO   = 0;                                        //       

  11. }

  12. void main(void)
  13. {
  14.         mcu_init();
  15.     while(1)                        // 循环一次5个指令时间,4M时钟时输出200KHz,5M时钟时GP0输出250KHz
  16.         {
  17.                 GP0 = 1;
  18.                 GP0 = 1;
  19.                 GP0 = 0;       
  20.     }
  21. }
复制代码

一周热门 更多>