作者:唐志强
目 录
1、引言………………………………………………………………………………………………………………………….1
2、方案设计与初步论证……………………………………………………………………………………………1
2.1、频率测量方法的概述…………………………………………………………………………………………………………….2
2.1.1、脉冲数定时测频法(M法)………………………………………………………………………………………………2
2.1.2、脉冲周期测频法(T法)……………………………………………………………………………………………………2
2.1.3、脉冲数倍频测频法(AM法)……………………………………………………………………………………………2
2.1.4、脉冲数分频测频法(AT法)……………………………………………………………………………………………2
2.1.5、脉冲平均周期测频法(M/T法)………………………………………………………………………………………2
2.1.6、多周期同步测频法……………………………………………………………………………………………………………2
2.2、可用实验方案介绍…………………………………………………………………………………………………………………3
2.3、方案比较及选用依据……………………………………………………………………………………………………………4
3、各待测量的测量原理………………………………………………………………………………………….4
3.1、信号频率测量…………………………………………………………………………………………………………………………4
3.2、信号周期测量………………………………………………………………………………………………………………………….5
3.3、信号脉冲宽度测量…………………………………………………………………………………………………………………5
3.4、信号占空比测量………………………………………………………………………………………………………………………5
4、系统硬件电路原理…………………………………………………………………………………………………5
4.1、单片机总控制电路…………………………………………………………………………………………………………………5
4.2、小信号放大整形电路介绍……………………………………………………………………………………………………6
4.3、分频电路介绍………………………………………………………………………………………………………………………….7
4.4、按键控制电路介绍…………………………………………………………………………………………………………………8
4.5、发光二极管控制电路介绍……………………………………………………………………………………………………8
4.6、七位共阴数码管动态显示电路介绍…………………………………………………………………………………9
4.7、电源部分介绍……………………………………………………………………………………………………………………….10
5、系统软件设计………………………………………………………………………………………………………11
5.1、系统软件设计的流程图………………………………………………………………………………………………………11
6、系统电路调试与分析…………………………………………………………………………………………12
6.1、电路调试遇到的的问题………………………………………………………………………………………13
6.2、测试仪器………………………………………………………………………………………………………………14
6.3、测试数据记录………………………………………………………………………………………………………14
7、结论……………………………………………………………………………………………………………………….15
致谢…………………………………………………………………………………………………………………………………………………….17
参考文献……………………………………………………………………………………18
附件…………………………………………………………………………………………20
附件 1………………………………………………………………………………………33
简易数字频率计
摘 要:简易数字频率计是以AT89S51单片机为核心,结合中规模数字电路,实现频率、周期、脉冲宽度、占空比等物理量的测量。该系统利用了单片机的数字运算和控制功能,实现测量过程中的量程自动切换。用按键切换选取测量各待测量,用发光二极管指示各待测量和量程单位。系统能够测量周期性
的正弦波和方波等信号,频率范围是1HZ —10MHZ ,而且系统的精确度比较高。
关键词:单片机AT89S51,LED 显示,放大整形,分频,按键控制,C 语言
1、 引 言
频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器的测量、工业控制等其它领域。目前市场上的频率计产品很多,但基本上都是采用专用计数芯片如(ICM7240,ICM7216)和数字逻辑电路组成,由于这些芯片本身的工作频率不高(如ICM7240仅有15MHZ 左右),从而限制了产品工作频率的提高,远不能满足在一些特殊的场合需要测量很高的频率要求,而且测量精度也受到芯片本身极大的限制。从80年代单片机引入我国至今,单片机已广泛地应用于电子设计中,使频率计智能化水平在广度和深度上产生了质的飞跃,数字化也成为了电子设计的必由之路。运用51系列单片机和中规模的数字电路组合设计频率计,并采用适当的算法取代传统电路,不仅能克服传统频率计结构复杂、稳定性差、精度不高的弊端,而且频率计性能也将大幅提高,可实现精度较高、等精度和宽范围频率计的要求。有一个值得研究的问题就是要实现一个宽频域、高精度的数字频率计,一种有效的方法是:在高频段直接采用测频率法,低频段采用测周法。传统的数字频率计本身无计算能力因而难以使用测周期法,而用AT89S51单片机构成的数字频率计却很容易做到这一点。随着单片机技术的不断发展,单片机能实现更加灵活的逻辑控制功能,具有很强的数据处理能力,可以用单片机通过软件设计直接
用十进制数字显示被测信号频率。
2、方案设计与初步论证
2.1、频率测量方法概述
直读法又称无源网络频率特性测量法;比较法是将被测频率信号与已知频率信号相比较 , 通过观察比较结果 , 获得被测信号的频率;电容充放电式计数法是利用电子电路控制电容器充放电的次数 , 再用电磁式仪表测量充放电电流的大小 , 从而测出被测信号的频率值;电子计数法是根据频率定义进行测量的一种方法 , 它是用电子计数器显示单位时间内通过被测信号的周期个数来实现频率的测量。利用电子计数式测量频率具有精度高、测量范围宽、显示醒目直观、测
量迅速 , 以及便于实现测量过程自动化等一系列优点 , 因此下面将重点介绍电子计数式测量频率的几种方法。
2.1.1、脉冲数定时测频法(M 法) :
此法是记录在确定时间 Tc 内待测信号的脉冲个数 Mx ,则待测频率为 :Fx= Mx/ Tc ,显然, 时间 Tc 为准确值, 测量的精度主要取决于计数 Mx 的误
差。其特点在于:测量方法简单;测量精度与待测信号频率和门控时间有关 , 当待测信号频率较低时 , 误差较大。
2.1.2、脉冲周期测频法(T法) :
此法是在待测信号的一个周期 Tx 内, 记录标准频率信号变化次数 Mo 。这种方法测出的频率是: Fx = Mo/ Tx ,此法的特点是低频检测时精度高 , 但当
高频检测时误差较大。
2.1.3、脉冲数倍频测频法(AM法) :
此法是为克服 M 法在低频测量时精度不高的缺陷发展起来的。通过 A 倍频, 把待测信号频率放大 A 倍, 以提高测量精度。其待测频率为: Fx= Mx/
ATo
其特点是待测信号脉冲间隔减小 , 间隔误差降低; 精度比 M 法高A 倍 , 但控制电路较复杂。
2.1.4、脉冲数分频测频法(AT法) :
此法是为了提高T 法高频测量时的精度形成的。由于T 法测量时要求待测信号的周期不能太短 , 所以可通过A 分频使待测信号的周期扩大A 倍, 所测频
率为: Fx = AMo/ Tx,其特点是高频测量精度比T 法高A 倍; 但控制电路也较复杂。
2.1.5、脉冲平均周期测频法(M/ T法) :
此法是在闸门时间 Tc 内, 同时用两个计数器分别记录待测信号的脉冲数 Mx 和标准信号的脉冲数Mo 。若标准信号的频率为Fo ,则待测信号频率为 :
Fx = FoMx/ Mo ,M/ T 法在测高频时精度较高 ; 但在测低频时精度较低。
2.1.6、多周期同步测频法:
此法是由闸门时间Tc 与同步门控时间Td 共同控制计数器计数的一种测量方法, 待测信号频率与 M/ T法相同。此法的优点是 , 闸门时间与被测信号同步, 消除了对被测信号计数产生的±1个字误差 , 测量精度大大提高 , 且测量精度与待测信号的频率无关, 达到了在整个测量频段等精度测量。
2.2、可用实验方案介绍:
方案一、传统的频率计。该系统测频部分采用中小规模数字集成电路, 用机械式功能转换开关换挡, 完成对不同频率的测量. 该方案的特点是中小规模数字集成电路应用技术成熟, 能可靠地完成频率计的基本功能, 但由于完成功能所需元器件较多, 电路过于复杂, 而且多量程换挡开关使用不便。原理框图如下图
2—1:
显示
锁存器
计数器
整形电路
信号
延迟反向器
单稳态触发器
T 触发器
分频器
时钟
量程转换开关
图2—1
方案二、系统采用可编程逻辑器件(PLD,如ATV 2500)作为信号处理及系统控制核心,完成包括计数、门控、显示等一系列工作。该方案利用了PLD 的可编程和大规模集成的特点,使电路大为简化,但此题使用PLD 则不能充分发挥其特点及优势,并且测量精度不够高,导致系统性能价格比降低、系统功能
扩展受到限制。原理框图如下图2—2:
放大整形
控制电路
数据显示
信号号
图2—2
方案三、系统采用MCS-51系列单片机AT89S51作为控制核心,门控信号由AT89S51内部的计数定时器产生,由于单片机的计数频率上限较低(12MHz 晶振时约500KHz ),所以需对高频预测信号进行硬件预分频处理,AT89S51则完成运算、控制及显示功能。由于使用了单片机,使整个系统具有极为灵活的
可编程性,能方便地对系统进行功能扩展与改进。原理框图如下图2-3:
按键控制
驱动数码管显示
驱动发光二极管显示
信号
图2—3
2.3、方案比较及选用依据:
显然方案二要比方案一简洁、新颖,但从系统设计的指标要求上看,要实现频率的测量范围1Hz ~1MHz ,对频率下限为1Hz 来说,要达到误差小于0.1%的目的,必须显示4位有效数字;而使用直接测频的方法,要达到这个测量精度,需要主门连续开启1000s ,由此可见,直接测频方法对低频测量是不现实的,而采用带有运算器的单片机则可以很容易地解决这个问题,实现课题要求。也就是采用先测信号的周期,然后再通过单片机求周期的倒数的方法,从而得到我所需要的低频信号的测量精度。另外由于使用了功能较强的S51芯片,是本系统可以通过对软件改进而扩展功能,提高测量精度,因此我选用了方案三
作为具体实施的方案。
3、各待测量的测量原理:
3.1、信号频率测量:
由于单片机具有程序运算功能,且频率为周期的倒数,使频率测量与周期测量可以互通。频率测量的基本原理:按照频率的定义,即单位时间内周期信号的发生次数,晶体振荡器为单片机提供了振荡信号。对于中频信号,信号经过放大整形后进入单片机进行运算。S51内部的定时器T0进行计时,计数器T1进行计数。若计时值为t, 计数值为N ,则被测频率为f=N/t;对于高频信号,信号经过放大整形,再分频后进入单片机系统。设T0定时器计时为t1,T1计数器计数为N1,则被测频率为f1=MN1/t1。M 为分频系数,该系数由软件设定。本设计中由于测量低频信号频率难度较大,故采用周期测量法[4]测低频信号,测量范围为1Hz ~1KHz 。对于中频信号采用直接频率测量法[4],测量范围为1KHz ~16KHz 。对于高频信号,采用对信号先分频(本系统设计中采用了16分频),
再测量频率的方法,范围为16KHZ ~10MHz 。信号频率范围由单片机程序控制自动实现,此法可最大提高测量精度。
3.2、信号周期测量:
对于低频信号采用周期测量法。周期测量与频率测量法的基本原理是相同的,只是把测出的频率值取倒数即得到周期值。即周期为T=1/F。周期测量中,利用T0和T1来测定信号周期数,分频系数靠软件设定,能在很宽的范围内调节(0-65535),可适应很宽测量范围的精度,因此利用一个字节单元作为
T0计数器的扩展软件计数器,T1用作为参考晶体振荡的计数器,计数器的启停受被测信号的控制。
3.3、信号脉冲宽度测量:
根据题目要求可知,脉冲宽度测量范围大于等于100us ,即测量脉冲频率小于等于10KHz 。当信号频率小于等于10KHz 时,C51内部计数器T1计数
为n ,即脉宽为W=n*1us。
3.4、信号占空比测量:
测一个脉冲信号的脉宽,记其值为Twx1;信号反相后, 再测一次脉宽并记录其值Twx2, 通过以下公式汁算:占空比=[Twx1/(Twx1+Twx2)]×100%
4、系统硬件电路原理:
本系统由单片机AT89S51, 分频器用74HC161芯片实现16分频,与门74LS21以及非门CD4069等组成。具体电路介绍如下:
4.1、单片机总控制电路[1]
单片机总控制电路如下图4—1:
图4—1单片机总控制电路
4.2、小信号放大整形电路介绍
本系统中的小信号放大整形电路采用的主要芯片是CD4069,三个非门各自并联一个1M 的电阻并首尾相连,以组成两级放大并由最后一级整形反相C0端输出,一路直接输入到单片机口,另一路经过分频,然后再输入到单片机口。注意在输入端串联一个0.1uF-1uF 的隔直电容才能工作。模块原理图如下图
4—2:
图4—2小信号放大整形电路
上图的非门放大原理:非门电路在高低电平转换之间, 即载止与饱和之间,有一过渡区, 这一段过渡区就是放大区(线性区) ,接法就是将1M 电阻接至非
门的输入与输出之间作为直流偏置电阻. 这时, 非门工作于放大区. 就可作放大器用了。
4.3、 分频电路介绍
本系统分频电路[5]模块原理图如下图4—3:
图4—3分频电路
本系统分频电路如上图1、7、10、16引脚接电源,3、4、5、6引脚接地,放大整形后的波形信号从2引脚输入,分频后再从15引脚输出,15引脚
通过非门接到9引脚,也就是进位信号通过非门反馈给数据控制端,这样就可以实现16分频了。
该芯片的功能是一个计数器,该电路的工作原理是预置数据输入端置成0000状态(也就是D3D2D1D0都接地),该电路就从0000状态开始加1计数,输入第15个CP 脉冲后到达1111状态,此时TC (15引脚)=CET(10引脚)*Q3*Q2*Q1*Q0=1,PE0(9引脚)=0,但该信号是从进位信号TC (15引脚)输出,因此在第16个CP 脉冲作用后,Q3Q2Q1Q0被置成0000状态,同时使TC=0,PE0=1。新的计数周期又从0000开始。这样就实现了16分频。
16分频的时序图如下图4—4:
图4—4 16分频的时序图
4.4、 按键控制电路介绍
按键电路模块如下图4—5:
图4—5按键控制电路
其中按键S1是频率显示控制键,按键S2是周期显示控制键,按键S3是脉冲宽度显示控制键,按键S4是占空比显示控制键。
4.5、 发光二极管控制电路介绍
发光二极管控制电路模块如下图4—6:
图4—6发光二极管控制电路
其中发光二极管D1发光代表时间单位是ms ,发光二极管D8发光代表时间单位是us ,发光二极管D2发光代表频率单位是HZ ,发光二极管D9发光代表频率单位是KHZ ,发光二极管D4发光代表测的是占空比,发光二极管D5发光代表测的是频率,发光二极管D6发光代表测的是周期,发光二极管D7发
光代表测的是脉冲宽度。
4.6、 七位共阴数码管动态显示电路介绍
本系统的LED 的段选由P0口控制,由于P0口内部没有上拉电阻,又因为从P0口输出的电流不能驱动LED 显示,因此要加上拉电阻增大电流驱动
LED 显示。本系统LED 的位选由P2口控制。模块电路图如下图4—7:
图4—7七位共阴数码管动态显示电路
4.7、 电源部分[6]介绍
由于本系统对电源要求不高, 因此采用由三端稳压管构成的稳压电源. 交流电经变压器降压、整流、滤波、稳压之后就得到系统所需要的电源. 要求输出
电压为5V 。具体电路中有关有关元器件参数介绍如下。
整流电路:采用全波整流, 它输出的波形的脉动成分比较小, 但所需要的整流管需承受至少等于 , 因此选择1N4007已经足够。
滤波电路:采用电容滤波,为使滤波效果更好, 可选电容容量为1000 ,耐压为25V 的电解电容。
稳压电路:三端稳压管选用78L05, 它的模型如下图4—8:
图4—8稳压芯片
电源电路如下图4—9:
图4—9电源电路
5、系统软件设计[3]
软件设计是本次设计的重点,也是难点。本系统软件设计利用了AT89S51单片机的T0、T1的定时、计数器的功能,来完成对输入的信号进行频率计数,计数的频率结果通过4位动态数码管显示出来。要求能够对1HZ —10MHZ 的信号频率进行准确计数,其中高频部分采用了分频处理。主体程序由测量和换算子程序组成,分别完成输入频率量频率的测量,周期的测量,脉冲宽度的测量和占空比的测量。其中测量频率部分分三个子程序,分别完成1HZ~1KHZ,
1KHZ~16KHZ,16KHZ 以上的频率、周期测量。测周期部分与相应频率类似。
5.1、系统软件设计的流程图:
内部RAM 初始化
中断系统初始化
开始
频率判决
中断按键按下否
N
Y
T0、T1初始化
1KHZ/16KHZ
10KHZ
频率是否是1KHZ 以上
T0、T1初始化
N
频率是否是10KHZ 以下
测量小于1KHZ 频率、周期
N
Y
频率是否16KHZ 以上
Y
Y
测量大于16KHZ 频率、周期
测量脉冲宽度
测量占空比
N
测量1KHZ~16KHZ频率、周期
数据显示
本系统软件设计主体程序采用了AT89S51单片机的中断、定时、计数功能。测量频率、周期部分分三个子程序,通过定时、计数的运算,分别完成1HZ~1KHZ,
1KHZ~16KHZ,16KHZ 以上的频率、周期测量。测量脉冲宽度利用到外部中断1,等待高低电平的到来。
小段程序说明如下:
void INT_0(void) interrupt 0
{
P1=0xff;
key=P1;
Measure();
}
该程序段说明了利用按键来控制各待测量的测量,开始使P1置高平,这样按键也为高电平,而外部中断0是低电平有效,当按键按下后变为低电平
后,外部中断0响应,程序就跳转到Measure()这一段去执行
6、系统电路调试与分析
6.1、电路调试遇到的问题
(1)、硬件电路焊完后,经目测线路基本上没有什么问题,然后把程序烧写到单片机后插到硬件电路中去,接上+5V电源,数码管显示的是乱码,而且与程序当中设定的初始状态不一致,这时我想可能是硬件电路有问题,可能一时粗心大意吧,有些地方没有焊接好,于是用指针式万用表检查电路后,发现
电路有虚焊,重新把虚焊的一些脚焊好后,再接上+5V电源实现了与我在程序当中设定的初始状态,问题解决。
(2)、前面(1)的问题解决后,经测试,发现数码管没有显示小数点,没有出来我在程序当中设定的效果,我用数字万用表数码管的小数点段,小
数点不亮,于是我判断数码管有问题;我换了数码管后,在测试中,小数点亮了,问题解决。
(3)、前面(1)、(2)两个问题解决后,经过多次测量后,发现测比较高的频率精确度高,但是测比较低的频率精确度低。这个问题我思考了很久,也没有解决, 后来通过在互联网上查相关资料, 发现输入隔直电容会影响低频输入脉冲信号的波形质量。于是我就把输入隔直电容换了一个0.22uF 的普通电容
后,再进行了多次测量后, 经测试发现不管是测低频还是测高频精确度都是很高的,精确度几乎接近标准频率计仪器。问题解决。
6.2、测试仪器
测试仪器如下表6—1
表6—1测试仪器
作者:唐志强
目 录
1、引言………………………………………………………………………………………………………………………….1
2、方案设计与初步论证……………………………………………………………………………………………1
2.1、频率测量方法的概述…………………………………………………………………………………………………………….2
2.1.1、脉冲数定时测频法(M法)………………………………………………………………………………………………2
2.1.2、脉冲周期测频法(T法)……………………………………………………………………………………………………2
2.1.3、脉冲数倍频测频法(AM法)……………………………………………………………………………………………2
2.1.4、脉冲数分频测频法(AT法)……………………………………………………………………………………………2
2.1.5、脉冲平均周期测频法(M/T法)………………………………………………………………………………………2
2.1.6、多周期同步测频法……………………………………………………………………………………………………………2
2.2、可用实验方案介绍…………………………………………………………………………………………………………………3
2.3、方案比较及选用依据……………………………………………………………………………………………………………4
3、各待测量的测量原理………………………………………………………………………………………….4
3.1、信号频率测量…………………………………………………………………………………………………………………………4
3.2、信号周期测量………………………………………………………………………………………………………………………….5
3.3、信号脉冲宽度测量…………………………………………………………………………………………………………………5
3.4、信号占空比测量………………………………………………………………………………………………………………………5
4、系统硬件电路原理…………………………………………………………………………………………………5
4.1、单片机总控制电路…………………………………………………………………………………………………………………5
4.2、小信号放大整形电路介绍……………………………………………………………………………………………………6
4.3、分频电路介绍………………………………………………………………………………………………………………………….7
4.4、按键控制电路介绍…………………………………………………………………………………………………………………8
4.5、发光二极管控制电路介绍……………………………………………………………………………………………………8
4.6、七位共阴数码管动态显示电路介绍…………………………………………………………………………………9
4.7、电源部分介绍……………………………………………………………………………………………………………………….10
5、系统软件设计………………………………………………………………………………………………………11
5.1、系统软件设计的流程图………………………………………………………………………………………………………11
6、系统电路调试与分析…………………………………………………………………………………………12
6.1、电路调试遇到的的问题………………………………………………………………………………………13
6.2、测试仪器………………………………………………………………………………………………………………14
6.3、测试数据记录………………………………………………………………………………………………………14
7、结论……………………………………………………………………………………………………………………….15
致谢…………………………………………………………………………………………………………………………………………………….17
参考文献……………………………………………………………………………………18
附件…………………………………………………………………………………………20
附件 1………………………………………………………………………………………33
简易数字频率计
摘 要:简易数字频率计是以AT89S51单片机为核心,结合中规模数字电路,实现频率、周期、脉冲宽度、占空比等物理量的测量。该系统利用了单片机的数字运算和控制功能,实现测量过程中的量程自动切换。用按键切换选取测量各待测量,用发光二极管指示各待测量和量程单位。系统能够测量周期性
的正弦波和方波等信号,频率范围是1HZ —10MHZ ,而且系统的精确度比较高。
关键词:单片机AT89S51,LED 显示,放大整形,分频,按键控制,C 语言
1、 引 言
频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器的测量、工业控制等其它领域。目前市场上的频率计产品很多,但基本上都是采用专用计数芯片如(ICM7240,ICM7216)和数字逻辑电路组成,由于这些芯片本身的工作频率不高(如ICM7240仅有15MHZ 左右),从而限制了产品工作频率的提高,远不能满足在一些特殊的场合需要测量很高的频率要求,而且测量精度也受到芯片本身极大的限制。从80年代单片机引入我国至今,单片机已广泛地应用于电子设计中,使频率计智能化水平在广度和深度上产生了质的飞跃,数字化也成为了电子设计的必由之路。运用51系列单片机和中规模的数字电路组合设计频率计,并采用适当的算法取代传统电路,不仅能克服传统频率计结构复杂、稳定性差、精度不高的弊端,而且频率计性能也将大幅提高,可实现精度较高、等精度和宽范围频率计的要求。有一个值得研究的问题就是要实现一个宽频域、高精度的数字频率计,一种有效的方法是:在高频段直接采用测频率法,低频段采用测周法。传统的数字频率计本身无计算能力因而难以使用测周期法,而用AT89S51单片机构成的数字频率计却很容易做到这一点。随着单片机技术的不断发展,单片机能实现更加灵活的逻辑控制功能,具有很强的数据处理能力,可以用单片机通过软件设计直接
用十进制数字显示被测信号频率。
2、方案设计与初步论证
2.1、频率测量方法概述
直读法又称无源网络频率特性测量法;比较法是将被测频率信号与已知频率信号相比较 , 通过观察比较结果 , 获得被测信号的频率;电容充放电式计数法是利用电子电路控制电容器充放电的次数 , 再用电磁式仪表测量充放电电流的大小 , 从而测出被测信号的频率值;电子计数法是根据频率定义进行测量的一种方法 , 它是用电子计数器显示单位时间内通过被测信号的周期个数来实现频率的测量。利用电子计数式测量频率具有精度高、测量范围宽、显示醒目直观、测
量迅速 , 以及便于实现测量过程自动化等一系列优点 , 因此下面将重点介绍电子计数式测量频率的几种方法。
2.1.1、脉冲数定时测频法(M 法) :
此法是记录在确定时间 Tc 内待测信号的脉冲个数 Mx ,则待测频率为 :Fx= Mx/ Tc ,显然, 时间 Tc 为准确值, 测量的精度主要取决于计数 Mx 的误
差。其特点在于:测量方法简单;测量精度与待测信号频率和门控时间有关 , 当待测信号频率较低时 , 误差较大。
2.1.2、脉冲周期测频法(T法) :
此法是在待测信号的一个周期 Tx 内, 记录标准频率信号变化次数 Mo 。这种方法测出的频率是: Fx = Mo/ Tx ,此法的特点是低频检测时精度高 , 但当
高频检测时误差较大。
2.1.3、脉冲数倍频测频法(AM法) :
此法是为克服 M 法在低频测量时精度不高的缺陷发展起来的。通过 A 倍频, 把待测信号频率放大 A 倍, 以提高测量精度。其待测频率为: Fx= Mx/
ATo
其特点是待测信号脉冲间隔减小 , 间隔误差降低; 精度比 M 法高A 倍 , 但控制电路较复杂。
2.1.4、脉冲数分频测频法(AT法) :
此法是为了提高T 法高频测量时的精度形成的。由于T 法测量时要求待测信号的周期不能太短 , 所以可通过A 分频使待测信号的周期扩大A 倍, 所测频
率为: Fx = AMo/ Tx,其特点是高频测量精度比T 法高A 倍; 但控制电路也较复杂。
2.1.5、脉冲平均周期测频法(M/ T法) :
此法是在闸门时间 Tc 内, 同时用两个计数器分别记录待测信号的脉冲数 Mx 和标准信号的脉冲数Mo 。若标准信号的频率为Fo ,则待测信号频率为 :
Fx = FoMx/ Mo ,M/ T 法在测高频时精度较高 ; 但在测低频时精度较低。
2.1.6、多周期同步测频法:
此法是由闸门时间Tc 与同步门控时间Td 共同控制计数器计数的一种测量方法, 待测信号频率与 M/ T法相同。此法的优点是 , 闸门时间与被测信号同步, 消除了对被测信号计数产生的±1个字误差 , 测量精度大大提高 , 且测量精度与待测信号的频率无关, 达到了在整个测量频段等精度测量。
2.2、可用实验方案介绍:
方案一、传统的频率计。该系统测频部分采用中小规模数字集成电路, 用机械式功能转换开关换挡, 完成对不同频率的测量. 该方案的特点是中小规模数字集成电路应用技术成熟, 能可靠地完成频率计的基本功能, 但由于完成功能所需元器件较多, 电路过于复杂, 而且多量程换挡开关使用不便。原理框图如下图
2—1:
显示
锁存器
计数器
整形电路
信号
延迟反向器
单稳态触发器
T 触发器
分频器
时钟
量程转换开关
图2—1
方案二、系统采用可编程逻辑器件(PLD,如ATV 2500)作为信号处理及系统控制核心,完成包括计数、门控、显示等一系列工作。该方案利用了PLD 的可编程和大规模集成的特点,使电路大为简化,但此题使用PLD 则不能充分发挥其特点及优势,并且测量精度不够高,导致系统性能价格比降低、系统功能
扩展受到限制。原理框图如下图2—2:
放大整形
控制电路
数据显示
信号号
图2—2
方案三、系统采用MCS-51系列单片机AT89S51作为控制核心,门控信号由AT89S51内部的计数定时器产生,由于单片机的计数频率上限较低(12MHz 晶振时约500KHz ),所以需对高频预测信号进行硬件预分频处理,AT89S51则完成运算、控制及显示功能。由于使用了单片机,使整个系统具有极为灵活的
可编程性,能方便地对系统进行功能扩展与改进。原理框图如下图2-3:
按键控制
驱动数码管显示
驱动发光二极管显示
信号
图2—3
2.3、方案比较及选用依据:
显然方案二要比方案一简洁、新颖,但从系统设计的指标要求上看,要实现频率的测量范围1Hz ~1MHz ,对频率下限为1Hz 来说,要达到误差小于0.1%的目的,必须显示4位有效数字;而使用直接测频的方法,要达到这个测量精度,需要主门连续开启1000s ,由此可见,直接测频方法对低频测量是不现实的,而采用带有运算器的单片机则可以很容易地解决这个问题,实现课题要求。也就是采用先测信号的周期,然后再通过单片机求周期的倒数的方法,从而得到我所需要的低频信号的测量精度。另外由于使用了功能较强的S51芯片,是本系统可以通过对软件改进而扩展功能,提高测量精度,因此我选用了方案三
作为具体实施的方案。
3、各待测量的测量原理:
3.1、信号频率测量:
由于单片机具有程序运算功能,且频率为周期的倒数,使频率测量与周期测量可以互通。频率测量的基本原理:按照频率的定义,即单位时间内周期信号的发生次数,晶体振荡器为单片机提供了振荡信号。对于中频信号,信号经过放大整形后进入单片机进行运算。S51内部的定时器T0进行计时,计数器T1进行计数。若计时值为t, 计数值为N ,则被测频率为f=N/t;对于高频信号,信号经过放大整形,再分频后进入单片机系统。设T0定时器计时为t1,T1计数器计数为N1,则被测频率为f1=MN1/t1。M 为分频系数,该系数由软件设定。本设计中由于测量低频信号频率难度较大,故采用周期测量法[4]测低频信号,测量范围为1Hz ~1KHz 。对于中频信号采用直接频率测量法[4],测量范围为1KHz ~16KHz 。对于高频信号,采用对信号先分频(本系统设计中采用了16分频),
再测量频率的方法,范围为16KHZ ~10MHz 。信号频率范围由单片机程序控制自动实现,此法可最大提高测量精度。
3.2、信号周期测量:
对于低频信号采用周期测量法。周期测量与频率测量法的基本原理是相同的,只是把测出的频率值取倒数即得到周期值。即周期为T=1/F。周期测量中,利用T0和T1来测定信号周期数,分频系数靠软件设定,能在很宽的范围内调节(0-65535),可适应很宽测量范围的精度,因此利用一个字节单元作为
T0计数器的扩展软件计数器,T1用作为参考晶体振荡的计数器,计数器的启停受被测信号的控制。
3.3、信号脉冲宽度测量:
根据题目要求可知,脉冲宽度测量范围大于等于100us ,即测量脉冲频率小于等于10KHz 。当信号频率小于等于10KHz 时,C51内部计数器T1计数
为n ,即脉宽为W=n*1us。
3.4、信号占空比测量:
测一个脉冲信号的脉宽,记其值为Twx1;信号反相后, 再测一次脉宽并记录其值Twx2, 通过以下公式汁算:占空比=[Twx1/(Twx1+Twx2)]×100%
4、系统硬件电路原理:
本系统由单片机AT89S51, 分频器用74HC161芯片实现16分频,与门74LS21以及非门CD4069等组成。具体电路介绍如下:
4.1、单片机总控制电路[1]
单片机总控制电路如下图4—1:
图4—1单片机总控制电路
4.2、小信号放大整形电路介绍
本系统中的小信号放大整形电路采用的主要芯片是CD4069,三个非门各自并联一个1M 的电阻并首尾相连,以组成两级放大并由最后一级整形反相C0端输出,一路直接输入到单片机口,另一路经过分频,然后再输入到单片机口。注意在输入端串联一个0.1uF-1uF 的隔直电容才能工作。模块原理图如下图
4—2:
图4—2小信号放大整形电路
上图的非门放大原理:非门电路在高低电平转换之间, 即载止与饱和之间,有一过渡区, 这一段过渡区就是放大区(线性区) ,接法就是将1M 电阻接至非
门的输入与输出之间作为直流偏置电阻. 这时, 非门工作于放大区. 就可作放大器用了。
4.3、 分频电路介绍
本系统分频电路[5]模块原理图如下图4—3:
图4—3分频电路
本系统分频电路如上图1、7、10、16引脚接电源,3、4、5、6引脚接地,放大整形后的波形信号从2引脚输入,分频后再从15引脚输出,15引脚
通过非门接到9引脚,也就是进位信号通过非门反馈给数据控制端,这样就可以实现16分频了。
该芯片的功能是一个计数器,该电路的工作原理是预置数据输入端置成0000状态(也就是D3D2D1D0都接地),该电路就从0000状态开始加1计数,输入第15个CP 脉冲后到达1111状态,此时TC (15引脚)=CET(10引脚)*Q3*Q2*Q1*Q0=1,PE0(9引脚)=0,但该信号是从进位信号TC (15引脚)输出,因此在第16个CP 脉冲作用后,Q3Q2Q1Q0被置成0000状态,同时使TC=0,PE0=1。新的计数周期又从0000开始。这样就实现了16分频。
16分频的时序图如下图4—4:
图4—4 16分频的时序图
4.4、 按键控制电路介绍
按键电路模块如下图4—5:
图4—5按键控制电路
其中按键S1是频率显示控制键,按键S2是周期显示控制键,按键S3是脉冲宽度显示控制键,按键S4是占空比显示控制键。
4.5、 发光二极管控制电路介绍
发光二极管控制电路模块如下图4—6:
图4—6发光二极管控制电路
其中发光二极管D1发光代表时间单位是ms ,发光二极管D8发光代表时间单位是us ,发光二极管D2发光代表频率单位是HZ ,发光二极管D9发光代表频率单位是KHZ ,发光二极管D4发光代表测的是占空比,发光二极管D5发光代表测的是频率,发光二极管D6发光代表测的是周期,发光二极管D7发
光代表测的是脉冲宽度。
4.6、 七位共阴数码管动态显示电路介绍
本系统的LED 的段选由P0口控制,由于P0口内部没有上拉电阻,又因为从P0口输出的电流不能驱动LED 显示,因此要加上拉电阻增大电流驱动
LED 显示。本系统LED 的位选由P2口控制。模块电路图如下图4—7:
图4—7七位共阴数码管动态显示电路
4.7、 电源部分[6]介绍
由于本系统对电源要求不高, 因此采用由三端稳压管构成的稳压电源. 交流电经变压器降压、整流、滤波、稳压之后就得到系统所需要的电源. 要求输出
电压为5V 。具体电路中有关有关元器件参数介绍如下。
整流电路:采用全波整流, 它输出的波形的脉动成分比较小, 但所需要的整流管需承受至少等于 , 因此选择1N4007已经足够。
滤波电路:采用电容滤波,为使滤波效果更好, 可选电容容量为1000 ,耐压为25V 的电解电容。
稳压电路:三端稳压管选用78L05, 它的模型如下图4—8:
图4—8稳压芯片
电源电路如下图4—9:
图4—9电源电路
5、系统软件设计[3]
软件设计是本次设计的重点,也是难点。本系统软件设计利用了AT89S51单片机的T0、T1的定时、计数器的功能,来完成对输入的信号进行频率计数,计数的频率结果通过4位动态数码管显示出来。要求能够对1HZ —10MHZ 的信号频率进行准确计数,其中高频部分采用了分频处理。主体程序由测量和换算子程序组成,分别完成输入频率量频率的测量,周期的测量,脉冲宽度的测量和占空比的测量。其中测量频率部分分三个子程序,分别完成1HZ~1KHZ,
1KHZ~16KHZ,16KHZ 以上的频率、周期测量。测周期部分与相应频率类似。
5.1、系统软件设计的流程图:
内部RAM 初始化
中断系统初始化
开始
频率判决
中断按键按下否
N
Y
T0、T1初始化
1KHZ/16KHZ
10KHZ
频率是否是1KHZ 以上
T0、T1初始化
N
频率是否是10KHZ 以下
测量小于1KHZ 频率、周期
N
Y
频率是否16KHZ 以上
Y
Y
测量大于16KHZ 频率、周期
测量脉冲宽度
测量占空比
N
测量1KHZ~16KHZ频率、周期
数据显示
本系统软件设计主体程序采用了AT89S51单片机的中断、定时、计数功能。测量频率、周期部分分三个子程序,通过定时、计数的运算,分别完成1HZ~1KHZ,
1KHZ~16KHZ,16KHZ 以上的频率、周期测量。测量脉冲宽度利用到外部中断1,等待高低电平的到来。
小段程序说明如下:
void INT_0(void) interrupt 0
{
P1=0xff;
key=P1;
Measure();
}
该程序段说明了利用按键来控制各待测量的测量,开始使P1置高平,这样按键也为高电平,而外部中断0是低电平有效,当按键按下后变为低电平
后,外部中断0响应,程序就跳转到Measure()这一段去执行
6、系统电路调试与分析
6.1、电路调试遇到的问题
(1)、硬件电路焊完后,经目测线路基本上没有什么问题,然后把程序烧写到单片机后插到硬件电路中去,接上+5V电源,数码管显示的是乱码,而且与程序当中设定的初始状态不一致,这时我想可能是硬件电路有问题,可能一时粗心大意吧,有些地方没有焊接好,于是用指针式万用表检查电路后,发现
电路有虚焊,重新把虚焊的一些脚焊好后,再接上+5V电源实现了与我在程序当中设定的初始状态,问题解决。
(2)、前面(1)的问题解决后,经测试,发现数码管没有显示小数点,没有出来我在程序当中设定的效果,我用数字万用表数码管的小数点段,小
数点不亮,于是我判断数码管有问题;我换了数码管后,在测试中,小数点亮了,问题解决。
(3)、前面(1)、(2)两个问题解决后,经过多次测量后,发现测比较高的频率精确度高,但是测比较低的频率精确度低。这个问题我思考了很久,也没有解决, 后来通过在互联网上查相关资料, 发现输入隔直电容会影响低频输入脉冲信号的波形质量。于是我就把输入隔直电容换了一个0.22uF 的普通电容
后,再进行了多次测量后, 经测试发现不管是测低频还是测高频精确度都是很高的,精确度几乎接近标准频率计仪器。问题解决。
6.2、测试仪器
测试仪器如下表6—1
表6—1测试仪器