AT89C52单片机的频率计(1HZ~20MHZ)设计,LCD1602显示,含仿真、原理图、PCB与代码等

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

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

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

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

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

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

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

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

最后,单片机将频率测量值输出到LCD1602显示器上实时显示。
在这里插入图片描述
仿真电路图
在这里插入图片描述
在这里插入图片描述
原理图
在这里插入图片描述
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显示器就会跟随显示。

当被测信号频率为390HZ、5.6KHZ和19063HZ时,其仿真结果如下所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当被测信号频率为19063HZ,测量结果为19051HZ,频率测量误差计算为:
在这里插入图片描述
被测信号频率在几十、几百HZ时,频率能很快被测量出来;当频率达到KHZ时,由于单片机运算性能有限,可能需要花费几分钟才会有仿真结果。

当频率达到MHZ以上时,例如被测信号频率设定为1.17MHZ时,单片机运算花费12分钟左右,才计算出频率值。其运算过程如下,下图1为单片机正处于运算过程中,测量结果还未获得;图2为1.17MHZ的设定频率,单片机测得结果为1169700HZ。
在这里插入图片描述
在这里插入图片描述
频率测量误差计算为:
在这里插入图片描述
综上所述,本次频率计仿真设计满足量程、误差等要求。

资源内容

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

(2)C程序;

(3)Proteus仿真;

(4)原理图及PCB文件;

(5)Visio流程图文件;

(6)元器件清单;

(7)英文文献翻译;

(8)参考资料及文献;

资源截图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重要的事情说一遍!!!

由于频率计设计是我的原创设计,获取全套资料,

请微信搜索关注我的公众号:交院小智

  • 7
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
编写AT89C52单片机LCD1602显示屏检测二氧化碳的程序需要以下步骤: 1. 硬件连接: 将AT89C52单片机LCD1602显示屏进行硬件连接。连接要求包括将单片机的引脚与显示屏相对应的引脚进行连接,保证单片机显示屏之间的数据传输和控制信号正常。 2. 引入相关的库文件和定义相关的常量: 在程序中引入AT89C52单片机相关的库文件和LCD1602显示屏的控制库文件。同时定义相关的常量,如LCD的端口地址,数据传输命令等。 3. 初始化LCD显示屏: 在程序中进行LCD显示屏的初始化操作。包括设置LCD显示屏的工作模式、显示模式、光标等,并根据需求设置LCD显示屏的其他参数。 4. 二氧化碳检测: 使用AT89C52单片机连接二氧化碳传感器,读取传感器获得的数据。根据传感器的特性和规格,将读取到的数据进行相应的转换和处理,得到准确的二氧化碳浓度值。 5. 显示结果: 将得到的二氧化碳浓度值通过LCD1602显示屏进行显示。将浓度值转换成能够在LCD显示的字符或数字,并通过相应的LCD控制命令将其显示出来。 6. 循环监测: 在程序中使用循环语句,不断进行二氧化碳的检测和显示。在每次循环中,读取最新的二氧化碳浓度值,并将其更新至LCD显示屏。 总之,编写AT89C52单片机LCD1602显示屏检测二氧化碳的程序,核心是通过单片机与传感器进行数据交互,然后将获得的数据通过显示屏进行显示。关键在于正确连接硬件、进行初始化设置和编写合适的程序逻辑,以实现二氧化碳浓度的检测和准确显示

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值