产品选型

基于单片机频率计的设计 51单片机项目(2)--基于51单片机的频率计仿真

小编 2024-10-09 产品选型 23 0

51单片机项目(2)--基于51单片机的频率计仿真

本设计实现的功能:实现对正弦信号的频率测量,并用一个按键控制对频率的读取。当按键按下时,测量频率并且将其显示在LCD1602屏幕上。测频范围是1-100KHZ。

整体原理图如下:

频率测量的基本方法为 :测频法、测周法、测频与测周结合的方法。我这次的设计采用的是测频法。由于是对正弦信号的测量,所以要对正弦信号整形。因为单片机的管脚所能识别的高电平为3.3V左右。波形整形我所采用的方案是用一个运放构成一个电压比较器,电压比较的反向输入端接地,正向输入端接正弦信号,那么这个输入正弦信号经过电压比较器之后,就会输出同频率的方波信号。整形的波形如下所示:

硬件上的准备工作完成之后,接下来就是软件程序的编写了。测频的思路是:使用外部中断,记录输入脉冲的个数。然后在用一个定时器,读取一段时间内的脉冲个数。通过脉冲个数和产生脉冲所花费的时间,就可以计算出频率了。

部分代码如下:

首先配置定时器的中断时间为50ms,通过在定时器的中断服务函数中对变量t++,当t加到20的时候,说明时间已经过去了1S。此时读取外部中断中的count量,也就是1S内记录到的脉冲个数,所得到的就是外部脉冲的频率了。

完整的工程代码可以进群免费领取。

嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!

点击这里找小助理0元领取:扫码进群领资料

频率测量电路的硬件设计

近年来,随着电子信息产业的快速发展,频率信号测量在各个领域的应用越来越广泛。然而,以往由逻辑电路和时序电路设计的频率计一般测量的频率范围较小,运行速度较慢。基于单片机的频率测量电路的方法介绍了就是被测频率信号通过放大器放大和处理,然后放大脉冲信号的形状和频率分裂,最后是衡量单片机处理器频率信号。

1 频率测量电路的设计原理

频率测量电路设计原则。第一个频率信号通过放大器放大处理,测量的脉冲信号放大整形、分频处理,然后由单片机控制通道选择器选择频率,所选频率信号进入单片机,最后使用单片处理器基于标准频率信号测量点后被测信号的频率。

2 频率测量电路的硬件设计

基于测频电路硬件的单片机设计主要由单片机、放大器整形电路、分频电路和显示电路组成。

AT89C51 单片机是典型的 MCS-51 系列单片机,由于其优异的性能得到了广泛的应用。首先,程序写起来比较方便,这是因为单片机程序内存采用闪存。其次,芯片尺寸更小,整体电路尺寸更小,功能更强大,性价比更高。该芯片包含 8kB 的准备写入只读存储器和 256B ram, 32 条 I/O 接口线,3 条 16 位定时 / 定时器,片上振荡器和时钟电路。同时,8 位单片机的总线结构可以与 SA4828 完全兼容并直接连接。以 AT89C51 单片机作为频率测量电路的控制核心,可以满足频率测量的要求。单片机可以采集测量信号,选择不同的频率输入,提供标准的测量信号,测量脉冲数,计算出测量信号的频率。因此,本设计基于 AT89C51 单片机的频率测量电路。

在基于单片机的测频电路设计中,放大器整形电路由 3DG100、74LS00、2N3904 等高频晶体管组成。该放大器由晶体管和其他电子元件组成,放大输入频率信号,包括三角波、方波和正弦波。放大后,通过触发器整形对输出波形频率信号进行处理,输出矩形脉冲信号。放大成形电路图如图 1 所示。

在设计基于单片机的频率测量电路、分频模块主要用于扩大测量范围的频率测量电路,并进行分频处理收集被测频率信号,这有利于单一产品的频率测量机,也可以减少误差引起的系统测量频率。由于本设计选用的单片机型号为 AT89C51,故测频电路设计采用 74LS161 分频 16,JK 触发器 512 分频设计。

在基于单片机的显示模块电路的测频电路设计中,显示电路的动态显示部分采用四位共阳极数码管。为了保证频率值的显示清晰明亮,我们使用了 4 个 PNP 晶体管进行驱动,便于观察和测量。为了保证数码管显示清晰的数值,本设计增加了 74L246 来驱动数码管,方便了频率值的测量和调试。频率显示采用 8 位电子管,动态显示采用共阳极电子管 74LS246。

