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

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

        整体原理图如下:

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

        

         

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

        部分代码如下:

        

 

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

        需要完整工程的,请私信!!

        

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式小李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值