高精度频率计设计_第1页
高精度频率计设计_第2页
高精度频率计设计_第3页
高精度频率计设计_第4页
高精度频率计设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的数字频率计设计 摘要:本文设计了一种以单片机STC89C52为核心的数字频率计,介绍了单片机、放大整形模块、分频模块和LCD1602显示模块等各个模块的组成和工作原理。测量时,将被测输入信号送给单片机计数,通过程序控制计数,结果送LCD1602显示频率值。本次设计是以单片机STC89C52为控制核心,单片机系统通过定时器、计数器对正弦波,方波三角波信号进行脉冲计数,将得到的频率数据在液晶显示屏上进行显示,最后显示测量的频率值。本次设计所制作的频率计外围电路简单,大部分功能都通过软件编程实现,利用单片机控制继电器实现频率计的自动换挡功能;用单片机T0控制端口实现频率的测量功能;通过分

2、频电路实现对频率档位的控制。本次设计的频率计具有测量准确度高,响应速度快,体积小等优点。实现了1Hz1MHz范围的频率测量,而且可以实现量程自动切换。关键词:频率计;单片机;计数器;测量The Design of Digital Frequency Meter Based on Single-Chip ComputerThis paper introduces a microcontroller STC89C52 as the core design of digital frequency meter. Introduced of the composition and working pr

3、inciple of microcontroller, amplifying and shaping module, frequency division module and LCD1602 display module and other modules. The design is based on STC89C52 microcontroller for the control of the core, using its internal timer and counter to complete the test signal frequency measurement. Appl

4、ication control features of the microcontroller and the operational ability of the counting function and frequency conversion, and finally use displays the measured frequency value. The design frequency meter produced peripheral circuits is simple, most of the functions are controlled via software p

5、rogramming, application control features of the microcontroller to achieve the frequency of automatic shift function; frequency measurement functions the microcontroller interrupt control port; control of the frequency of stalls by the divider circuit. The design of the frequency meter is high accur

6、acy, fast response, small size, etc. Achieve100Hz to 4MHz frequency measurements, and can automatically switch the flow to achieve scale. Key words:Frequency meter; microcontroller; counter; measurement目录一、系统总体设计及方案分析31、数字频率计的设计参数和功能指标32、系统设计原理分析33、系统总方案论证与设计4三、系统软件流程设计81、系统主程序流程框图82、系统部分程序如下:9四、系统调

7、试结果111、系统的软硬件调试结果112、系统误差分析与改进方法12五、实习总结12参考文献13附录141、系统硬件总电路图152、元件清单16一、系统总体设计及方案分析1、数字频率计的设计参数和功能指标设计一个数字频率计,具体要求如下:(1)测量范围信号:方波、正弦波;幅度:1V-5V,直流偏置0V-1V;频率:1Hz-1MHz;(2)测量误差1%;(3)输入阻抗100K;(4)LCD显示结果2、系统设计原理分析频率测量的原理总结成一句话,就是“在单位时间内对被测信号进行计数”。被测信号,通过输入通道的放大器放大后,进入整形加以整形变为矩形波,并送到主门的输入端。由晶体振荡器产生的基频,按十

8、进制分频得出的分频脉冲,经过选通门去触发主控电路,再通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波,至十进制计数电路进行直接计数和显示。若在一定的时间间隔T内累计周期性的重复变化次数N,则频率的表达式为式: (2-1)图2.1说明了测频的原理及误差产生的原因。在图2.1中,假设时基信号为1KHZ,则用此法测得的待测信号为1KHZ×5=5KHZ。但从图中可以看出,待测信号应该在5.5KHZ左右,误差约有0.5/5.59.1%。这个误差是比较大的,实际上,测量的脉冲个数的误差会在±1之间。假设所测得的脉冲个数为N,则所测频率的误差最

9、大为。显然,减小误差的方法,就是增大N。本频率计要求测频误差在1以下,则N应大于1000。通过计算,对1KHZ以下的信号用测频法,反应的时间长于或等于10s,。由此可以得出一个初步结论:测频法适合于测高频信号。 图2.1 测频原理频率计数器严格地按照公式进行测频。由于数字测量的离散性,被测频率在计数器中所记进的脉冲数可有正一个或负一个脉冲的±1量化误差,在不计其他误差影响的情况下,测量精度将为: 。 应当指出,测量频率时所产生的误差是由N和T两个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高,另一方面T越稳定时,精度越高。为了增加单位时间内计数脉冲的个数,一方面可在输入

