技术文档

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

小编 2024-10-16 技术文档 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 结论

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

相关问答

【知道 单片机的频率 ,要求时钟周期和机器周期是多少,怎么算啊...

[最佳回答]这得看是什么单片机了:对于精简指令集性能的单片机的工作频率(1/机器周期)=时钟频率(1/时钟周期).普通的51单片机来说:频率是1MHZ,时钟周期是1/12us...

单片机 中做一个频率计时怎么样考虑他的 频率计 算?

这得看是什么单片机了:对于精简指令集性能的单片机的工作频率(1/机器周期)=时钟频率(1/时钟周期).普通的51单片机来说:频率是1MHZ,时钟周期是1/12us(1除以...

单片机 振荡 频率计 算?

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

51单片机 工作 频率 上限为?

工作频率即机器频率即机器周期倒数。传统51单片机的工作频率为时钟频率(晶振频率)的1/12,但增强型单片机的工作频率可达时钟频率的1倍。51单片机晶振频率为1...

51单片机 对外计数 频率 有何限制?

单片机的计数器最高频率收到单片机内核总线频率限制,因此对外技术频率不能超过晶振乘以倍频单片机的计数器最高频率收到单片机内核总线频率限制,因此对外技术...

51单片机 电子时钟 课程设计 程序 急急急急。。。。。。。。。

下面是具体的设计:数字时钟的设计与制作摘要:本系统是采用555构成的多协振荡器、74LS90芯片组合做成的数子时钟系统。其中用555构成的多协振荡器产...

51单片机 MCS-51,如果采用的晶振的 频率 为3MHz,定时器/计数器...

[最佳回答]方式0:2^13/3M*12=0.032768s;方式1:2^16/3M*12=0.262144s;方式2:2^8/3M*12=0.001024s;方式0:2^13...

at89c 51单片机的频率 是?

AT89C51的最高工作频率为24MHZ,而AT89S51的最高工作频率为33MHZ。(AT89S51有两种型号,分别支持24MHZ和33MHZ的最大工作频率。)因此它具有更快的计算速度.....

51单片机的 工作 频率 ?

51单片机大多使用12M或11.0592M的晶振。时钟的频率是晶振频率的1/12,时钟频率也就是单片机的工作频率,所以12M晶振的51单片机的工作频率是1M,11.0592M的晶振的...

51单片机 T0定时器4种方式的定时时长分别是多少 - 150****156...

51单片机最大硬件定时时间,就是定时器能定时的时间,最长时间=65536*TcTc=fosc/12,fosc是单片机的晶振频率。以频率=12M为例吧,Tc=1us最大定时时间=6...

猜你喜欢