3. 频率测量电路软件模块设计

3.1 主程序设计频率测量电路系统软件设计采用模块化设计方法。整个测频系统主要由初始化模块、信号测频模块、量程转换模块和量值显示模块组成。系统主程序流程图如图 2 所示。基于单片机的频率测量电路需要在每次测量前后对系统进行初始化。初始化过程主要是在单片机内部设置定时 / 计数器、工作寄存器等控制单元的工作模式。当系统开始测量频率时,单片机对寄存器进行计数,对测量到的频率信号进行计数。判断被测频率信号的有效位是否满足要求。如果没有,则继续测量,直到测量值满足要求,并将测量的频率值输出到电路显示模块。测频电路系统首先对高频信号进行分频处理,然后利用单片机对频率信号进行技术测量。对于低频信号,不需要分频处理,直接进行频率信号测量,不仅扩大了测频范围,而且提高了测频电路的测量精度。

3.2 中断服务子程序设计时频率测量电路、单片机定时器的定时状态,设置每 50 毫秒的时间,当中断时间大约 1 s 单片机产生标准信号,然后 T0 定时器计数模式,统计频率信号数,因为每一秒在启动和关闭定时器的开始和结束,因此定时器的统计数字和频率划分系数的乘积的测量频率值。频率测量电路中断服务子程序流程图如图 3 所示。

4 结论

随着科学技术的不断进步,频率测量在各个领域得到了广泛的应用。单片机应用广泛,控制功能强大,价格低廉。本文是基于单片机控制的频率测量电路,使用放大器塑造模块来处理测量信号,利用频分模块分频的频率信号,利用数字显示电路显示频率测量的结果,真正实现数字化的频率测量,智能、自动化。本文设计的基于单片机的频率测量电路具有整体结构简单、稳定性好、可靠性高、测量精度高、测量范围宽、响应速度快、使用方便、灵活等特点。

相关问答

基于51 单片机的 数字 频率计设计 (proteus仿真)?

刚刚下了一楼传的附件,测试后发现精度和测量范围都比较差。如果单从测频的角度来说,51的频率计是很简单的。恰好几年前我写过类似的程序,是用来测频率和占空...

52 单片机频率计 原理?

52单片机频率计的原理主要包括以下几个方面:1.输入信号的捕捉:通过外部的电路将待测频率信号输入到52单片机的GPIO口。这个电路通常包含一个电阻电容组合,用...

单片机 做数字 频率计的 特点?

本应用系统设计的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生...

单片机 晶振 频率 为6MHz.选用定时器/计数器T0作定时器,输...

[最佳回答]如果把6MHZ改成12MHZ程序应该怎么改?可以使用方式1.X=M-N=65536-1000=64536=FC18H需要修改的指令为如下三条.MOVTH0,#0FCH;...

单片机 振荡 频率计 算?

1、系统晶振频率是12M,则机器周期=12/12=1us;2、定时1ms=1*1000=1000us;3、工作在方式0下:最大计数值是2^13=8192;4、定时初值=8192-(1*1000....

51 单片机 晶振 频率 怎么设置?

1.51单片机晶振频率可以通过设置寄存器的值来实现。2.51单片机的晶振频率由两个因素决定:晶振的频率和分频系数。晶振的频率一般为11.0592MHz或12MHz,分频系...

单片机 如何检测信号的 频率 ?

如果被测信号频率远大于单片机工作频率(机器周期),可以通过外部可编程分频器降到单片机可以接受的频率范围。如果被测信号频率稍低于单片机工作频率,可以采...

sp3165a 频率计 数器说明书?

作频率计数器,又能当计数器,又能测频率.计数器好说,多少位的,如四位的,要有四个显示数码,来一个脉冲计一个数就可以了.作频率计,得有时间控制,如控制计数的时...

提高 单片机的 晶振 频率 ,则机械周期()?

12T模式指一个机器周期=12个时钟周期1T模式指的是一个机器周期=1个时钟周期比如对于常用的12M晶振来说:12T模式,一个机器周期为1us1T模式,一个机器周期为1/12u...

51 单片机 用C语言或者汇编程序如何实现定时1秒?如何设定初始值?如何计算?如何输出方波?如何对外部?

使用定时器实现1秒定时;初始值要看单片机配置的晶振频率了,若12M晶振,初始值为TH0=0x3c;TL0=0xb0;这才是50ms,还要一个单元做计数器,计数20次才是1秒方波...

猜你喜欢