王丽琴,史 航
(1.常州信息职业技术学院,江苏 常州213000;2.江苏理工学院,江苏 常州213000)
以单片机STC89C52为核心,采用倍频法,根据频段设置倍频系数将经放大、整形的低频信号进行倍频后再进行测量,高频段则直接测量用定时、计数的方法测量频率,采用一个2个四位共阴的数码管显示6位数。测量范围从500Hz-1MHz的正弦波、方波的频率测量。
数字频率计的工作过程为:被测信号fx经脉冲电路整形,变成脉冲波形,其周期Tx与被测信号的周期相同。实际电路输出标准时间信号,设其高电平持续时间为1s,则计数器的计数时间就为1s,计数器计得的脉冲数N就是被测信号的频率。逻辑控制单元的作用有两个:其一,产生清零脉冲,使计数器每次从零开始计数;其二,产生锁存信号,使显示器上的数字稳定不变。
本频率计的数据采集系统的核心元器件是单片机STC89C52,由它完成对待测信号频率的计数和结果显示等功能,外部还要有分频器、显示器等器件。可分为几个模块:放大整形模块、分频模块、单片机系统、数码管显示模块。
(1)放大整形模块。在本次设计中,输入信号的幅度要求为0.5V-5V可变时,所测的频率变化范围不得大于1%。又因后级电路使用了电压比较器LM339N,在反向输入信号采用分压方式固定了一个2.5V的门限电压。现在要解决的问题就是将低于2.5V的输入小信号进行放大,使信号的幅度低于2.5V以下时,其频率不变。采用脉冲数倍频测频法,通过A倍频,把待测信号频率放大A倍,以提高测量精度。先将输入信号经过一个放大电路,放大电路的主要作用是把微弱的电信号放大到负载所需的数值。当输入信号为正弦波、三角波等多种波形,我们要将各种输入波形转化成计数所能用到的方波脉冲波,即此电路为信号整形电路,本文用了一个电压比较器LM339N实现信号的整形。
(2)分频模块。本设计的频率范围为1Hz-10MHz,频率在1Hz-999999Hz内,六位数码管可显示,当频率在999999Hz-10MHz时,数码管不能够正确显示。这时需要将处于999999Hz-10MHz的频率进行分频,使测得的处于这段区域的频率值精确的显示在数码管上。我们可进行16分频即可解决问题。当频率为最大10M时,进过16分频后等于625000,可以在数码管上显示。在输入信号为单端的情况下,D触发器用起来最为方便,其状态方程为Qn+1=Qn,其输出状态的更新发生在CP脉冲的上升沿,故又称为上升沿触发的边沿触发器,触发器的状态只取决于时钟到来前D端的状态,D触发器的应用很广,可用作数字信号的寄存,移位寄存,分频和波形发生等。有很多种型号可供各种用途的需求而选用。在此构成16分频电路选用了D触发器。选用了SN74LS74AN的双上升沿D触发器构成16分频器。该电路由2片即4个上升沿触发的D触发器连接组成,使各D触发器均处于计数状态。分频后,由于干扰及传输线路的分布电容等因素而使信号发生畸变,出现前、后沿变坏或信号电平波形上叠加脉动干扰波等现象。本文用一个施密特触发器利用它的脉冲整形特性,就可以很好的解决干扰,得到一个方波送到单片机的定时器端。
(3)数码管显示电路。在设计中选用的是四位共阴数码管,实现0-9的数字显示,数码管显示驱动选用了高压输出驱动器SN7407N。
方案主要应用了89C52内部的定时器、中断、计数器和数据处理,其程序设计相应软件包括:主程序、数据处理、显示主程序等。利用AT89C51单片机的T0、T1进行定时、计数功能,设置T0为外部计算器,T1为中断定时器。完成对输入的信号进行频率计数,计数的频率结果通过6位动态数码管显示出来。要求能够对160HZ-1MHZ的信号频率进行准确计数,计数误差不超过1%。
(1)定时器T0、计数器T1的工作原理。先对定时器T0、计数器T1进行初始化设置,对一秒内的输入脉冲进行计数,计数的个数即为频率。T0为定时器工作方式,定时时间为1S,开中断。将T1设为计数器工作方式,待测输入脉冲从P3.5输入。其计数器处置清零,即TH1=00H,TL1=00H.在1S定时到时,在T0中断服务程序中,读取TH1TL1中计数值到内存中的频率单元。随后清零TH1TL1,以便下次读数。
(2)显示数据处理分析。在将内存单元计得的数进行二-十进制转换子程序转换为十进制数,并拆为非压缩BCD码后送显示缓冲区,调用显示子程序,送数码管延时显示频率值。
数字频率计以单片机STC89C52为核心,采用倍频测量法,根据频段设置倍频系数将低频输入信号进过放大、整形、分频后测量,高频段用定时、计数的方法测量频率,采用一个2个四位共阴的数码管显示6位数。测量范围从500Hz-1MHz的正弦波、方波的频率测量。所制作的频率计需要外围器件较少,适宜用于嵌入式系统。该频率计应用直接测量和相应的数据处理实现频率测量。