设计与开发

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

小编 2024-10-10 设计与开发 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 结论

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

相关问答

怎样用 单片机 频率计 ?

在不改变定时时间的前提下,也就是0.5秒定时,是不能实现0.1~2Hz频率的测量的。你所谓2Hz~10KHz易实现也是基于这个道理。但这个也是理论情况。当你0.5s内刚好...

单片机 时钟 频率 调整?

做一个延时程序吧,延时500ms,然后取反,出来的信号就是1HZ的。DELAY_500MS:MOVR5,#10L1:MOVR6,#100L2:MOVR7,#250DJNZR7,$...

单片机 --题设 单片机 晶振 频率 为12MHz,使用定时器T1以方式1产...

[最佳回答]TMOD=0x10;TH1=0xFC;L1=0x18;即为高电平时间为1ms.最大定时时间:2^16毫秒t=(2^16-计数初始值)X晶振周期X12.TMOD=0x10;TH1=0xFC;L1=0x...

单片机 振荡 频率计 算?

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

当80C51 单片机 晶振 频率 为12MHz时,时钟周期.机器周期各是多少?

1.时钟周期:即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。2.一个机...1...

STC12C5A60S2 单片机频率 是怎么计算出来的,或者怎么改?

频率计算系统时钟/分频系数/256系统时钟不一定等于晶振频率但对于STC12C5A60S2不专门设置的话系统时钟是等于晶振频率CMOD=0X02分频系数是2PWM频率=...

单片机 实际工作 频率 怎样计算?

说51单片机吧,传统51单片机的工作频率(机器频率)是晶振频率的1/12,后来的增强型51单片机机器频率为1/6,甚至为1倍当然可以设置的,想慢一些也可以,最低可到1...

单片机 怎样进行 频率 采样

采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则...

已知 单片机 系统晶振 频率 为6mhz,若要求定时值为10ms时,定时器T0工作方?

晶振频率为6M,则机器周期为2us,定时10ms,溢出值为5000,TMOD可以设置为方式0或者1,一般设置为1,初始设置如下:TMOD=0x01;TH0=(65536-5000)/256;TL...

设MCS-51 单片机 晶体 频率 为6MHz,其定时器最高输入的计数 频率 多少?

单片机由于确定一次下降沿,需要花2个机器周期,即24个振荡周期。所以外部输入的计数脉冲的最高频率为振荡周期的1/24,因此6M晶振,允许的脉冲频率为250k...

猜你喜欢