51单片机测频

来源:互联网 发布:调酒刻度杯淘宝 编辑:程序博客网 时间:2024/05/18 03:18

出于课设需要,用51单片机制作一个频率计,输入信号为标准信号,基本要求100-100KHz,发挥要求10-500KHz,误差小于1%。我用的单片机是STC12C5A60S2,晶振12MHz,测频方法有高频测频法,低频测周法。这里推荐一个工具–单片机小精灵。

方案一:
采用定时器中断和外部中断,外部中断计数,定时器中断定时1秒,1秒内测到的脉冲数(或下降沿数)即测到的频率。(此方法测不了太高的频率,因为频率越高,进中断次数越频繁,导致中断一直无法退出。)
现象:误差小于1%,但是最大频率只能到100KHz。如果只使用12M的晶振的话最大是100KHz,改变晶振的大小可以改变最大可测的频率,手册上写着工作频率范围为0-35M,实际没有测试过能不能测到500K。
方案二:
采用定时器中断和定时器计数,定时器计数,定时器中断定时1秒,1秒内测到的脉冲数(或下降沿数)即测到的频率。(此方法就解决了测高频时,频繁进入中断的现象,但是当频率大到一定程度时候,依然会出现频繁进入中断。)
方按三:
采用外部电路分频,随便测。。只要输入的频率在单片机的频率范围内,随便测。

附几张图片:
10K

10HZ

1M

原创粉丝点击