10、端将被测信号倍频,另一方面可增加T来满足,为了增加T的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。 上述表明,在频率测量时,被测信号频率越高,测量精度越高。3、系统总方案论证与设计本设计的系统计划主要由信号输入与放大整形模块、分频与量程自动切换模块、微处理器模块、按键模式切换模块、电源输入模块等组成。其系统整体框图如图所示。信号放大整形模块分频和量程自动切换模块微处理器模块按键控制与模式切换±5V电源输入模块信号输入模块参考电压输入 系统总体结构框图(1) 输入信号放大模块考虑到输入信号最高频率达到1MHz,同时输入信号幅度较小需进行放大,故信号放大部分运算放大器选

11、用LLM318运算放大器是美国国家半导体公司生产的通用型运放系列中速度最快的器件。与其它种类的通用型运放相比具有电压转换速率高、频带宽、输出动态范围大、较完善的保护电路等突出优点。适合于在脉冲信号放大器、宽带放大器、中频放大器、宽频带信号发生器、快速A/D转换器、高速比较器等电路中应用。电路中采用±5V供电,也间接的限定信号的幅度。 (2) 整形电路以及参考电压电路设计采用电压比较器对放大后的信号进行整形,转换成标准的矩形脉冲。考虑到要能满足最大频率1MHz的信号,这里选用高速比较器TL714CP。TL714CP是TI公司生产的一款高速电压比较器,单电源供电,增益带宽积50MHz。这

12、里采用同向比较,考虑到信号带有毛刺,高速电压比较器在参考电压处会出现抖动造成连续翻转,从而使系统在脉冲计数上带来误差。所以在比较器上加了一个正反馈(类似斯密特触发器),避免这种干扰现象出现。反馈电阻的参数大小根据具体情况调试后选定。另外,为了使整形的效果更加好,在高速电压比较器后面增加了两级74LS14的整形。参考电压用电位器调整出来,最终选择参考电压为2V。(3) 分频电路模块输入信号的频率范围为1Hz1MHz,本系统将它分成1Hz10KHz, 10KHz1MHz两档。故需要一个分频通道,分频系数为100。这里采用集成计数器电路CD4518BE,自制分频通道电路,一片CD4518BE即可实现

13、10*10分频。(4) 量程自动切换电路设计根据设计思想将量程共分为两档,故只需两路路通道即可。由于数据选择器和模拟开关的高频特性并不理想,而且还具有一定的阻抗,故本方案选择两路继电器来实现量程自动切换。通过软件编程实现单片机IO端口的高低电平的切换从而达到控制继电器的工作状态,进而进行量程的切换。LCD显示模块STC89C52单片机控制模块A/D转换数据模块集成运算放大器及通道选择输入及电压采集模块(5) 单片机最小系统与显示模块高频率的时钟有利于程序更快的运行,也有可以实现更高的信号采样率,从而实现更多的功能。但是高速对于系统要求较高,而且功耗大,运行环境苛刻。考虑到单片机本身用在控制,并

14、非高速信号采样处理,所以选取合适的频率即可。合适频率的晶振对于选频信号强度准确度都有好处,本次设计选取12.000M无源晶振接入XTAL1和XTAL2引脚。并联2个30pF陶瓷电容帮助起振。显示模块使用LCD1602液晶显示,更加直观。按键电路的三个按键分别用来量程切换和模式切换。本系统模式有手动换挡模式和自动换挡模式。三、系统软件流程设计本章节主要介绍了电路的软件设计,整个系统由主程序,定时计数中断服务程序模块、量程和模式切换、数据处理模块和显示子程序模块组成。1、系统主程序流程框图开始CPU初始化LCD初始化模式切换T0计数,T1定时N定时时间是否到了?Y频率测量量程判断及切换LCD显示2

15、、系统部分程序如下:/* 名称 : Main()* 功能 : 主函数* 输入 : 无* 输出 : 无*/void Main() P3_4=1;TMOD=0x15;TH0=0;TL0=0;TH1=(65536-50000)/256; TL1=(65536-50000)%256; L1602_init(); L1602_string(1,6,"waitting"); L1602_string(2,6,"pin lv ji");while(1) Key_Scan(); void to(void) interrupt 1 using 0 T0count+; vo

