您的当前位置:首页正文

基于51单片机宽量程数字频率计的设计与实现

2021-12-09 来源:步旅网
ELECTRONICS WORLD・技术交流基于51单片机宽量程数字频率计的设计与实现楚雄师范学院物理与电子科学学院 李家旺 李志华本文设计的宽量程数字频率计能较准确测量出方波、正弦波和三角波等多种周期信号的频率值(被测信号的电压峰峰值要求高于70mV),测量频率范围是:10HZ~20MHZ。设计的数字频率计有一定的实用价值,该设计也可为设计某些特殊功能的频率计提供一定的参考。引言:数字频率计是数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。若配以适当的传感器,可以对多种物理量进行测量,如机械振动的频率、转速、声音的频率以及一叠纸的张数等等。因此,数字频率计是一种应用很广泛的仪器。数字频率计作为一种应用广泛的仪器设备,它可以完全由硬件电路搭接构成、可以基于单片机运算处理设计实现、还可以基于 SOPC的嵌入式实现(武卫华,郑诗程,基于SOPC的嵌入式数字频率计设计与实现,电子测量与仪器学报,2010年第2期72-78页)。完全由硬件电路搭接构成数字频率计,其优点是设计涉及的知识面较窄,容易理解设计思想与工作原理,不足之处是电路构成复杂,功能扩展性差,实现的功能单一,如要扩展频率计的量程不容易实现。基于 SOPC的嵌入式设计数字频率计优点是硬件电路简单,功能扩展性强,功能扩展可通过修改设计程序实现,不足之处是设计涉及的知识面较宽,设计思想与工作原理对初学者不易理解。基于单片机运算处理设计综合了上述两种设计的优点。本文介绍了基于单片机运算处理的宽量程(10Hz至20MHz)数字频率计的设计。图1 基于51单片机宽量程数字频率计工作原理框图

1 基于51单片机宽量程数字频率计的工作原理

基于51单片机数字频率计工作原理框图如图1所示。该频率计由放大电路、信号变换与整形电路、信号处理电路(单片机)、分频电路,以及频率显示电路构成。经过放大电路基于51单片机数字频率计工作原理框图如图1所示。该频率计由放大电路、信号变换与整形电路、信号处理电路(单片机)、分频电路,以及频率显示电路构成。经过放大电路将被测信号峰值小于2.5V的信号进行放大,并利用放大电路的饱和特性将峰值大于5V的信号实现限幅,防止待测信号峰值过大烧毁芯片。经过放大电路处理后的信号通过信号变换与整形电路处理;将信号处理电路(单片机)所不能检测的信号如正弦波、三角波等信号变换整形为方波信号。经过整形处理后的被测信号经信号处理电路(单片机)运算处理产生频率显示驱动信号,频率显示驱动信号驱动频率显示电路实现被测信号频率的显示。数字频率计程序流程图如图2所示(艾红,王捷,数字频率计中语言

图2 数字频率计程序流程图

编程的研究,仪器仪表学

报,2002年第3期7-8页;谭浩强,C程序设计第三版,清华大学出版社,2005年)。系统上电信号经信号处理电路的单片机启动定时计数器,计数器0和计数器1同时工作,当待测信号的频率小于(单片机处理速度有效频率)200kHz时,信号处理电路利用计数器0的计数值直接产生频率显示电路的驱动信号;当待测信号的频率值大于200kHz时,信号处理电路(单片机)利用计数器1的计数值进行运算处理产生频率显示电路的驱动信号(鲁锦涛,苏建加,廖聪裕,一种基于STC89C52宽频带的数字频率计设计,河北农机,2012年第2期57-58页)。图3 信号处理电路

• 127 •

ELECTRONICS WORLD・技术交流2 基于51单片机宽量程数字频率计电路模块

2.1 信号处理电路

