数字频率计4位设计教程.docx
- 文档编号:12270132
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:31
- 大小:736.24KB
数字频率计4位设计教程.docx
《数字频率计4位设计教程.docx》由会员分享,可在线阅读,更多相关《数字频率计4位设计教程.docx(31页珍藏版)》请在冰豆网上搜索。
数字频率计4位设计教程
高精度数字频率计教程
高精度数字频率计
摘要:
本设计给出了以AT89C52为核心的数字式频率测量的基本原理与实现方案。
使用本系统,测量精度高,测量为1Hz~15MHz,输出显示为4位。
能够测量方波或正弦波。
关键词:
数字频率计频率测量放大波形整形单片机
引言:
频率和周期是电信号在时域内重要的特征,测量信号的频率和周期是认识一个信号的重要手段,在电子技术中,频率是最基本的参数之一,并且与许多参量的测量方案、测量结果都密切相关,因此频率计在教学、科研、测量仪器、工业控制等方面都有广泛的应用,频率测量的方法有很多种,其中电子计数测量频率具有精度高、使用方便、测量迅速、以及便于实现测量自动化等优点,是频率测量的重要手段之一,本设计就是使用计数的方法,以单片机AT89C51为控制核心,充分利用其软硬件资源,设计并制作了频率计的计数、显示部分。
一、原理分析
1.直接测频法:
直接测频法是把被测频率信号经脉冲形成电路后加到闸门的一个输入端,只有在闸门开通时间T(以秒计)内,被计数的脉冲被送到十进制计数器进行计数。
设计数器的值为N,由频率定义式可以计算得到被测信号频率为:
f=N/T。
经分析,本测量在低频段的相对测量误差较大。
增大T可以提高测量精度。
2.组合法:
直接测量周期法在低频段精度高。
组合测频法是指在低频时采用直接测量周期法测信号周期,然后换算成频率。
这种方法可以在一定程度上弥补方法1的不足,但是难以确定最佳的分测点,且电路实现较复杂。
3.倍频法:
直接测频法在高频段有着很高的精度。
可以把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数将经整形的低频信号进行倍频后再进行测量,高频段则进行直接测量。
4.高精度恒误差测频法:
通过对传统测量方法的研究,结合高精度恒误差测量原理,设计一种测量精度与被测频率无关的硬件测频电路。
本方法立足于快速的宽位数高精度浮点数字运算
二、设计要求
能够测量10mv-3v频率为1Hz—15Mhz的方波或正弦波
三、方案选择
方案1:
采用频率计模块(如ICM7216)构成,特点是结构简单,量程可以自动切换。
ICM7216内部带有放大整形电路,可以直接输入模拟信号。
外部振荡部分选用一块高精度晶振和两个低温系数电容构成10MHz并联振荡电路。
用转换开关选择10ms,0.1s,ls,10s四种闸门时间,同时量程自动切换,直接点亮LED。
方案2:
系统采用可编程逻辑器件(PLD,如ATV2500)作为信号处理及系统控制核心,完成包括计数、门控、显示等一系列工作。
该方案利用了PLD的可编程和大规模集成的特点,使电路大为简化,但此题使用PLD则不能充分发挥其特点及优势,并且测量精度不够高,导致系统性能价格比降低、系统功能扩展受到限制。
方案3:
系统采用MCS-51系列单片机89C51作为控制核心,性能好,价格便宜。
由于单片机的计数频率上限较低(12MHz晶振时约500kHz),所以需对高频被测信号进行硬件欲分频处理,89C51则完成运算、控制及显示功能。
由于使用了单片机,使整个系统具有极为灵活的可编程性,能方便地对系统进行功能扩展与改进。
方案比较及选用依据:
显然方案二要比方案一简洁、新颖,但从系统设计的指标要求上看,要实现频率的测量范围1Hz~10MHz。
要达到误差1%的目的,必须显示3位的有效数字,而使用直接测频的方法,要达到这个测量精度,需要主门连续开启1000s,由此可见,直接测频方法对低频测量是不现实的,而采用带有运算器的单片机则可以很容易地解决这个问题,实现课题要求。
故选用方案三,也就是采用先测信号的周期,然后再通过单片机求周期的倒数的方法,频率测量模块采用快速的高精度浮点数字运算,从而得到所需要的低频信号的测量精度。
四、系统设计
(一)硬件设计
1、设计思路
在信号输入单片机之前经过放大器放大,再经过一个施密特触发器将放大后的信号转换成为方波信号将信号先放大以便单片机可以检测到输入的外部信号,放大整形后的信号通过74hc08当74hc08的gate引脚为高电平时信号选通。
之后通过两个级联的74hc39316进制计数器,当第一个计数器M1的Q3端为1时向第二个计数器M2输出一个脉冲,当第二个计数器M2的Q3端为1时向单片机T0单口输入一个脉冲所以单片机计算的脉冲数应该为:
T0引脚接收的脉冲次数*256+单片机P1的逻辑电平状态转换成的二进制数,又因为定时器time1的定时时间为0.25ms当定时次数达到4000次时为1s。
本设计采用时间为1s的方案,所以有f=1/t知f=t,频率就等于单片机所记录的脉冲次数。
2、系统组成
频率计由单片机AT89C51、信号预处理电路、测量数据显示电路和系统软件所组成,其中信号预处理电路包含待测信号放大、波形变换、波形整形。
系统功能框图如图2所示,信号预处理电路中的放大器实现对待测信号的放大,降低对待测信号的幅度要;波形变换和波形整形电路实现把正弦波样的正负交替的信号波形变换成可被单片机接受的TTL/CMOS兼容信号。
本频率计的设计以AT89C51单片机为核心实现一个宽频域,高精度的频率计。
一种有效的方法是:
在高频段直接采用频率法,低频段采用测周期法。
一般的数字频率计本身无计算能力因而难以使用测周期,而用89c51单片机构成的频率计却很容易做到这一点。
3、系统功能框图:
4、硬件电路图
单片机时钟脉冲电路:
复位电路:
放大整形电路:
显示电路:
外围计数控制电路:
硬件电路总体图:
(二)软件设计
1.程序流程图
2.程序代码:
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharTab[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
ucharselect[]={0x01,0x02,0x04,0x08};
sbitp07=P0^7;
unsignedlongfre=0;
sbitclr=P3^0;
sbitgate=P3^1;
sbitturn=P3^7;
uintnum=0;
unsignedlonga=0;
unsignedcharb1,b2,b3,b4,b5,b6,b7;
uintj=0,counter=0;
unsignedlongintHight_byte=0,Low_byte=0;
unsignedchardispcount=0;
//1s延时------------------------------
voiddelay_1s(void)
{
ucharh,i,j,k;
for(h=5;h>0;h--)
for(i=4;i>0;i--)
for(j=116;j>0;j--)
for(k=214;k>0;k--);
}
//定时计数初始化----------------------------------
voidCT_init()
{
TMOD=0x25;//T0计数,T1定时
TH0=0x00;
TL0=0x00;
TH1=0x06;
TL1=0x06;
clr=1;
clr=0;
gate=0;
gate=1;
ET0=1;
ET1=1;
EA=1;
TR0=1;
TR1=1;
}
//主函数--------------------------------------
voidmain()
{
while
(1)
{
if(turn==0)
{
delay_1s();
CT_init();
while
(1)
{
a=Hight_byte*256+Low_byte;
if(a<=9999)
{
b1=a%10;//计算b1位//
a=a/10;
b2=a%10;//计算b2位//
a=a/10;
b3=a%10;//计算b3位//
a=a/10;
b4=a%10;//计算b4位//
a=a/10;
//b5=a%10;//计算b5位//
//a=a/10;
//b6=a%10;//计算b6位//
//a=a/10;
/*由于设计要求只能显示四位,所以显示的数据带有小数点不表示小数,小数点后面的位数的个数表示补零的个数。
例如1231.表示1231Hz,1.231表示1231000Hz。
*/
switch(dispcount)//4位动态扫描显示//
{
case0:
P2=0x00;P0=Tab[b1];P2=0x08;p07=0;break;
case1:
P2=0x00;P0=Tab[b2];P2=0x04;break;
case2:
P2=0x00;P0=Tab[b3];P2=0x02;break;
case3:
P2=0x00;P0=Tab[b4];P2=0x01;break;
}
dispcount++;
if(dispcount==4)
{
dispcount=0;
}
}
elseif(a>9999&&a<=99999)
{
b1=a%10;//计算b1位//
a=a/10;
b2=a%10;//计算b2位//
a=a/10;
b3=a%10;//计算b3位//
a=a/10;
b4=a%10;//计算b4位//
a=a/10;
b5=a%10;//计算b5位//
a=a/10;
b6=a%10;//计算b6位//
a=a/10;
switch(dispcount)//4位动态扫描显示//
{
case0:
P2=0x00;P0=Tab[b2];P2=0x08;break;
case1:
P2=0x00;P0=Tab[b3];P2=0x04;p07=0;break;
case2:
P2=0x00;P0=Tab[b4];P2=0x02;break;
case3:
P2=0x00;P0=Tab[b5];P2=0x01;break;
}
dispcount++;
if(dispcount==4)
{
dispcount=0;
}
}
elseif(a>99999&&a<=999999)
{
b1=a%10;//计算b1位//
a=a/10;
b2=a%10;//计算b2位//
a=a/10;
b3=a%10;//计算b3位//
a=a/10;
b4=a%10;//计算b4位//
a=a/10;
b5=a%10;//计算b5位//
a=a/10;
b6=a%10;//计算b6位//
a=a/10;
switch(dispcount)//4位动态扫描显示//
{
case0:
P2=0x00;P0=Tab[b3];P2=0x08;break;
case1:
P2=0x00;P0=Tab[b4];P2=0x04;break;
case2:
P2=0x00;P0=Tab[b5];P2=0x02;p07=0;break;
case3:
P2=0x00;P0=Tab[b6];P2=0x01;break;
}
dispcount++;
if(dispcount==4)
{
dispcount=0;
}
}
else
{
b1=a%10;//计算b1位//
a=a/10;
b2=a%10;//计算b2位//
a=a/10;
b3=a%10;//计算b3位//
a=a/10;
b4=a%10;//计算b4位//
a=a/10;
b5=a%10;//计算b5位//
a=a/10;
b6=a%10;//计算b6位//
a=a/10;
b7=a%10;
a=a/10;
switch(dispcount)//4位动态扫描显示//
{
case0:
P2=0x00;P0=Tab[b4];P2=0x08;break;
case1:
P2=0x00;P0=Tab[b5];P2=0x04;break;
case2:
P2=0x00;P0=Tab[b6];P2=0x02;break;
case3:
P2=0x00;P0=Tab[b7];P2=0x01;p07=0;break;
}
dispcount++;
if(dispcount==4)
{
dispcount=0;
}
}
}
}
else{;}
}
}
/*--------------------------------------------------------------*/
//定时器T1中断服务程序
voidT1_timer()interrupt3using3
{
if(num==4000)
{
gate=0;
TR0=0;TR1=0;
Hight_byte=TH0*256+TL0;
Low_byte=P1;
clr=1;
clr=0;
TH0=0x00;
TL0=0x00;
TH1=0x06;
TL1=0x06;
num=0;
gate=1;
TR0=1;TR1=1;
}
elsenum++;
}
五.系统测试与误差分析
1.测试环境
时间:
2011年5月6日星期五
温度:
26℃
2.测试仪器
带有protues的PC机
3.测试数据及误差
信号频率Hz
实际测量值Hz
误差Hz
3
3
0
1000
1000
0
2000
2000
0
5000
50002
2
20000
60002
2
100000
100000
0
500000
500001
1
1000000
100000
0
5000000
5000000
2
10000000
10000000
10
15000000
15000000
20
4、误差分析与误差减小
<1>误差分析
(1)由于闸门时间过小在测量低频信号时不能够准确测量。
(2)由于仿真软件在进行高频仿真时CPU过载导致仿真误差。
(3)在放大整形过程中出现失真。
<2>误差减小
(1)当被测信号频率一定时,增大门控时间,以减小误差的影响.
(2)测量低频率信号时:
将被测信号进行倍频后再送至主门,以提高计数脉冲频率,从而减小误差的。
六、参考文献:
《例说51单片机》人民邮电出版社张义和等
《单片机原理与应用实例仿真原理》李泉溪等
附:
相关芯片参考资料
op07中文资料
op07的功能介绍:
Op07芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电路。
由于OP07具有非常低的输入失调电压(对于OP07A最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。
OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。
特点:
超低偏移:
150μV最大 。
低输入偏置电流:
1.8nA。
低失调电压漂移:
0.5μV/℃ 。
超稳定,时间:
2μV/month最大
高电源电压范围:
±3V至±22V
图1OP07外型图片
图2OP07管脚图
OP07芯片引脚功能说明:
1和8为偏置平衡(调零端),2为反向输入端,3为正向输入端,4接地,5空脚6为输出,7接电源+
图3OP07内部电路图
ABSOLUTEMAXIMUMRATINGS最大额定值
Symbol符号
Parameter参数
Value数值
Unit单位
VCC
SupplyVoltage电源电压
±22
V
Vid
DifferentialInputVoltage差分输入电压
±30
V
Vi
InputVoltage输入电压
±22
V
Toper
OperatingTemperature工作温度
-40to+105
℃
Tstg
StorageTemperature贮藏温度
-65to+150
℃
电气特性
虚拟通道连接=±15V,Tamb=25℃(除非另有说明)
Symbol符号
Parameter参数及测试条件
最小
典型
最大
Unit单位
Vio
InputOffsetVoltage输入失调电压0℃≤Tamb≤+70℃
-
60
150250
μV
LongTermInputOffsetVoltageStability-(note1)长期输入偏置电压的稳定性
-
0.4
2
μV/Mo
DVio
InputOffsetVoltageDrift输入失调电压漂移
-
0.5
1.8
μV/℃
Iio
InputOffsetCurrent输入失调电流0℃≤Tamb≤+70℃
-
0.8
68
nA
DIio
InputOffsetCurrentDrift输入失调电流漂移
-
15
50
pA/℃
Iib
InputBiasCurrent输入偏置电流0℃≤Tamb≤+70℃
-
1.8
7
9
nA
DIib
InputBiasCurrentDrift输入偏置电流漂移
-
15
50
pA/℃
Ro
OpenLoopOutputResistance开环输出电阻
-
60
-
Ω
Rid
DifferentialInputResistance差分输入电阻
-
33
-
MΩ
Ric
CommonModeInputResistance共模输入电阻
-
120
-
GΩ
Vicm
InputCommonModeVoltageRange输入共模电压范围0℃≤Tamb≤+70℃
±13±13
±13.5
-
V
CMR
CommonModeRejectionRatio(Vi=Vicmmin)共模抑制比0℃≤Tamb≤+70℃
100
97
120
-
dB
SVR
SupplyVoltageRejectionRatio电源电压抑制比(VCC=±3to±18V)0℃≤Tamb≤+70℃
90
86
104
-
dB
Avd
LargeSignalVoltageGain大信号电压增益
VCC=±15,RL=2KΩ,VO=±10V,
120
400
-
V/mV
0℃≤Tamb≤+105℃
100
-
VCC=±3V,RL=500W,VO=±0.5V
100
400
-
Vopp
OutputVoltageSwing输出电压摆幅
RL=10KΩ
±12
±13
-
V
RL=2kΩ
±11.5
±12.8
RL=1KΩ
±12
0℃≤Tamb≤+70℃RL=2KΩ
±11
-
SR
SlewRate转换率(RL=2KΩ,CL=100pF)
-
0.17
-
V/μS
GBP
GainBandwidthProduct带宽增益(RL=2KΩ,CL=100pF,f=100kHz)
-
0.5
-
MHz
Icc
SupplyCurrent-(noload)电源电流(无负载)0℃≤Tamb≤+70℃VCC=±3V
-
2.70.67
561.3
mA
en
EquivalentInputNoiseVoltage等效输入噪声电压
f=10Hz
-
11
20
nV√Hz
f=100Hz
-
10.5
13.5
f=1kHz
-
10
11.5
in
EquivalentInputNoiseCurrent等效输入噪声电流
f=10Hz
-
0.3
0.9
PA√Hz
f=100Hz
-
0.2
0.3
f=1kHz
-
0.1
0.2
图4输入失调电压调零电路
应用电路图:
图5典型的偏置电压试验电路
图6老化电路
图7典型的低频噪声放大电路
图8高速综合放大器
图9选择偏移零电路
图10调整精度放大器
图11高稳定性的热电偶放大器
图12精密绝对值电路
54/74393
双4位二进制计数器(异步清零)
简要说明:
393为两个4位二进制计数器,共有54/74393和54/74LS393两种线路结构型式,其主要电器特性的典型值如下(不同厂家具体值有差别):
型号
fC
PD
54393/74393
35MHz
190mW
54LS393/74LS393
35MHz
75mW
极限值:
电源电压………………………………………….7V
输入电压
54/74393、54/74LS393的1A,2A………….5.5V
54/74LS393的1clear,2clear………………..7V
工作环境温度
54XXX………………………………….-55~125℃
74XXX………………………………….0~70℃
存储温度………………………………………….-65~150℃
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字频率计 设计 教程
![提示](https://static.bdocx.com/images/bang_tan.gif)