16、id t1(void) interrupt 3 using 0 TH1=(65536-50000)/256; TL1=(65536-50000)%256; timecount+; if(timecount=20) TR0=0; TR1=0; timecount=0; flag=1; Key_Scan();void zidong() B0=1; B1=0; delayms(30); timecount=0;T0count=0;TH0=0;TL0=0;TH1=(65536-50000)/256; TL1=(65536-50000)%256;TR1=1;TR0=1;ET0=1;ET1=1;EA=1;

17、while(flag=0);if(x=0)display1();flag=0;x=T0count*65536+TH0*256+TL0; timecount=0;T0count=0;TH0=0;TL0=0;TH1=(65536-50000)/256;TL1=(65536-50000)%256; EA=0;/关CPU中断TR0=0;/停止计数TR1=0;/T1停止计时x=x*100;if(x<10000)liangcheng1();liangcheng2();四、系统调试结果1、系统的软硬件调试结果为了衡量这次设计的频率计的工作情况和测量精度,我们对系统进行了调试。用这次设计的频率计对信号(

18、2V)进行了测量,使用函数发生器输出各种波形,由实物频率计测得频率,记录数据。实际记录数据如下表所示。表5.3 Hz档的数据记录表输入110100500557630750821900测量110100500557630750821900误差/%000000000表5.4 KHz和MHz档的数据记录表输入10K150K175K200K400K550K600K900K1M测量10150.01175.01200400.02550600.02900.011M误差/%00.00670.00570.00400.00330.00140.00372、系统误差分析与改进方法(1)、经测量结果显示,与预计的技术指标

19、基本相符合。然而一个真正优秀的频率计在软件设计方面,低频段应该采用测周法,在高频段采用直接测量法才更加精确,这也将是以后可以继续深入和提高的地方。(2)由于元器件本身误差,随着时间的延长,其测量值也会产生误差,造成测量结果没有软件仿真精确。(3)芯片的选择、硬件制作、分频部分、放大整形部分。提高放大整形这部分的准确度,分频部分可以用多级分频可以使分频更准确。(4)可以采用等精度频率测量法提高精度。等精度测频的方法是:采用频率准确的高频信号作为标准频率信号,保证测量的闸门时间为被测信号的整数倍,并在闸门时间内对标准信号脉冲和被测信号脉冲同时进行计数,实现整个频率测量范围内的测量精度相等,当标准信

20、号频率很高,闸门时间足够长时,可实现高精度的频率测量。五、实习总结通过本次设计,自己的动手能力和编程能力有了质的提高,为以后的进步奠定了基础。实习中我既发现了自己的很多一些进步之处,也发现了自己的一些不足之处。下面就本次实习简要的说说我个人的收获与感受。其一、考虑问题分析问题不够全面。例如:在编程的时候,没有考虑到继电器开始工作那一瞬间的影响,导致测量出来的频率在一个时间内不准确,后面在程序中通过在继电器工作那一瞬间不进行采样数据,从而达到提高测量精度的目的。其二、在测量方法上过于单一,也没有考虑到晶振的误差,因此应加入自校准模块。系统晶振难免存在初始误差,对精度造成一定的影响。这种误差通过一

21、定的方法是可以消除的,如进行补偿。校准其实就是与标准值进行比较计算,从而得到一个补偿系数。根据实际情况,分别对量程的最大值和最小值进行校准。将两个校准值相减,然后再量化即乘以一个常数,最终得到的值就是补偿系数。最后将这个系数存到EEPROM中保存起来。因此,实习结束后,我还得去加强自身学习,更加积极主动地了解专业知识,探索自己所不知道的,进一步扩大自己的知识面。我个人认为硬件和软件设计都是是个既灵活又细腻的工作,它要求耐心和细心去不断完善,同时还需要有良好的逻辑思维能力。通过这次毕业设计,我分析问题和解决问题的能力有所提高,也巩固了所学的知识,加深了对理论知识的理解,更重要的是锻炼自己的独立性,为我今后的工作和学习打下坚实的基础。其三,自己的动手实践操作能力还得继续提高。经过本次实习,虽然感觉我自己的动手实践能力有了一定的提高,但现在的水平还是有上升空间。在PCB布局时,第一次布出来的线因为太细,结果在腐蚀电路板的时候,很多的铜线都被腐蚀掉,导致电路很多线路都是断路。这就是平时缺乏动手实践的表现,在第二次重新布线时,经过认真总结与思考,将线宽改为40mil,这样腐蚀出来的电路板就既美观各线路又能正常连通。综上所述,为本次实习中的几点收获与感受,有不当之处还望批评指正。当然,本次实习获益良多,上面所讲的只是冰山一角。总

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论