前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >51单片机的数字频率测量系统,液晶1602,论文,电路,代码

51单片机的数字频率测量系统,液晶1602,论文,电路,代码

原创
作者头像
蒋宇智
修改2024-04-08 20:11:32
1840
修改2024-04-08 20:11:32

设计要求

1. 以MCS-51系列单片机为控制器件,用C语言进行程序开发,结合外围电子电路,设计一款数字频率计;

2. 能够对1HZ~20MHZ正弦波、三角波、方波信号等周期信号的频率进行测量;

3. 测量误差:低于0.1%;

4. 频率测量结果采用LCD1602液晶显示;

系统概述

本设计给出了一种以AT89C52单片机为控制核心的数字频率计设计方案。方案由6个部分组成,分别是电源模块、单片机最小系统、信号放大模块、整形模块、分频模块和显示模块。

工作原理为:电源模块为整个系统提供稳定的5V工作电压,用户通过信号源输入周期性信号,输入信号经三极管电路放大和施密特触发器整形后,变成单片机可以识别的方波,方波再通过分频电路完成100倍分频。

当输入信号的频率低于200KHZ时,单片机直接读取并计算分频前单位时间(1S)内采集到的信号脉冲个数,即为信号频率;

当输入信号的频率超过200KHZ时,单片机读取计算的是经分频后的信号脉冲个数,然后再通过数据处理换算成实际频率。

最后,单片机将频率测量值输出到LCD1602显示器上实时显示。

Proteus仿真电路

原理图及PCB

实物图制作

仿真结果分析

打开Proteus仿真文件,文件后缀名为DSN。双击单片机,加载Program.hex文件(位于C程序文件夹内),运行仿真,结果如下所示。

被测信号频率为13HZ
被测信号频率为13HZ

仿真运行时,会弹出VSMCounter Timer和VSM Signal Generator两个窗口,VSM Counter Timer用于显示标准频率。

在仿真中,当被测信号电压大于5V时,VSM Counter Timer才会正常工作。这并不意味着,在实际频率计实物测试中,被测信号源电压要大于5V才行。

实际上,被测信号电压在几十mV,在示波器上一样可以查看显示,并不影响频率的测量,这只是仿真的局限性。

VSM Signal Generator用于调整被测信号的频率,它有四个旋钮,它们的功能用途如下表所示。

在仿真中,主要调节Centre和Frequency旋钮,设定好频率档位后,转动Centre旋钮改变频率,LCD1602显示器就会跟随显示。

当被测信号频率为几百、几千HZ时,其仿真结果如下所示。

被测信号频率为390HZ
被测信号频率为390HZ
被测信号频率为5.60KHZ
被测信号频率为5.60KHZ
被测信号频率为19063HZ,测量结果为19051HZ
被测信号频率为19063HZ,测量结果为19051HZ

频率测量误差计算为:

被测信号频率在几十、几百HZ时,频率能很快被测量出来;当频率达到KHZ时,由于单片机运算性能有限,可能需要花费几分钟才会有仿真结果。

当频率达到MHZ以上时,例如被测信号频率设定为1.17MHZ时,单片机运算花费12分钟左右,才计算出频率值。

单片机运算中...
单片机运算中...
被测信号频率为1.17MHZ,测量结果为1169700HZ
被测信号频率为1.17MHZ,测量结果为1169700HZ

频率测量误差计算为:

综上所述,本次频率计仿真设计满足量程、误差等要求。

资源内容

(1)基于51单片机的数字频率计设计论文完整版;

(2)C程序;

(3)Proteus仿真;

(4)原理图及PCB文件;

(5)Visio流程图文件;

(6)元器件清单;

(7)英文文献翻译;

(8)参考资料及文献;

资源截图

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档