51单片机频率计的程序流程(51单片机频率计的)

交换机 2024-09-22 电子科技 44 views

扫一扫用手机浏览

文章目录 [+]
单片机频率计

1、在设计单片机的精度频率要使用到的材料是PCB实验板,能更准确的控制频率的发生,因此是PCB实验板。

2、传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行较慢,而且测量频率的范围较小。

3、.实验任务***利用51单片机的T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过8位动态数码管显示出来。要求能够对0-250KHZ的信号频率进行准确计数,计数误差不超过±1HZ。

4、那就有程序控制累加多个0.5s的测量结果再计算频率值。所以程序中使用自适应方法,首先测量一个0.5s,看得到的频率值是否大于1,如果大于1即直接测量,如果频率值为0,表示被测频率小于1Hz,就转入长时间测量的模式。

5、待测频率f=1/T,T=(TH0*256+TL0)*(1/F),其中F为CPU的主频。那么有***f=1/T=F/(TH0*256+TL0).该式子和500000/(TH0*256+TL0)比较发现,它的500000和你的10000000就是CPU主频F。

请教51单片机做频率计的问题

能。简易数字频率计用51单片机可实现1-450KHZ方波、正弦波、三角波信号的测量,测量迅速、精度高、显示直观、价格低廉,因此简易数字频率计能用51单片机。

一般来说,单片机通过计数器实现频率测量。测量方波***电路简单,测量正弦波需要外部调理电路,但是,既然能够做到测量正弦波了,方波更没问题了。人为分为两种模式,从使用上讲,不方便,从技术上讲,更是多此一举。

误差与晶振频率准确度有关,测量与时间有关的量,你本身的时间当然要准确。如果所测信号频率高,可以测0.2s或0.5S内的脉冲数,可以防止溢出,如果频率低,可以测1S或2S内的脉冲数,以减小误差,但响应速度慢一些。

至于高低频的临界点,跟你的计数频率有关,感兴趣的话可以去看《电子测量原理》。下面我来讲下测周实现的方法,可以使用边沿触发的D触发器输出作为单片机的外部定时控制,测量信号作为触发时钟,计数值作为该信号的周期。

既然你一次定时0.5s不能变,那就有程序控制累加多个0.5s的测量结果再计算频率值。

。单片机测量的是方波信号,如果是其它波形或幅度不合适,就进行放大和整形***2。

关于51单片机简易频率计的问题

一般来说,单片机通过计数器实现频率测量。测量方波***电路简单,测量正弦波需要外部调理电路,但是,既然能够做到测量正弦波了,方波更没问题了。人为分为两种模式,从使用上讲,不方便,从技术上讲,更是多此一举。

传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行较慢,而且测量频率的范围较小。

别忘了,51单片机的主频12MHz,为了抗干扰,还要12分频。也就是说,你只有1MHz的运算频率。然后你得到你的w,还要做那么复杂的运算,本身while(p3_5==0)的判断也要时间。还有,你的n1,n2是什么类型的呀。

。单片机测量的是方波信号,如果是其它波形或幅度不合适,就进行放大和整形***2。

你的程序停在while(1);这里了,也就是说只做了一次的采样和显示,这种情况很容易产生数据不同步等等一些问题,也就是在输入端口里并没有数据,所以你的全是0的情况是正常的。

那就有程序控制累加多个0.5s的测量结果再计算频率值。所以程序中使用自适应方法,首先测量一个0.5s,看得到的频率值是否大于1,如果大于1即直接测量,如果频率值为0,表示被测频率小于1Hz,就转入长时间测量的模式。

做用51单片机做一个频率计,测量范围为0.1Hz~10kHz

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

很明显啊,在测量小于1Hz频率时,测量时间必须大于1s,比如10s,20s或者更长时间,这样才能保证测量准确。既然你一次定时0.5s不能变,那就有程序控制累加多个0.5s的测量结果再计算频率值。

闸门时间由定时器1控制,初始为2s,可以通过按键加减,范围为2s到7秒。闸门时间就是采样时间,闸门时间越长,测量精度越准确。

基于51单片机的数字频率计(0—10MHZ)

频率***=***65536***x***中断次数***+***TH1***HL1***。前提是***选择高速单片机,即只要***T1***引脚***能够响应***10M***的频率就没有问题***因为***要***计数***65536***次才***T1才会中断一次。

很明显啊,在测量小于1Hz频率时,测量时间必须大于1s,比如10s,20s或者更长时间,这样才能保证测量准确。既然你一次定时0.5s不能变,那就有程序控制累加多个0.5s的测量结果再计算频率值。

所以会有t0*65536。***另外,由于计时的机制是THO++、TL0++,所以,THOTL0就表示当前的计数值。THOTLO-***初值就可以确定没有触发中断定时多少。TH0*256==TH0*2^8,实质就是左移8位,就是拼接TH0跟TL0的处理。

51单片机的数字频率计

频率***=***65536***x***中断次数***+***TH1***HL1***。前提是***选择高速单片机,即只要***T1***引脚***能够响应***10M***的频率就没有问题***因为***要***计数***65536***次才***T1才会中断一次。

所以会有t0*65536。***另外,由于计时的机制是THO++、TL0++,所以,THOTL0就表示当前的计数值。THOTLO-***初值就可以确定没有触发中断定时多少。TH0*256==TH0*2^8,实质就是左移8位,就是拼接TH0跟TL0的处理。

利用51单片机的T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过8位动态数码管显示出来。要求能够对0-250KHZ的信号频率进行准确计数,计数误差不超过±1HZ。

绪论***1***数字频率计的发展现状及研究概况***随着电子技术的飞速发展,各类分立电子元件及其所构成的相关功能单元,已逐步被功能更强大、性能更稳定、使用更方便的集成芯片所取代。

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

那就有程序控制累加多个0.5s的测量结果再计算频率值。所以程序中使用自适应方法,首先测量一个0.5s,看得到的频率值是否大于1,如果大于1即直接测量,如果频率值为0,表示被测频率小于1Hz,就转入长时间测量的模式。

本文转载自互联网,如有侵权,联系删除

本文链接地址:http://www.oubolanzhuangshi.com/119.html

相关文章

  • 暂无相关推荐