基于单片机控制的数字频率计设计 学位论文文档格式.docx
《基于单片机控制的数字频率计设计 学位论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的数字频率计设计 学位论文文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
摘要
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
电子计数器测频有两种方式:
一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;
二是间接测频法,如周期测频法。
直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。
本文阐述了基于通用集成电路设计了一个简单的数字频率计的过程。
关键词:
频率;
信号;
周期
ABSTRACT
Inelectronictechnology,thefrequencyisthemostbasiconeoftheparameters,andwithanumberofelectricalparametersofthemeasurementprogram,measurementmoreimportant,Thereareseveralwaysofmesuringfrequency,inwhichelectroniccounterthefrequencywithhighprecision,easytouse,quickmeasurements,andiseasytorealizetheadvatagesofautomaionofmeasurementprocessisanimportantmeansoffrequencymeasurement.ElectronicCounterFrequencyMeasurementTherearetwoways:
First,thedirectfrequencymeasurementmethod,thatis,thegateinacertainperiodoftimemeasuredthenumberofmeasuredsignalpulse;
2isindirectfrequencymeasurementmethod,suchascyclefrequencymeasurementmethod.Directfrequencymeasurementmethodforhigh-frequencysignalsoffrequencymeasurement,indirectfrequencymeasurementmethodforlow-frequencysignaldoffrequencymeasurement.Inthispaper,basedonacommomintegratedcircuitdesignofasimpledigitalfrequencymeterprocess.
Keywords:
frequency;
signal;
period
前言
频率仪器是数字电路中一个典型应用,实际的硬件设计用到的器件较多,联机比较复杂,而且会产生比较大的延迟。
随着复杂可编程逻辑器件的广泛应用,将使整个系统大大简化。
提高整体性能,它是直接用十进制数字来显示被测信号频率的一种测量装置。
它不仅可以测量正弦波,方波,三角波,尖脉冲信号和其他具有周期的信号的频率,而且还可以测量他们的周期。
经过改装,可以测量脉冲宽度,做成数字式脉宽测量仪:
可以测量电容做成数字电容测量仪;
在电路中增加传感器,还可以做成数字脉搏仪,计价器等。
因此数字频率仪在测量物理量方面的广泛应用。
频率计的设计原理实际上是测量单位时间内的周期数。
这种方法免去了实测以前的预测,同时节省了划分频率的时间,克服了原来高频率采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。
通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于1秒。
闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的时间隔就越长。
闸门时间越短,测得频率值刷新据越快,但测得的频率精度就受影响。
本论文的任务是设计一个基于单片机技术的数字频率计。
主要介绍了整形电路、控制电路和显示电路的构成原理,以及其测频的基本方法。
进行了相应的硬软件设计。
第1章频率计总体方案设计
1.1数字频率计概述
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字显示被测信号频率的数字测量仪器,它的基本功能是测量正弦信号、方波信号以及其他各种单位时间变化的物理量。
由于其使用十进制显示、测量迅速、精确度高、显示直观,所以经常要用到频率计。
1.2问题提出
在数字化时代,研究员和其他工作人员对基础测量仪器的要求越来越高,作为基础测量仪器之一的频率计必将有新的发展。
于是测量仪技术指标上不断提高,如测频精度高、抗干扰能力强等。
以满足不同层次用户的测试要求。
近几年,数字化仪器在迅速发展,我国也在不断研究推出各种新型数字化仪器,以适应当今科技发展。
在电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。
单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机到音响汽车等等,处处可见。
因此,可以说单片机技术的开发和应用水平已逐步成为一个国家工业发展水平的标志之一。
数字频率计作为一种常见的应用电子仪器设备,传统的一般可以完全由硬件电路搭接而成,如采用基于555定时器电路的多功能数字频率计的设计便是可取的路径之一,不用依靠单片机。
但是这种电路存在一些缺点,且测频精度也不如单片机的高。
在科学研究和生产实践中,如工业过程控制、生物医学、地震模拟机械振动等领域常常要用到频率计。
利用单片机采用程序设计方法来设计频率计,其测频精度高。
且线路相对简单、结构紧凑、价格低廉、系统稳定度高、抗干扰能力强,用途广泛等优点。
1.3设计思路
利用施密特触发器将边缘缓慢变化的周期性信号如正弦波、三角波或任意形状的模拟信号变换成同频率的矩形脉冲。
通过MCS-51系列单片机内部的两个十六位定时/计数器测量出某一段时间内的外加脉冲数,通过处理数码管直接显示出所加信号的频率。
单片机内部的T0用来定时,T1用来计数(下降沿触发)。
当来一个计数脉冲则计数一次。
在T0开始定时的同时,T1开始计数;
T0定时1s时间到时,T1停止计数。
方框图如图1所示。
图1施密特触发
第2章方案论证与比较
2.1方案选择
2.1.1总体方案比较
方案一:
采用数字逻辑电路制作,用IC拼凑焊接实现。
其特点是直接用现成的IC组合而成,简单并且带来一定的方便,但由于使用的零件较多、复杂的连线、占用空间较大、消耗的功率较大、焊点和线路较多将使成品稳定度与精确度大打折扣。
方案二:
采用复杂可编程逻辑器件(CPLD)制作,利用EDA软件编程,下载烧制实现。
将所有器件集成在一块芯片上,体积大大减小的同时还提高了稳定性,并且可应用EDA软件仿真,调试,每个设计人员都可以利用软件代码,提高开发效率、缩短研发周期、降低研发成本。
易于进行功能扩展,可以利用频率计的核心技术,改造成其它产品。
实现方法灵活,调试方便,修改容易。
比较以上两种方案,易见采用后者更优。
2.1.2测频方案比较
完全按定义式F=N/T进行测量。
在门限时间Tpr内,用计数器计数,获得数值N,频率由于公式计算得出。
此方案为传统的测频方案,其测量精度将随被测信号频率的下降而降低。
对被信号的周期进行测量,再利用F=1/T可得频率。
此方案当被测信号的周期较短时,会使精度大大下降。
方案三:
等精度测频,按定义式F=N/T进行测量。
被测信号和标准信号,在相同门限时间Tpr内,同时分别计数,而后对比得出被测信号频率Fx。
每个设计人员都可以利用软件代码,提高开发效率、缩短研发周期、降低研发成本。
易于进行功能扩展,易于进行功能扩展,可以利用频率计的核心技术,改造成其它产品。
可以利用频率计的此方案测频精度将不会随被测信号频率的下降而降低;
在相同的门限时间内测量精度恒定不变。
综上所述,选用第三种测频方案。
2.2测频原理
根据前面一节所述,下面详细介绍等精度测频原理:
为了提高测频的精度,采用等精度测频方法。
等精度测频的实现方法可以用图2来简化说明。
门控信号
标准信号
被测信号
图2等精度测频原理框图
图2中的门控信号是可预置的宽度为Tpr的一个脉冲。
COUNT1和COUNT2是两个可控计数器。
标准频率信号从COUNT1的时钟输入端CLK输入,其频率为Fs;
经整形后的被测信号从COUNT2的时钟输入端CLK输入,设实际频率为Fxe,被测量频率为Fx。
当门控信号为高电平时,被测信号的上沿通过D触发器的Q端同时启动计数器COUNT1和COUNT2,对被测信号Fx和标准信号Fs同时计数。
当门控信号为低电平,随后而至的被测信号的上沿将使这两个计数器同时关闭。
设在一次门控时间Tpr中对被测信号计数值为Nx,对标准频率信号的计数值为Ns。
则:
(1)
就可以得到被测信号的频率值为:
(2)
误差分析如下:
在一次测量中,由于Fx计数的起停时间都是由该信号的上升沿触发的,在Tpr时间内对Fx的计数Nx无误差;
在此时间内Fs的计数Ns最多相差一个脉冲,即有
,则下式成立:
(3)
(4)
由式(3),(4)得:
(5)
(6)
根据相对误差公式有:
(7)
将(5),(6)代入(7)整理得:
(8)
又因为:
(9)
所以:
(10)
即有:
(11)
其中:
(12)
由以上推导结果可得出下面结论:
1、相对测量误差与频率无关。
2、增大Tpr或提高Fs,可以增大Ns,减少测量误差,提高测量精度。
3、标准频率误差为
,由于晶体的稳定度很高,标准频率误差可以进行校准。
4、等精度测频方法测量精度与预置门宽度和标准频率有关,与被测信号的频率无关。
第3章数字频率计设计
3.1数字频率计原理
(1)测量控制电路,由一块CD4017和一块74LS04构成,其CP端输入1s脉冲信号,输出Q2用于计数器清零,Q1经过一个非门用于锁存,Q0经过一个非门用于计数测频。
(2)计数器,计数器以待测信号作为时钟,清零信号clear到来时,异步清零:
test-en为高电平时开始计数。
计数是以十进制数显示,如果需要测试较高的频率信号,则将dout的输出位数增加,当然锁存器位数也要增加。
(3)锁存器,当test-en下降沿到来时,将计数器的计数值锁存,这样可由外部的七段译码器译码并在数码管显示。
设置锁丰器的好处是暗淡无光的数据稳定,不会由于周期性的清零信号而不断闪烁。
锁存器的位数应跟计数器完全一增。
(4)电源电路,5V稳压输出供数字电路使用。
工作原理:
数字频率计是直接用十进制数字来暗淡显示被测信号频率的一种测量装置。
它不仅可以测量正弦波、方波、三角波、尖脉冲信号和其他具有周期特性的信号的频率,而且还可以测量它们的周期。
数字频率计由一个1秒钟脉冲产生电路、一个测量控制电路、一个计数器、一个锁存器和电源电路组成。
数字频率计是测1秒钟脉冲产生电路。
设计数字频率计的关键是设计一个测频率控制信号发生器,产生测量频率的控制时序。
控制时钟信号取为1Hz,2分频后即可产生一个脉宽为1秒的时钟test-en,以此作为计数闸门信号。
当test-en为高电平时,允许计数;
当test-en由高电平变为低电平时,应产生一个锁存信号,将计数值保存起来;
锁存数据后,还要在下次test-en上升沿到来之前产生零信号clear,将计数器清零,为下次计数作准备。
3.2数字频率计的主要技术指标
(1)频率准确度
一般用相对误差来表示,即
=±
(
+
)式中,
=
为量化误差(即±
1个字误差),是数字仪器所特有的误差,当闸门时间T选定后,
越低,量化误差越大;
为闸门时间相对误差,主要由时基电路标准频率的准确度决定,
《
。
(2)频率测量范围
在输入电压符合规定要求值时,能够正常进行测量的频率区间称为频率测量范围。
频率测量范围主要由放大整形电路的频率响应起决定。
(3)数字显示位数
频率计的数字显示位数决定了频率计的分辨率。
位数越多,分辨率越高。
(4)测量时间
频率计完成一次测量所需要的时间,包括准备、计数、锁存和复位时间。
3.3硬件电路设计
(1)计数脉冲形成电路:
用555定时器接成施密特触发器对外加的周期波进行变换,使之输出为矩形脉冲。
如图3所示
图3计数脉冲形成电路
(2)计数显示电路主要包括:
a、由ATMEL公司生产、晶振频率为12MHZ的8051单片机。
通过软件编程使它内部的定时器T0定时,T1对外部的所加脉冲计数。
然后把测量结果值通过P0口输出。
b、用4位七段共阴极数码管动态扫描方式显示。
多周期同步测量法的基本思路是使被测信号与闸门之间实现同步化,从而从根本上消除了在闸门时间内对被测信号进行计数时的±
1量化误差,使测量精度大大提高。
倒数计数器就是基于该方法而设计出来的一种具有创新思想的测频、测周期的仪器。
它采用多周期同步测量法,即测量输入多个(整数个)周期值,再进行倒数运算而求得频率。
其优点是:
可在整个测频范围内获得同样高的测试精度和分辨率。
系统级方案设计:
在选择多周期同步等精度测量法的情况下,按照自顶向下的设计方法,可以画出该频率计的系统级框图,如图4所示。
根据测周期、频率的原理,可以将总体框图分为三个子系统:
输入通道(即前置整形电路)该部分主要由模拟电路组成的;
多周期同步等精度频率、周期的测量、控制及功能切换(中间部分),该部分基本上由数字硬件电路组成;
单片机及外围电路,包括单片机、数码显示。
图4频率计的系统方框
(4)子系统设计
a.输入通道的设计。
输入通道是由前置放大器和整形器组成的,所以要对前置放大器的增益和带宽指标进行估计。
为了能准确测量信号,将输入信号经过一个放大整形电路。
其具体实施方案为:
将输入信号经过LM358运放放大,再通过74LS132整形,此时的信号还不能直接送入单片机,这是因为在硬件上CPU对INT0和INT1引脚的信号不能控制,解决这个问题要通过硬件,再配合软件来解决。
b.预置闸门时间发生电路设计。
闸门时间的确定,可以先由一个555定时器产生一个脉冲信号,将555产生的脉冲信号送入到74LS90十进制计数器当中,由于74LS90具有二-五进制混合计数的功能,所以可以用它来实现五进制计数,将74LS90的输出接到3—8线译码器74LS138的输入端,再将译码器的输出端接上五个发光二极管,这样就可以实现硬件上的闸门时间控制。
但是考虑到硬件实现上的复杂性,可以通过软件上来实现,就是将五个发光二极管直接接到单片机的P1口由软件上来实现,通过按键来改变它的闸门时间。
c.数码显示电路的设计。
该部分电路是由单向八位移位寄存器74LS164和数码管组成的。
考虑到精度的问题,取五位计数值,采用五片74LS164级联,同时还要显示频率和周期的单位,所以还需再级联一块74LS164,在74LS164的输出端接六个单位指示灯,分别表示周期频率的三个不同的单位数量级,即周期单位s,ms,μs和频率单位Hz,KHz及MHz。
移位寄存器的时钟信号是由单片机的串行输出口TXD脚控制。
3.4软件的设计
(1)子程序的设计
a.键盘中断服务子程序。
因该频率计的测量项目较多,所以在系统初始化时,将默认测量项目设置为测频,且预置闸门时间设置为1ms。
具体做法就是在主程序的系统初始化部分,将测频选择键的键值以及预置闸门时间设置代码写入单片机RAM单元中去。
这样开机后即使用户没有选择任何测量项目键,也能进行频率测量。
b.软件计数器子程序。
该频率计所需要的不同闸门预置时间信号是由单片机产生的。
由于预置闸门时间的范围很宽,最大值为10s,最小值为1ms,仅用单片机中的定时器硬件是不能实现的,需采用软硬件相结合的方法来实现。
其具体实现方案为将C/T0定时器/计数器设置为由引脚高电平启动的方式1定时器T0,初始化将其初值设为0.该计数器的启动过程如下:
主程序首先将单片机P1.6脚置为高电平(逻辑1)发出预置闸门信号,该信号经同步电路而产生高电平的同步门信号,从而使单片机引脚变为高电平,C/T0定时器中的计数器就被启动开始计数。
c.数据处理子程序。
当事件计数器和时间计数器的计数值NA,NB被读到单片机中后,通过调用数据处理子程序,根据过去读入并保存在单片机RAM单元中的测量项目的键值,预置闸门值代码,判断出所要测量的参数项目,对计数值NA,NB进行相应的处理,求出所测参数的值和单位,最后应将参数值转换为十进制数,再转换为驱动LED数码显示器的段码(每位包含5个数字段码和1个小数点)以及驱动三个单位符号指示灯之一的位码,作为显示子程序的输入数据,存放在9个RAM单元组成的显示缓冲区中。
对计数值NA,NB的处理运算要用到除法和乘法,为了提高运算精度,应当采用浮点运算。
显然,采用C语言来编写这些运算程序可大大提高编程效率。
(2)设计总原理图
图5原理图
3.5软件仿真
图6仿真图
软件程序
#include<
reg51.H>
unsignedcharcode
dispcode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsignedchara=0,b=0,c=0,d=0;
unsignedintpinlv=0;
unsignedlongintcount=0;
voiddelay()
{
intj;
for(j=0;
j<
2000;
j++);
}
voiddisplay()
{
a=pinlv/1000;
//千位
b=pinlv/100%10;
//百位
c=pinlv%100/10;
//十位
d=pinlv%10;
//个位
P2=0xfe;
P0=dispcode[a];
delay();
P2=0xfd;
P0=dispcode[b];
P2=0xfb;
P0=dispcode[c];
P2=0xf7;
P0=dispcode[d];
}
/*voiddelay1(n)
{inti,j;
for(i=0;
i<
n;
i++)
{for(j=0;
255;
j++){}
display();
}
}*/
voidmain(void)
EA=0;
TMOD=0x51;
//T0定时T1计数
TH0=15602/256;
//0x3c,T0定时50ms
TL0=15602%256;
//0x00
T1=1;
ET0=1;
EA=1;
TR1=1;
TR0=1;
while
(1)
{
}
voidtime0(void)interrupt1using2
{
ET0=0;
count++;
if(count==20)//T1计数20次
{
count=0;
TR1=0;
pinlv=TH1*256+TL1;
TH1=0;
TL1=0;
TR1=1;
//0x3c
TL0=15602%256;
//0x00
TR0=1;
//T1计数20次时产生中断,定时1S到
第4章基本元器件的阐述
4.1AT89C51单片机的介绍
AT89C51\[]是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图7AT89C51单片机
·
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
4.3管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,