基于单片机的频率计的设计与制作摘要随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行较慢,而且测量频率的范围较小。考虑到上述问题,本论文设计一基于单片机设计频率计。首先,我们把待测信号经过放大整形,然后把信号送入单片机的定时计数器里进行计数,获得频率值,最后把测得的频率数值送入显示电路里进行显示。本文从频率计的原理出发,介绍了基于单片机的频率计的设计方案,选择了实现系统的各种电路元器件,并对硬件电路进行了仿真。频率计总体方案设计方案一:本方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描把测出的数据送到数字显示电路显示。其实原理框图如2.1所示图2.1方案一原理图被测信号信号整形信号放大电路单片机AT89C51电路数字显示电路频率计总体方案设计方案二:本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。其原理框图如图2.2所示逻辑控制电路时基电路被测信号放大整形电路闸门电路译码显示器锁存器计数器图2.1方案一原理图频率计总体方案设计方案论证方案一:本方案主要以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测得正弦波或者三角波为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。频率计总体方案设计方案二:本方案使用大量的数字器件,被测量信号放大整形电路变成计数器所要求的脉冲信号,其频率于被测信号的频率相同。同时时基电路提供标准时间基准信号,其高电平持续时间1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束闸门关闭,停止计数。若在闸门时间1s内计数器计得的脉冲个数为N,则被测信号频率FX=NHZ。逻辑控制电路的作用有两个:一是产生锁存脉冲,是显示器上的数字稳定;二是产生清零脉冲,使计数器每次测量从零开始计数。频率计总体方案设计比较以上两种方案可以知道,方案一得核心是单片机,使用的元器件少,原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。如要测量高频的信号还需要加上分频电路,价格相对高了点。基于上述,所以选择了方案一。系统硬件设计3.1一般数字式频率计的原理数字式频率计是测量频率最常用的仪器之一,其基本设计原理是首先把待测信号通过放大整形,变成一个脉冲信号,然后通过控制电路控制计数器计数,最后送到译码显示电路里进行显示,其基本构成框图如图3.1所示被测信号控制门电路译码显示电路计数器电路放大整形电路图3.1数字式频率计系统硬件设计3.2频率计方案的概述本频率计的设计以AT89S51单片机为核心,利用它内部的定时/计数器完成待测信号周期/频率的测量,单片机AT89S51内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时,计数和产生计数溢出时中断要求的功能。在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1,这样以机器周期为基准可以用来测量时间间隔。在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入在每个机器周期被采用一次,这样查测一次从1到0的跳变至少需要2个机器周期,所以最大计数速率为时钟频率1/24。定时/计数器的工作有运行控制位TR控制,当TR置,定时/计数器开始计数:当TR清0,停止计数。系统硬件设计设计终合考虑了频率测量精度和测量反应时间的要求。例如打要求频率测量结果为3位有效数字,这时如果待测信号的频率为1HZ,则计数闸门宽度必须大于1000S。为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两种方法:(1)当待测信号的频率100HZ时,定时/计数器构成为计数器,以机器周期为基准,由软件产生计数闸门,计数闸门宽度1S时,即可满足频率测量结果为3位有效数字。(2)当待测信号的频率100HZ时,定时/计数器构成为定时器,由频率计的处理电路把待测信号变成方波,方波宽度等于待测信号的周期。这时用方波做计数闸门,当待测信号的频率=100HZ,周期为10ms,使用12HZ时钟的最小计数值为10000,完全满足测量精度的要求。系统硬件设计3.3单片机3.3.189S51一般概述该AT89S51是一个低功耗,高性能CMOS8位微控制器,可在4K字节的系统内编程的闪存存储器。该设备是采用Atmel的高密度非易失性存储器技术和符合工业标准的80C51指令集合引脚。芯片上的Flash程序存储器课重新编程的系统或常规非易失性内存编程。通过结合通用8位中央处理器的系统内课编程闪存的单芯片,AT89S51是一个功能强大的微控制器提供了高度灵活的和具有成本效益的解决办法,可在许多嵌入式控制中应用。在AT89S51提供以下标准功能:4K字节的Flash闪存,128字节的RAM,32个I/O线,看门狗定时器,两个数据指针,两个16位定时器/计数器,5向量两级中断结构,全双工串行端口,片上振荡器和时钟电路。此外,AT89S51设计的静态逻辑操作到零频率和支持两种软件可选电模式。系统硬件设计3.3.2引脚功能说明VCC:电源电压GND:接地点P0口:p0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“I”可作为高阻抗输入端用。图3.3.2AT89S51引脚图系统硬件设计3.4显示电路我们测量的频率最终要显示出来八段LED数码管显示器由8个发光二极管组成。基中7个长条形的发光管排列成“日”字形,另一个圆点形的发光管在数码管显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED数码管显示器有两种形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED数码管显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED数码管显示器。如下图所示。共阴和共阳结构的LED数码管显示器各笔划段名和安排位置是相同的。当二极管导通时,对应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。8个笔划段hgfedcba对应于一个字节(8位)的D7、D6、D5、。D4、D3、D2、D1、D0,于是用8位二进制码就能表示欲显示字符的字形代码。系统硬件设计在单片机应用系统中,数码管显示器显示常用两种办法:静态显示和动态扫描显示。所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小,能供给单独锁存的I/O接口电路很多。在单片机系统中动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就能自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的办法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。系统硬件设计EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U18051R11KR21KR31KR41KR5100R6100R7100R8100R9100R10100R11100R12100Q1PNPQ2PNPQ3PNPQ4PNPR1310KS1SW-PBvccY1CRYSTALC130pfC230pfR14200R151KC330pfS2SWSPSTabfcgdeDPY1234567abcdefg8dpdpbfcgdedpbfcgdedpbfcgdedp1234aaaDS?DPY_7-SEG_DPvcc数字电平信号其原理图如图3.4系统软件设计4.1测频软件实现原理测频软件的实现是基于电路系统来进行设计的。本次设计采用的是脉冲定时测频法,所以在软件实现上基本遵照系统的设计原理,进行测频。本次软件设计语言采用汇编语言,在电脑上编译通过后即可下载到电路上的实际电路中,即可实现频率的测量。系统软件设计4.2软件流程图声明变量与函数SB2=0?显示函数状态标志=0?状态标志=0测量函数yesno主程序开始开始读取按键设置Tmer启动Tmer返回系统软件设计显示函数扫描信号初始化输出显示信号输出扫描信号下一个扫描信号延时4ms四位数?返回yesno系统软件设计如图是4.2流程图T-1s重设定时值20次?重新计数状态标志=1读取计数值大于10K?个位、十位填入显示区T-1s填入显示区noyesnoyes如图是4.2流程图系统软件设计结论基于单片机的频率计的设计涉及到计算机的硬软件知识,通过对系统的设计和调试,本次设计主要完成了以下工作:1、提出基于单片机的数字频率计设计的基本方案;2、完成了整形电路、同步电路、分频电路、主控门电路等相应的硬件电路设计及仿真;3、编译了数字式频率计的控制程序、数码转化程序、数据显示程序等系统软件程序;4、对硬件电路进行了仿真,进行了误差分析。感谢在座专家们聆听我们的演讲再见!!!!