电路如图3所示。信号处理电路是由一片STC89C52芯片、12M晶振、电容和按键组成。其功能是选择信号输入端并且产生相对应的显示驱动信号;并驱动频率显示电路显示出频率值。它的主要工作是由单片机计数器检测出待测信号的频率值,同时判断频率值是否大于200kHz。若待测信号的频率值小于200kHz,则单片机选择计数器0工作,并产生显示驱动信号驱动频率显示电路显示出被测信号频率值,因为由计数器0所检测到的信号是未分频的信号,所以不需要对检测到信号的频率值进行运算;若待测信号频率值大于200kHz,则单片机选择择其计数器1工作。但计数器1工作时所检测到信号是经过100分频后的信号;因此当择其计数器1工作时,需要先对其检测到的频率值乘以100,再产生其对应显示驱动信号驱动频率显示电路显示被测信号频率值。

图4 放大电路

2.2 放大电路

放大电路如图4所示。因为信号变换与整形电路不能处理幅值太小或太大的信号,利用放大电路将输入几十毫伏至十几伏的被测信号放大处理为满足信号变换与整形电路幅值要求的信号(即幅值大于2.5V且小于5.0V)输出。在该设计中我使用了9014三极管放大电路对被测信号幅值小于2.5V的信号进行放大,该放大电路的饱和特性,当被测的信号幅值大于5.0V时,放大电路工作在饱和失真状态,将信号幅值稳定在5.0V左右,防止输入信号的幅值过大而烧坏芯片。虽然幅值大于5.0V的信号产生饱和失真,但该设计功能是检测频率值,所以信号的失真不会影响频率的测量(康华光,陈大钦,张林,电子技术基础模拟部分第二版,高等教育出版社,2004年116-140页)。图5 信号变换与整形电路

2.3 信号变换与整形电路信号变换与整形电路如图5所示。因为51单片机只能检测到标准• 128 •

的方波信号,正弦波,三角波等信号都不能检测到,所以要把除方波以外周期信号都整形成方波。而信号经过放大电路后输出的信号不是标准的方波信号,存在着一定信号失真的问题。为了能让51单片机准确检测信号的频率,首先需要对信号进行变换整形处理。施密特触发器的特性和电压比较器差不多,它内部有两个比较电压,一个比较高电平,一个比较低电平。当达到电压比较要求时电路的状态会发生翻转。应用施密特触发器的该特性,可将其应用于信号的整形处理。该设计中我选择芯片74HC14(康华光,邹寿彬,秦臻,电子技术基础数字部分第二版,高等教育出版社,2004年245-331页)。图6 分频电路(100分频)

2.4 分频电路

分频电路如图6所示。因为单片机晶振频率较低,运行速度有限。所以测量频率的范围小。要解决这个问题,就需要对信号进行分频处理,将高频分频成中低频信号,使单片机能够检测出信号的频率。该分频电路中选用芯片74HC390。当频率值高于200kHz的时候信号处理电路不能直接处理;需要先通过该分频电路对信号进行分频;通过该分频电路进行100分频后的信号在输入信号处理电路处理产生显示驱动信号(康华光,邹寿彬,秦臻,电子技术基础数

字部分第二版,高等教育出版社,2004年245-331页)。2.5 频率显示电路

频率显示电路如图7所示,本设计采用8位数码管构成频率显示电路,采用动态显示方式。通过信号处理电路产生显示驱动信号,驱动该频率显示电路显示出被测信号的频率值。

图7 频率显示电路

3 基于51单片机数字频率计功能测试

3.1 基于51单片机数字频率计测试所使用的仪器

表1 测试仪器

3.2 基于51单片机宽量程数字频率计测试

对方波、正弦波、三角波信号频率值测试情况如表2、表3及表

4所示(注:表中待测信号实际频率值是示波器测定的值,测试信号幅值为4.5V)。

(下转第131页)

ELECTRONICS WORLD・技术交流……

ret_w=write(wfd,wrbuf,ret); //把wrbuf数据写到新文件中4.2 图片显示播放模块

打开LCD屏,然后进行JPEG图片解码与BMP位图转换,最后把图片数据赋值到映射内存上,即可实现图片的显示播放功能。部分调用函数及关健代码如下:

