STC32F使用外部40MHz晶体工作

视频加载中...

一、前言

  在昨天实验中,为了确保 STC32F 采集信号速率保持恒定,使用了一颗 24MHz 外部晶体作为单片机的时钟,它安插在实验电路板的 PIN6,PIN7 管脚。上电后,经过软件初始化,单片机的 PIN6,PIN7 管脚会出现高频振荡信号,频率为 24MHz 左右,电路中 LED 根据软件的功能会闪烁。

图1.1.1 外部晶体


  下面使用 FA-2 频率计测量振荡信号频率,频率数值为 24MHz,而且非常稳定。变化的部分只有0.1Hz。接下来,在相同的硬件和软件的情况下,使用这颗 40MHz 的晶体,替换掉 24MHz,测试一下是否可以直接替换。

二、替换结果

  将 原来电路板上的 24MHz 的晶体,替换成 40MHz,会发现,电路不工作了。似乎因为测量的原因,示波器没有能够显示测量的波形。这究竟是什么原因呢?

  下面,将测量PIN7 管脚示波器引线移到 PIN6 管脚,可以测量到一个低频信号。这个信号的频率为 13.3MHz,只有 40MHz 的 三分之一。将测量频率的引线去除,可以看到振荡信号幅值升高了。再去除示波器引线,然后重新接上,可以观察到频率回到了 40MHz。但此时,单片机并不运行。估计是因为在其内部没有设置程序读取 等待时间。这样内部程序运行不正常。

三、修改软件

  根据 STC32F 数据手册关于外部振荡器控制寄存器的说明,对于外部晶振大于 24M时,需要设置 XCFILTER 为 01,这样适合超过 24MHz 晶体的振荡。另外,关于内部程序 FLASH 读取等待时间,在昨天的程序上,增加了 一个判断,当时钟超过 24MHz 的时候,不再将等待时间清零了。维持原来的缺省值 1。

  经过软件修改之后,下载程序,单片机可以正常工作了。这也证明了,一旦时钟超过35MHz 之后,STC32F需要设置内部程序读取等待时间。否则程序就无法正确运行。

※总  结 ※

  本文测试了 STC32F 使用外部 40MHz 晶体工作的情况。在这个频率下,需要设置内部程序FLASH读取等待寄存器为 1,否则程序无法正确运行。在 40MHz晶体震荡下,还是无法连接频率计进行计数。可以使用示波器观察振荡波形。

卓晴649



展开阅读全文

页面更新:2024-03-04

标签:频率计   晶体   引线   示波器   单片机   测量   频率   信号   程序   工作   软件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top