基于8051单片机的频率测量技术 | |
为了提高测量的精度,拓展单片机的测频范围,本设计采取了对信号进行分频的方法。设计中采用两片同步十进制加法计数器74LS160来组成一个100分频器。该100分频器由两个同步十进制加法计数器74LS160和一个与非门74LS00共同设计而成。由于一个74LS160可以分频十的一次方,而当第一片74LS160工作时,如果有进位,输出端TC便有进位信号送进第二片的CEP端,同时CET也为高电平,这样两个工作状态控制端CET、CEP将同时为高电平,此时第二片74LS160将开始工作。 |
基于8051单片机的频率测量技术(ZT)
关键词: 基于 单片机 频率 测量 技术
用单片机电子计数法测量频率有测频率法和测周期法两种方法。测量频率主要是在单位定时时间里对被测信号脉冲进行计数;测量周期则是在被测信号一个周期时间里对某一基准时钟脉冲进行计数。
2.1 8051测频法的误差分析
电子计数器测频法主要是将被测频率信号加到计数器的计数输入端,然后让计数器在标准时间Ts1内进行计数,所得的计数值N1。与被测信号的频率fx1的关系如下:
而电子计数器测周法则是将标准频率信号fs2送到计数器的计数输入端,而让被测频率信号fx2控制计数器的计数时间,所得的计数值N2与fx2的关系如下:
事实上,无论用哪种方法进行频率测量,其主要误差源都是由于计数器只能进行整数计数而引起的±1误差:
可见,在同样的Ts下,测频法fx1的低频端,误差远大于高频端,而测周法在fx2的高频端,其误差远大于低频端。理论研究表明,如进行n次重复测量然后取平均,则±1误差会减小n倍。如给定±1误差ε0,则要求ε≤ε0ο对测频法要fx1≥对测周法则要求fx2≤ε0fs2ο因此,对一给定频率信号fs进行测量时,用测频法fs1越低越好,用测周法则fs2越高越好。
2.2 8051单片机的测频范围和测频时间
8051单片机的定时器/计数器接口,在特定晶振频率fc=12 MHz时,可输人信号的频率上限是fx≤fc/24=500 kHz。如用测频法,则频率的上限取决于8051,故测频法的测量范围是:
即:fx1≤500 kHz。
用测频法测频时,定时器/计数器的计数时间间隔可由8051的另外一个定时器/计数器完成,外接100分频器的情况下,fx1的频率范围可扩展到50MHz用测周法设计时,其频率的下限取决8051计数器的极限。考虑到8051内部为16位,加上TF标志位,计数范围为217,因此其最大计数时间秒。而如果采用半周期测量,则测频范围是:
在测周法中,标准频率信号fs2由8051的内部定时结构产生,f s2恒为fc/12,因此,在给定ε0为0.0 1时,fx2既有一定的上限频率,也有一定的下限频率。即:
并由此可见得出:4Hz≤fx1≤10 kHz理论上可以达到无穷大,即fs1可以达到无穷低,因此,fx1可达到无穷小,因此,可以认为测频法的测频范围只有上限频率,没有下限频率。而再 这样,两个频率范围相叠加即可得到该频率计的测频范围:4 Hz≤fx1≤50 MHz。精度可以达到1Hz。从以上分析可以看出,测频法测量的频率覆盖范围较宽,且在高频端的测量精度较高,而在低频段的测量精度较低,同时测量时间较长。测周法测量的频率覆盖范围较窄,在高频段的测量精度较低,在低频段的测量精度较高,测量时间短。因此,测频法适于高频信号的测量,测周法适于较低频信号测量。
8051可用软件来控制定时器/计数器的工作方式,以实现测频法与测周法的动态切换。对宽频带、高速度的频率测量,可采用软件切换测量方法来提高测量精度与测量速度。其测频电路如图2所示。
3 软件设计
由图2所示的测频电路可知,波形经过施密特触发器74LS132后,再经整形放大后即可变成方波,然后利用8051的定时器/计数器T0给定定时时间为10 ms,再利用8051的定时器/计数器T1作计数器,累计10 ms时间里所经过施密特触发器74LS132的方波信号。当T0定时满10 ms时,T0向CPU发出中断信号以申请中断,并进行频率测量。假设所设定的中介频率为l00/10 ms="l00"×100=10000 Hz="10" kHz,冈为fx=N/T,所以,可以将假定给定数值100与Tl进行比较,再将Tl计数器里所计的数值与给定的数值进行比较。由于在用测频法测量频率时,较小频率的误差较大(±l误差)。所以,这里用l0 kHz作为中间频率,其±1误差为9.9 kHz和1 0.1 kHz,误差率为1%,可见该误差不是很大,还可以接受。
事实上,当频率比较小于1 0kHz时,若程序选择用测量周期法。则测周法流程图及其程序如如图3所示。
4 结束语
通过本文所介绍的设计过程即可实现频率测量要求,并能够很好的完成测量结果的存储,完全能够达到预期的效果。
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 | |
【换取逻辑分析仪】rtthread添加RRH62000传感器驱动-基于野火启明6M5被打赏48分 | |
换逻辑分析仪+Verilog多输入门被打赏27分 |