// filename:指向图片的绝对路径的指针,lcd_p:映射的地址void showbmp(char*filename,unsigned int *lcd_p)……

int kuan,gao,bit;

lseek(fd,18,SEEK_SET); //读取图片的头信息……

unsigned char *newpic=malloc(800*480*3); //转换成为480*800图片……

unsigned char *p = newpic;unsigned char red;unsigned char green; unsigned char blue;

unsigned char a =0; //24位图片转32位4.3 图片编辑控制模块

首先用open()函数打开触摸屏,接着循环判断处理触摸屏反馈回来的信息是否为触摸屏事件及触摸屏事件的哪一个子事件,然后得到触摸屏的起点坐标和终点坐标,通过起点坐标与终点坐标计算出手滑触摸屏的动作和方向,与事先设定好的值比较,如果满足条件就返回一个标志位,一个标志位就代表着一个手势动作。最后,通过判断标志位来确定执行哪个函数,实现哪个功能。部分调用函数及关健代码如下:int ts_fd = pen(“/dev/input/event0”,O_RDWR); //1.打开触摸屏……

if(tsmsg.type == EV_ABS ) //判断是否为触摸屏事件if(tsmsg.code ==ABS_X ) //判断触摸屏事件的哪一个子事件……

printf(“x=%d,x1=%d,y=%d,y1=%d\\n”,x,x1,y,y1); //设定手势动作5 结语

本文利用Linux嵌入式系统与多媒体应用的结合,采用模块化设计思路,将广告系统划分为图片录入模块、图片显示播放模块和图片编辑控制模块三个单一的功能模块,较好地完成广告系统设计。参考:李婉茹,乐视云分享管理系统的设计与实现[D].北京交通大学,2015;徐峰,浅谈我国嵌入式Linux技术的发展现状与发展动向[J].硅谷,2008(06):35;李季,智能馈线终端FTU设计与实现[D].济南大学,2016;陈登梅,曲线字库自动生成方法的研究[D].山东大学,2007;李培俊,基于Linux的广告系统设计[D].广东理工学院,2019。基金项目:广东理工学院校级项目“电气工程及其自动化教学团队”(编号:JXTD2018001)。

作者简介:倪元相(1979—),男,重庆人,硕士研究生,副教授,研究方向:机械优化设计与智能控制。

(上接第128页)

表2 方波信号频率值测试情况

时,方波的准确度最高,锯齿波最低。

4 讨论与结论

该数字频率计的测频量程是10Hz~20MHz,若还需要更宽测

表3 正弦波信号频率值测试情况

频量程可以采用检测信号能力更强的单片机或者采用对信号采用更多级分频与修改单片机程序来实现;幅值较小(小于70mV)的信号频率计测试的值不准确,且方波的准确度最高,锯齿波最低,原因是本设计的放大电路放大倍数较低及抗干扰性能较差,我们可以

表4 三角波信号频率值测试情况通过提高放大电路的放大倍数与改善放大电路的抗干扰特性设计出能准确测试幅值较小信号的频率值。

本次设计的宽量程数字频率计能较准确测量出方波、正弦波和三角波等多种信号的频率值(被测信号的电压峰峰值要求高于70mV),测对方波、正弦波及三角波信号幅值大小变化对其频率测定的影响情况如表5所示(注:表中信号频率由示波器测量确定)。表5 方波、正弦波及三角波的信号幅值大小对频率测定的影响情况

量频率范围是:10HZ~20MHZ,幅值较小(小于70mV)时,测量的准确下降,相对而言,方波的准确度最高,锯齿波最低;本设计功能扩展较强,对本设计进行适当修改可设计出满足特殊要求的频率计,如量程进一步扩宽;可测幅值较小的信号等等。基金项目:国家自然科学基金资助项目(11064001)

测试结果表明:该数字频率计能较准确测量出方波、正弦波和三角波等多种信号的频率值。测量频率范围是:10HZ~20MHZ,被测信号的电压峰峰值要求高于70mV,幅值较小(小于70mV)

• 131 •

因篇幅问题不能全部显示,请点此查看更多更全内容