1
摘要:数字电压英文名称为Digital Multi Meter,简称为DMM,
测量直流电压、直流电流、交流电压、交流电流及阻等多种功能
器。数字多表以测量直流电压的直流数字电压为基础,并通过
(AC-DC)电压转换器、电流-电压(I-V)转换器、电阻-电压(R-V)转
把交流电压、流和电阻转换成直流电压。其中直数字电压表是
量技术,把连的模拟量通过抽样保持电路,AD换电路转换为
的形式,并加显示出来的仪表,与传统的模拟式压表相比,具
观易读,读数确,测量范围宽,扩展功能强等优。本次设计首
字电压表,然围绕直流数字电压表设计个模块。用A/D转换
模拟量电压进采样,转换成数字量,送到微处理
显示器显示出来。
关键词:A/D转换,单片机数据处理,直流压表,LCD
Abstract: Digital Multi Meter, which measure DC voltage, DC current, AC
voltage, AC current, resistance and other features of digital measuring
instruments.
Key Word: A/D converter MCU DVM LCD
目录
1(系统设计..................................................................................................................................... 4
1.1 设计要求............................................................................................................................ 4
1.1.1 设计任务 ................................................................................................................. 4
1.1.2 设计要求 ................................................................................................................. 4
1.2 方案比较............................................................................................................................ 4
1.2.1 直流电压表设计方案 ............................................................................................. 5
1.2.2 AC-DC转换器设方
1.2.3 I-U转换器设计方案 ............................................................................................... 6
1.2.4 R-U转换器设计模块 .............................................................................................. 7
1.3 方案论证............................................................................................................................ 2
1.3.1 总体
1.3.2 设计
2. 各模块电路设计及说明 .............................................................................................................. 9
2
2.1 直流电压表电路模块 ........................................................................................................ 9
2.2 AC-DC转换器电路模块.................................................................................................. 10
2.3 I-U转换器设计模块 ...................................................................................................... 10
2.4 R-U转换器设计模块 ....................................................................................................... 11 3. 软件设计.................................................................................................................................... 11
3.1 开发软件及编程语言简介 .............................................................................................. 11
3.2 软件实现方法 .................................................................................................................. 12 4 系统测试 ................................................................................................................................... 13
4.1 测试仪器及设备 .............................................................................................................. 13
4.2 性能指标测试 .................................................................................................................. 13
4.3 误差分析.......................................................................................................................... 14 5 结论 ........................................................................................................................................... 14
5.1 参考文献.......................................................................................................................... 15
5.2 附录.................................................................................................................................. 15
3
1系统设计
1(1 设计要求
1(1(1
设计一个简易流数字电压表头并以此为基础设计数字用表。能测直流
流、交流电压、流电流及电阻等多种功能的数字测量仪表。设DMM电路框图如
所示。
图1.1.1 1 1(1(2 设
(1)基本要求
a、设计直流电压表、AC-DC、I-U和R-U。
b、直流电
c、测量误差。
d、超量程
(2)扩展功能
a、断电保存数据和定显示
b、其他。
1.2 方案比较
4
1.2.1 直流电压
方案(一): AD0809、STC单片机和数码管显示。AD0809模转器是带有8 位A/D 转换器、8 路多路开关及微处理机兼容控制辑的CMOS 组件。它是逐次逼近式A/D 转换器,可以和单片机直接接口。ADC0809 输入拟量要求:信单极性,电压范围是0,5V,若信号太,须进行放大;输入的模拟量在换过程中应该保持不变,若模拟量变化太快,则需在入前增加采样保持电。数码管示电路分为共阳和共阴,有选位选
方案(二): MC14433、STC单片机和1602液晶显示。数模转换器MC14433 MC14433是Motorola公司推的单片3 1/2A/D转换器,其集成了积分式A/D转器所有的CMOS模拟电路和数字电路。具有外接元件,输入阻抗高,功耗低,电源电压范围宽,精高等点,并且具有动零和自动极性转换功能,要外接少量的阻容件即构一个完整的A/D转换器,具有1.精:读数的?0.05%?1字,2.模拟电压输入量程:1.999V和199.9mV两档,3.转换速:2-25次/s。LCD1602液显示界
比较以上两种方案,方案二采用MC14433积分式AD抗扰力强,且操作简单,能够自动校零和自动极性转。方案一数码管显占用过多的微处理器的IO口和处理时间,且操叫麻烦,故选用
1.2.2 AC-DC转换器方案
方案(一): 交流电峰值转换器,又峰检波器是检波输出的直流电压与输交信号峰值成比例的检波器。峰值检波器工作原理:峰值波器,是一个能记忆信号峰的电路,其输出电压的大小,一直追随输入信号峰值,而保持在输入信号的最峰
图1.2.2
下图为输出与输入的充放电情形,其中输出波形V。,一直保输入波形Vi的最大峰值。充电时间和放电要满足t1 5 图1.2. 2 且电阻满足条件 , Ri = Rl , 方案(二): DMM中,AC-DC的变换主要按真有效值的学定义用的集成电实现。 ,,, U = ,,,,) ,,,,, 直接用集成电路的、除法器能进行 , 方案二中的按真有效值得方法测量的有效精度高,带宽可以达到,,次方HZ。且够量的信号波形比较多,波峰因数误差小。应用电路简单。案中应峰值检测对不同的信号形带来的误差大,且应用MCU程序控制复杂,所以在选用方案二 1.2.3 I-U转 方案(一)让测量的电流Ix流过标准电阻Rs,则标准电阻两 U ,,,,, 测量出的这电压,便能测得到被测电流的大小。具体的电路如下 R3 恒流源RsR1R2A 方案(二)该案为方案一的改进版,此方案运放采用动恒流源流过标 求差运放衰或放大到AD采集电压的范围内。体电路分析如下 该电路在选不同的标准电阻及精密运放,从决定所测电压 6 通过比较,方案二方案已的改进从而能够提高电路的抗干扰的能力。 1.2.4 R-U转换的设 方案(一)恒 在被测的未知阻Rx中流过的已知恒定的电流Is时, 故通过恒定电流可实现R-V转换。 方案图如下所示 图1.2.4 1 此电路应用运算放大器的原理成基本的转换电路,被测Rx和标准电阻Rs分别置于反馈电路的中,当输入一基准电压Es时,由E点为虚地点,则流运算放大器 ,, Is= ,, 即Is是由Er、Rs形成的恒流源。此电流经Rx产生 ,, ,,,,,,,,,, ,, 方案(二)电 电阻比例法测电阻 7 图1.2.4 2 由图可知 ,,,,,,,,,,,,,, 故 ,, ,,,,,, ,, 为了测出Rx上的电压Ux,让双积分式的AD转换器先定时间T1内对Ux进行积分,然后再对Us行反向积分。当分器的输出电压回到0时,第二次积分结束,则第二次积分 ,,,, ,,,,,,T1 ,,,, 故有 ,, ,,,,, ,, 比较两个方案可知,流源测电阻法需一个精密的恒流源,而电阻比例法测电则电路比较复杂,故在此采第一种 1.3方案论证 1.3.1 (1)方案设计中首先设计一直流字压表作为其他模块测量的基础,采单片机STC89C52、1602液晶和MC14433A/D转换器作基本的元器件。MC14433可构成正负2V和正负20V直流电压可电 (2)在直流数字电压表基础上将交流电压、交流、电流、电阻等其他的电量通过各个模块转换成呈线性电压,通过A/D后转换成数字量单片采集处理送 1.3.2 采用运放OP-07将各代测量换成相对应的直流电压,通过AD转成数字量,单片机采集,液晶 设计方案图示如下 8 图1.3.2 1 2各模块电路的设 2.1直流电 数字直流电压表的核心器件A/D采用MC14433,可成位半的电压表直接将采集的数据转换成BCD码,单机采经过相应处理后直接可送液晶显示,MC14433扩展很少的外围电路电电,用MC1403提供基准源2V,通过外470k欧的电阻即可构成测量—正负2伏的电。MC14433资可参考相关的批pdf文,MC14433芯引脚图 图2.1 1MC14433引脚图 MC1403电路简单提供的电压源稳定,度高等优点,输出2.5V的电压通过电位器节电压为2V为AD提供基准源,电路如图 9 VCCU118R1VinNCR327GNDVoutNCVREF36GNDNC1K4510kNCNCMC1403GND 图2.1 2 MC1403电路 单片机小系统模块简单、易理解,原理可参考有关资料图示如下 U3VCC140P1.0VCC239P1.1P0.0338P1.2P0.1437P1.3P0.2536P1.4P0.3635P1.5P0.4734P1.6P0.5833P1.7P0.6ORRST932RST/VPDP0.71031P3.0/RXDEA/VPP1130P3.1/TXDALE/PROGS31229P3.2/INT0PSENA01328ENP3.3/INT1P2.7GNDA11427RWP3.4/T0P2.6S4A21526RSSW-PDP3.5/T1P2.5A31625P3.6/WRP2.4A41724P3.7/RDP2.31823BEEPSW-PDXTLA2P2.21922SCLCY1XTLA1P2.1122021SDAGNDP2.0C6C7STC89C5230pF30pFGNDS1R6GNDRSTGNDRes2VCCSW-PD10KC8 10uF 图2.1 2单片 2.2 AC-DC转 AC-DC电路采用的是真有效值转换芯片AD637,该芯能交流电压转换成有效值电压,从而达到了转换器的作。AD637芯原理为通过乘、除法运算电路进行均方根运算,从而构成均方根式有值。输压为7V,转换精度,,,,,,,,,,转换精度高,稳定度高。是一款设计者计交流仪器仪表最佳选择。运用AD637测低频交流电压典型电接法如 C100.1uF R18R19V12+V12-V12+3.3MU43.3MC91OP07V12+U31uF87R141M1142BUFF INBUFFR15RES213AC_IN6NCVinPORT3AC_PORTC5C6GND3123COMNCcapcap411V12+5OUTOF+VsR160.1uF0.1uF510V12-V12+CS-Vs694DEN INVoutGND4.7k78C8DBCavR20V12-V12-GNDAD637100uF6.8MC11GND1000pFR17 499KC70.1uF GND 图2.2 1 AD637电路图 2.3 I-U转换 该转换电路采用运放成的差分电路,将待电流流过一标准的电阻,通过运放提供阻抗转和电压放大,转换成直流电压。路如下图 10 PORT_APORT_A 2S1SWITCHR3R5V12+13RESRES100k200kU11OP07RESR1R287RES2101006CACAR4WGND35RES100kR64RESV12-200k GND 图2.3 1 I-U电路 2.4 R-U转换器 设计方案采恒流源的方法测量电阻,通过运放和MOSFET构成的恒流源路如 示。 2S3 13R12R13WVCCRES100 R10V12+RESU2100k1OP0787Q12mosfet635 R114RESCRCRV12-100k GND 图2.4.1恒流源 此电路将运结成电压跟随器控制MOS管构成恒流电路,分析可知运 压为1/2的WVCC,运放为电压跟器接法,从 ,,,,,,, ,,,, ,,,,(,,,,,) 3软件设计 3.1开发软件及编 数字多用表程设计编程环境为Kill4,程序语言采用C言。 3.2 程设计与 程序流程图分为直流电压处理子程序、电阻处子程序、电流处 具体流程如下 11 开始 拨码开关选 择 电流处理电阻处理 程序程序 电压处理 程序 液晶显 示 图3.2 1 程 液晶显示程序,下图为操作液晶读和写的时 图3.2 2 液 图3.2 3液晶 12 图3.2 4液晶程序流程图 4 系 4.1 测试仪 直流数字万用表,胜 4.2 测试数据 直流电压测量 交流电压的测量 电阻的测量 电流的测量 13 4.3误差分析 5 结论 本次课程设计采用单片机处理数据,AD数据,各种电量的转换和程序的编写一个人独自完成。可谓是非常幸苦,但苦中有乐,通过做物检半学期以来所学的知,通常只是考试完一个学期结束了,所学的知识跟着忘了。觉什么都没学到。 参 1. 陈尚松. 电子测量与仪器<第二版>. 电子工业出版社 2011 2(黄智伟(全国大学生电设计竞赛训练教程[M](北京:电子工业出版社,2005年 3.康花光。 子技术基础(模拟部分). 高等教 附录 原理图 14 V12+ D1LED0V12+R25V12-10kC12C13cap0.1uFcapGND0.1uFGNDU_DMM3GNDDMM3.SchDocPORT3AC_PORTU_DMM2P7DMM2.SchDoc3PORT2vV12+2WGND1PORT_AS520vHeader 3H1122117S41310CA2349+IN358+VSCR1667P18RGOUTPUT18U5SW DIP-6RG2R212Header 2-IN-VSREAD620F45 GNDV12-GND 图 附录 1 系 321321 184123512123 272124222136121112245212 3542112 51631113212722 81 123 1 图 附录 2 各转换 15 程序设计 /********************************************** 文件: MAIN.c 功能: 主程序 ***********************************************/ #include"DVM.h" #include"config.h" #include"DVM.c" #include"i2c.c" #include void main() { init(); initIC(); while(1) { void button(); disp[6]=' '; ad_conver(); //启动A/D转换 compute(); //转A/D转 if((disp[1]==0x31)&&(disp[2]==0x39)&&(disp[3]==0x39)&&(disp[4]==0x39)) //过量程报错 { wr_lcd(0x80,error1,16); wr_lcd(0x80+0x40,error2,16); buzzer(); } else switch(P3) { case 0x77:{ disp[6]='V'; wr_lcd(0x80,tab1,16); wr_lcd(0x80+0x40,tab2,16); wr_lcd(0x80+0x7,rag1,9); disp[5]=disp[4]; disp[4]=disp[3]; disp[3]=disp[2]; disp[2]='.'; wr_lcd(0x80+0x49,disp,7); } break; case 0x7f:{ 16 disp[6]='V'; wr_lcd(0x80,tab1,16); wr_lcd(0x80+0x40,tab2,16); wr_lcd(0x80+0x07,rag2,9); disp[5]=disp[4]; disp[4]=disp[3]; disp[3]='.'; if(disp[1]==0x30) { disp[1]=disp[0]; disp[0]=' '; } wr_lcd(0x80+0x49,disp,7); } break; case 0xb7:{ disp[6]='V'; wr_lcd(0x80,tab1,16); wr_lcd(0x80+0x40,tab3,16); wr_lcd(0x80+0x07,rag2,9); disp[5]=disp[4]; disp[4]=disp[3]; disp[3]=disp[2]; disp[2]='.'; wr_lcd(0x80+0x49,disp,7); } break; case 0xbf:{ disp[6]='V'; wr_lcd(0x80,tab1,16); wr_lcd(0x80+0x40,tab3,16); wr_lcd(0x80+0x07,rag2,9); disp[5]=disp[4]; disp[4]=disp[3]; disp[3]='.'; if(disp[1]==0x30) { disp[1]=disp[0]; disp[0]=' '; } wr_lcd(0x80+0x49,disp,7); } break; case 0xd7:{ wr_lcd(0x80,tab1,16); 17 wr_lcd(0x80+0x40,tab2,16); wr_lcd(0x80+0x07,rag3,9); disp[5]=disp[4]; disp[4]=disp[3]; disp[3]=disp[2]; disp[2]='.'; wr_lcd(0x80+0x49,disp,7); } break; case 0xdf:{ wr_lcd(0x80,tab1,16); wr_lcd(0x80+0x40,tab2,16); wr_lcd(0x80+0x07,rag4,9); disp[5]=disp[4]; disp[4]=disp[3]; disp[3]='.'; if(disp[1]==0x30) { disp[1]=disp[0]; disp[0]=' '; } wr_lcd(0x80+0x49,disp,7); } break; case 0xe7:{ wr_lcd(0x80,tab1,16); wr_lcd(0x80+0x40,tab2,16); wr_lcd(0x80+0x07,rag5,9); disp[5]=disp[4]; disp[4]=disp[3]; disp[3]=disp[2]; disp[2]='.'; wr_lcd(0x80+0x49,disp,7); } break; case 0xef:{ wr_lcd(0x80,tab1,16); wr_lcd(0x80+0x40,tab2,16); wr_lcd(0x80+0x07,rag6,9); disp[5]=disp[4]; disp[4]=disp[3]; disp[3]='.'; if(disp[1]==0x30) 18 { disp[1]=disp[0]; disp[0]=' '; } wr_lcd(0x80+0x49,disp,7); }break; default :break; } delay2(1700); } } /******************************************************** 文件名 DVM.c *********************************************************/ #include #include void ad_conver() //A/D { while(!ds1); //求出千 disp[1]=P1; while(!ds2); //求出位运 disp[2]=P1; while(!ds3); //求出 disp[3]=P1; while(!ds4); //求出 disp[4]=P1; } void compute() //转A/D转换数 { uchar mk=disp[1],i,j,temp[4]; if(mk&0x01) disp[1]=0; //Q3=1,千 else disp[1]=1; if(mk&0x02) disp[0]=' '; else disp[0]='-'; if(mk&0x09==0x08) disp[1]=2; mk=0x01; //提取百十 for(j=2;j<5;j++)>5;j++)> { for(i=0;i<4;i++)>4;i++)> { temp[i]=disp[j]&mk; 19 mk<=1;>=1;> } temp[0]<=3;>=3;> temp[1]<=1;>=1;> temp[2]>>=1; temp[3]>>=3; disp[j]=temp[0]+temp[1]+temp[2]+temp[3]; mk=0x01; } for(i=1;i<5;i++)>5;i++)> disp[i]+=0x30; } void delay(uint z) { uint i; uchar j; for(i=z;i>0;i--) for(j=10;j>0;j--); } void delay2(uint z) { uint i; uchar j; for(i=z;i>0;i--) for(j=200;j>0;j--); } void write_com(uchar m) //写指 rw=0; P0=m; delay(10); e=1; delay(10); e=0; delay(10); } void write_data(uchar n) //写 { rs=1; rw=0; P0=n; delay(10); 20 e=1; delay(10); e=0; delay(10); } void init() //显示初始 { e=0; write_com(0x38);//设置16*2示,5*7点阵,8位数 write_com(0x0c);//开显示,不 write_com(0x06);//入数据后地址 write_com(0x01);//显 //write_com(0x80+0);//设置初始显 void wr_lcd(uchar addr,uchar *str,uchar length) { uchar x; write_com(addr); for(x=0;x write_data(str[x]); } void buzzer() { buzz=0; delay2(2500); buzz=1; } 21 目 录 一、设计要求........................................................ 2 二、设计方案及论证.................................................. 2 2.1设计思路 .................................................... 2 2.2设方案 .................................................... 2 2.3总框图 .................................................... 2 三、计原理及电路图................................................ 3 3.1硬设计原理 ................................................ 3 3.2硬件原理图 .................................................. 4 3.3主要元器件介绍 .............................................. 4 3.4软件设计方案 ................................................ 6 四、器件清单...................................................... 7 五、元器识别与检测................................................ 8 5.1电阻识别 .................................................... 8 5.2电容识别 .................................................... 8 5.3电感识别 .................................................... 9 5.4二极管识别. ................................................ 10 5.5晶体三极管识别 ............................................. 10 5.6电器的识别测 ......................................... 11 六、硬件制作与调试................................................. 11 6.1程序编译 ................................................... 11 6.2用protues 进行仿真调试..................................... 12 6.3硬件 一、设计要求 利用单片机AT89S52与ADC0809一个数字电压表,能够测量0-5V之间的直流压值,四位数码显示,但要求使的元器件数 二、设计方案及论证 2.1设计思路 ⑴根据设计要求,选择AT89s52片机为核心 ⑵A/D转换采用ADC0809实现,片机的接口为P1口和P2口的高四位引。 ⑶电压显示采用4位一的LED ⑷LED数码段码输入,由并行端口P0产生:位码输,用并行端口P2四位 2.2设计方案 数字电压表有多种的设计方法,方案是多种多样的,由于大规模集电路字芯片的高速发展,各种数字芯片品种多样,导致对模拟据的集部分的一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现实的作活中,电的测量测程范围是比较大的,所以须对输入电压作分压处理,各个数据处理芯片的处电压范围不同,则各种案的分段也不同。由此结设计要求选择由单片机系数 这种方案是利用单片机系统与与其模数转换功能、显模块等的结合构建数字电压表。由于单片机发展经成熟,利用单片机系统的软硬件结合,组装出许多的应用路来。此方案的原选用单机的外部参考电AREF为模数(A/D)转换功能的基准电压端,被测电压输入端分别输入基准电压和被测电压。模数(A/D)转换功能将测电压输入端所采集到的模拟压信号转换成相应的数信,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来集这些数字信号,通过一定的算法算出被测量电压的值。最后片机系统计算好了的被测电压值按一定的时序入示电模块加以显 2.3总体框图 图-2.3 三、设计原理 3.1硬件设计原理 ADC0809具有8路模拟量输入通道IN0---IN7,通过3位地址输入端C、B、A(脚23--25)进行选择。引脚22为地址锁存控制ALE,输入为高时,C、B、A引脚输入的地址锁存于ADC0809内部是锁存器中,经内部译码电路译码选相应模拟通道。引脚6为启动转换制端START,当输入一2μs宽高电平脉冲时,就启ADC0809开始对输道的模拟进行转换。脚7为A/D转换器,当开始转换时,EOC信号为低电平,经过一段间,转换束,转换结束信号EOC输出高电,转换结果存放于ADC0809内部的输出数据寄存中。引脚9为A/D转换数据输出允许制端OE,当OE为高电平时,存放于输数据锁存器中据过ADC0809的数据线D0—D7输。引脚10为ADC0809的时钟信号输入端CLOCK。在连接时,ADC0809的数据线D0—D7与AT89S52的P0口相连接,ADC0809的地址脚、地址锁存端ALE、动信号START、数据输出允许控制端OE分别与AT89S52的P2口相连接,转结号EOC与AT89S52的P3.7相连接。时钟信号输入端CLOCK信,由单片机地址锁存号ALE LED数码管采用动态扫描方连接,通过AT89S52P1口和P3.0—P3.3口控制。P1口为LED数管的字段码输出端,P3.0—P3.3为LED数 码输出端。 3.2硬件原理图 图-3.2 3.3主要元 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控器,具有 8K 在系统可编程Flash存储器。STC89C52使经典的MCS-51内核,但做了很多的改进使得芯片具有传51单片机不具备功能。在芯片上,拥有灵巧的8 位CPU 和在系可程Flash,使STC89C52为众多嵌入式控制应用系统提供灵活、超有效的解决方案。 具有下标准功能: 8k字节Flash,512字节RAM, 32 I/O 线,看门狗定时器,置4KB EEPROM,MAX810复位路,3个16 位定时器/计数器,4个外中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操,支持2种软可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保方式,RAM容被存,振 冻结,单片机一切作停止,直到下一个中断或硬件复位为止。最高运频率35MHz,6T/12T ADC0809是美国国家半导体公司生的CMOS工艺8通道,8位逐次逼近A/D模数转换器。其内部有一个8通道多路开关,它可根据码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。目前仅单片机初学应用设计较 1)8路输入道,8位A/D转换器,即分辨率为8。 2)具有转换 3)转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时)。 4)单个+5V电 5)模拟输入电压范0~+5V,不需和满刻度校准。 6)工作温度范围为-40~+85摄氏度。 7)低 ADC0809是CMOS单片逐次逼近式A/D转换器,部构如图所示,它由8路模拟开关、地址锁存与器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、辑控制和定时路 ADC0809芯片有28引脚,采用双列直插式装,如图所示。 下面说明各引脚功能: IN0~IN7:8路模拟量输入端。 2-1~2-8:8位数字 ADDA、ADDB、ADDC:3位地址入线,用于选通8路模拟输入中的一路。 ALE:地址锁存允许信号,输端,高电 START: A/D换启动脉冲输入端,一个正脉冲(至少100ns宽)使其启动(脉上升沿使0809复位,下降沿动A/D EOC: A/D换结束信号,出端,当A/D转换结束时,此端输一个高电平(转换期间一为低 OE:数据输出允许号,输入端,高平有效。当A/D转换结束时,此端输入一高电平,才能打开输出三态,输出 CLK:时钟脉冲输入端。要求时钟频 REF(+)、REF(-):基准电压。 Vcc:电 3.4软件设计方案 进行应用软件设计时可以采用模块化结构设计,其优点是:①个模块的程序结构简单,任务明确,易于编写、试修改;②程序可读性好,对程序的修改可局部进行,其他部分可以保持不,于功能和版本升级;③易于使用频繁程序可以建立子程序,便于多个模块调用;④便于分工合作,多程序员同时进程序编写和调试工作,加软件 (1)根据设要求,根据系统所要完成的功能,设出图4-1所示 图-3.41 (2)程序的设计 ①主程序的设计 主程序的内一般包括:主程序的起始地址、断服务额程序的起始地址、有关内存单元及相件的初始化和一子程序调用等。根据设计要求,设计出如图4-2所示的主程流 图-3.42 图-3.43 ② A/D转换子程序的设计 A/D转换序功能是采集数据,再整个系统设计中占高的地位。当系统置好后,单片机扫描转换结束管脚P2.6输入状态,当输入为高电平转换完成,将转换的数值转换并显示输出。若输入为电平,则继扫描。程序流程图如 ③数码转换及显示子程序的设计 由于人们日常习惯使用十进数,而计算机的键盘输入、输出以及显示常采用二进编码的十进制数(即BCD码)或ASCII码。因此,在程序计中经常要进行 四、原器件清单 表-4.1 五、元器 5.1电阻识别 电阻在电路中用“R”加数字表示,如:R1表示编号为1的电阻。电阻在电路的主要作用为分流、限流、分压、 1、参数识别:电阻的单位为欧姆(Ω),倍率单位有:千欧(KΩ),欧(MΩ)等。换算方法是:1兆欧=1000千欧=1000000欧。阻的参数标方法有3种,即直标法、色标法和数标法。a、数标法主要用于贴片等小体积电路,如:472 表示 47×100Ω(即4.7K); 104则表示100K。b、环标注法使用最多,现例如下:四色环电阻 五环电阻(精密电阻)。 2、电阻的色标位置和率系下表所 表-5.1 5.2电容识别 1、电容在电路中一般用“C”加数字表示(如C13表示编号为13的电容)。电容是由两金属膜紧靠,中间用绝缘材料隔开而组成的元件。电的特性主是隔直流流。电容容的大小就是表示能贮存电能的大小,电容对交流信号的阻碍作用称为容抗,它流号的频率和电容有关。容抗XC=1/2πf c (f表示交流号的频率,C示容容量)。 2、识方法:电容的识别方法与电阻识别方法本相同,分直标法、色标法和数标法3种。电容的基单位用法拉(F)表示,其它位还有:毫(mF)、微法(uF)、法(nF)、皮法(pF)。其中:1法=103法=106微法=109纳法=1012皮法容大的电其容量值在电容上直接标明,如10 uF/16V容量小电容其容值在电容上用字母表示或数字表示字母表示法:1m=1000 uF 1P2=1.2PF 1n=1000PF 。 数表示法:一般用三位数字表示容量大小,前两位表有效数字,第位 3、检测方法:(1)电解电容的测试A.测漏电电,将万用表置于R*1K檔或R*10K,用表笔接电容器的正极,红表笔接电容负极.时表笔迅速右摆,后慢慢退回.待不时指示电阻值越大,表漏电流越小,表针摆动范围大说明电容器电容量大.若指摆动至零附近不返回,说明该电容器已击穿,针不摆,则说明该电已路、失效.B.判断正负原理:正接时漏电电流,向时漏电电流大.注意:对调表笔时,容正负极先短接.(2)非电解容器的测试,万用表R*10K檔,用两表笔分别接电容器两,测得电越大越好,一般在几百千欧.电阻很或零则时容器已短 5.3电感识别 1、电感在电路中常用“L”加数字表示,如:L6表示编号为6的感。电感线圈是将绝缘的导线在绝缘的骨架上绕一定的数制。直流可过线圈,直流电阻就是导线本身的电阻,压降很小;当交流信号通过圈,线圈两会产生自感电动势,自感电动势的与外加电压的方向相反,阻碍交流的通过,所以感的特性是通直流阻流,频率越高,圈阻抗大。电感在电路中可与组成 2、电感一有直标法和色标法,色标法与电阻似。如:棕、 表示1uH(误差5%)的电感。感的基本单位为:亨(H) 换算单 5.4二极管识别 1、晶体二极管在电路中常用“D”加数字表示,如: D5表示编号为5的二管。作用:二极管的主要特性是单向导电,也就是在正电压的作用下,通电很小;而在反电压作用下导通电阻极大或无穷大。正因为二极管具有上述特性,无绳电话机中常把它在流、隔离、压、极性保护、编码控制、调频调制和静噪等中。电话机里使用的晶体二极管作用可分为:整流二极管(1N4004)、隔离二极(如1N4148)、肖特基极管(如BAT85)、发光极、稳二极管 2、识别方法:二极管的识别很简单,小功率二的N极(负极),在二极管外表大多采用种圈标出来,有些二极管也用二极管专用符号来表示P极(极)或N(负极),也有采用符号标为“P”、“N”来确定二极管极性的。发光二极管正负极可从脚长短来识别,长脚为,短 3、检测方法:用数字式万用表去测二极管时,红表笔接二极管的正极,黑表笔二管的负极,此时测得的阻值才是二极的正向导通阻,这与指针式万表的笔接法刚好相。用万用表R*10K档测正,反向电阻,一般正向电阻小于30K,反向电阻大于1M.正.反向电均零,说明内部击穿短路.若正,反电阻均穷大,说明内部开路.电性要求: Von=1.5-3V Ion=2-20mA。电流大小决定光的亮,若与TTL器件相连使用时一般需要接个470的电 5.5晶体三 1、晶体三极管在电路中常用“Q”加数字表示,如:Q17表示编号为17的极管。特点:晶体三极管(简称三极管)是内含有2个PN结,并且有放大能力特殊器件。它分NPN型和PNP型两种类型,这两种类型的三极管从工 作性可互相弥,谓OTL电路中的对管就是由PNP型NPN型配对使用。电话机中常的PNP型三极管有:A92、9012、9015型号; NPN型极管有:A42、9014、9018、9013等型 2、晶体三管主要用于放大电路中起放大作用,在常见电路中有 3、检测方法:(1)判断基极和三极管的类型,先假设三 管的某极为”基极”,将黑表笔接在假设基极上,将红表依次接到其余两个电极上,若两 次测得的电阻大(约几K到几十K),或者都小(几百几K) ,对换笔重复上述测量,测得两阻值相反(都很小或都很大),可确定假设的基极是正确,否则另假设一极为”基极”,重复上述测试,以确定极.当极确定后,将黑笔接极,红表笔笔接基它两极若测电阻都很少,则该三极管NPN,反之为PNP.(2)判断集电集C和发射E,以NPN为例:把黑表笔接至假充集电极C,红表笔接到假设发射极E,用手捏住B和C极,读出表头所C,E电阻,然后将红,黑表笔反接重测.若第一次电比第次小,说明原假设成 5.6电位器的 检查电位器时首先要旋动旋柄,看看旋柄转动是否平滑,开关是否活,开关通、断时“咔嗒”声是否清脆,并听一听点位其内部触点和电阻体摩擦的声音,如有沙沙声,说明质量不好。用万用表测试时,先根被测电位器阻值的小,择好电位合的电阻档位,然后照下方法进行检测:(1)用万用表的姆档测1,2两端,气度数应电位器的标称阻值,如万用表的指针不动活阻值相差很多,表明该位器已损坏。(2)检电位器的活动片臂和电片的接触否好。用万用表的欧姆档测1,2端,将电位器的转轴按逆时针旋转接近关的位置,时电阻值越小越好,再顺时针慢慢旋转轴,电阻值应逐渐增大,表头中指针应平稳动,当轴柄位置旋至位置3时,阻应接近电位标称值,如果指针在轴柄旋转过程中有跳动现,说活动触有接不良现 六、硬件制作与调试 6.1程序编译 采用Keil μVision编器进行源程序编译及仿真调试,首先KEIL 软件编译和生 图-6.1 6.2用protues 进行仿真调试 将生成的.hex文件导入单片机,然滑动电位器 图-6.21 在Proteus ISIS编辑窗口中单击开始仿钮,4位LED数码管显示相应的电压。当通道打通道0时,滑动变阻器RV1的阻值至最小位置 显示00.00,正确显示数值;把RV1中间位置时,LED显示02.48,同正确读出数据;当把RV1的阻值调至最大位置时,LED显示04.99,正确读出数。同理调试其他通道时,能正确显示通道数和电值,证明该8路电压表合格。调结果 图 -6.22 图-6.23 图-6.24 6.3硬件焊接制作 由于实验室条件简陋,故无条件作PCB板,不得不用便宜的接进行硬件的制作,由于没有制作PCB板的条件,所以采用排线和针的方法来解决焊接线路带来的不方便和易出的问题。焊接实 图-6.31 图-6.32 把前面仿真通过的程序烧制到AT89S52芯中,接上5V 的电源,观察效果。果数码管无显示,通过各种猜测与思考以上网查资料,发led数码管在作时需强大的驱动电,而单片机的接口不足以提供支持数码显示的电流,感觉问题应该出在数码管驱动电流方面,是在码管外面又了个阻排,为数码管提供大的驱动电流,通测,发现还是不行,不知道问题出在处,可能是单片机有损坏,者是出现虚焊的问题,也有可能转换器出毛病了,再或是导线内有断连的现象。总之由于时间限,最终失败而告 七、设计心得 通过本次的电子测量课程设计,折腾了我两天的时间去完成,本来心情很快地为不就是个数字电压表吗,应该很容就会做成,是最终却以失而告。最让我心的是竟然不知道问题出在什么地方,这犹如晴天霹雳般的狠狠地给自己一个教训。在调过程中遇很问题,硬件上的理论知识学得不够扎。终我明白了一个真理,理论和际还是存在较大的差距,在进行proteus软仿真时,完全不用阻就可以数码管提供驱动电流进而显字,是实际 行了。实际的共阴极数码管需要大的驱动电流来驱动电路。不过觉得本次课程设还是常有必要的,在马上进入大四面临就难的情况下,次课设又加强了对单机的进一步认,掌握了单片机最小系统的结构原理,以及烧写软件的方法。如何把我们所学的专业基础理知识运用到践去呢?我想做类似的程设计就为我们提了好的实践平台。通过这次设计,它的工作原理有了更深的理。在以后的实践中,我将继努力学习电路设计方的理论知,并理论联系实际,争取在电设方能有所提 最后感谢耐心提供帮助的赵亚老师和胡 八、参考文献 《单片机原应用技术(第二版)》 黄仁 主编 清华 《单片机的C语言程序设计与应用》 姜志 赵艳雷 电子测量课程设计——函 设计者:唐志彬 20074470128 指导老师:李月华 一、设计任务 ? 在给定的?12V流电源电压条件下,使用运算放大器设计并制作一个函数信号发 ? 输出电压: 方波:Vp-p?24V 三角波:Vp-p?6V 正弦波: Vp-p>1V ? 方波:上升和下降时 ? 三角波失真度:?2% ? 正弦波失真度:?5% 二、设计方案论证 1(信号产生电路 〖方案一〗 由文氏桥产生正弦振荡,然后通过比较器得到波,方波积分可 文 氏 正弦波 方波 三角波 比较 积分器 这一方案为一开环电路,结构单,产生的正弦波和方波的失真较小。但是对于三角波的产生则有一定的烦,因 为题要求有10倍的频率覆盖系数,然而对于积器的输入输出 11 v,,idt,,vdtoi,,CRC 显然对于10倍的频率变化会有分时间dt的10倍变化从而致出电压振幅的10倍变化。而这是电路所不希望。幅度稳定性难达到要求。而且通过仿真实验会发现积分器极产生失调。 〖 由积分器和比器同时产生三角波和方波。其中比较器起电子关的作用,将恒定的、负极 反 馈 比 较 器 积分器 电位交替地馈积分器去积分而得到三角波。该路的优点是十分 ? 线性良好、稳 ? 频率易调,几个数量级的频带范围内,可以方便地连地改变频率,而且频改变 度恒定不变; ? 不存在如氏电桥那样的过渡过程,接通电源会立即产生稳 ? 三角波方波在半周期内是时间的线性函,易于变换其 综合上述分析,我采用了第二种案来产生信号。下面将分析讨论对生的三角波和方波变换为正波的 2(信号变换电路 三角波变为正弦波的方法有种,但总的看来可以分为两类:种是通过滤波器进行“频域” 处理,另一种则过非线性元件电路作折线近似变换“时域”处理。具体有以几种方案: 〖案 采用米积分法。设三角波的峰值为V,三波的傅立叶级数 8111k,, ,,,Vt,VSin,t,Sin,3t,Sin,5t,,,,,Sin,,Sink,t,,,,P2222,,352k,,,通过线性 k81111,, ,,,,,,,VtVCostCostCostSinCoskt,,,,,,,,,,,,,,,,35P2223,,,k,CR352,,显见滤波式的优点是不太受输入三角波电平变动的影响,其缺点是输出正弦幅度随频率一化(随频率的升高而衰减),这对于我求的10倍的频率覆盖系数是合适的。另外我们在仿时还发现,这种积分滤波路存在这较明显的调,这失调使输出信号的直流电平断某方向变 积分滤波法 而且输出存在直 〖方案二〗 才用二极管,电阻转换网络折线逼近法。十分明显,用折线近弦波时,如果增多折线的段数,则逼近的精度会增,但实际的二管不是理想开关,存在导通阈值问题,故不可盲目的增加分段数;所选的折数一定的情况下,转折电的位的择也影响逼近的精度。凭直观可以判知,在弦波变化较快的区,转折点应选择密一;而变化缓慢的区段选的稀 二极管,电阻网络折线逼近电路对于集成化来说是比较简,但要采用分立元件打接则会用到数十个器件,而且了到较高的精度所有处于对称位置的电阻和二极管的正向导通电阻都应匹。现起来很方便的。另外折线逼近电的理是应用电路传输的非线性,故作用于变电路的输入信号的度必须是固定。而这个转换网络还有输阻抗 二极管,电阻转 〖方案三〗 ii利用差分放 I发射极电流为,则晶体三极管工作 IIEEEEi,i, CC12vvIDID,VVTT1,e1,e由图的传输特性线我们可以想象当输入为三角波时输出得到近似的 差放差模传输特性线图(Protel 99 SE SIM99仿真) 这种转换方式比较简单,且频带 三、整体电路设计 1(三角波方波 AA电路图如图示,由三个运算放大器组成。其中实现密勒分,实现比较、限幅、反相 AAAt,tAR功能运算,为限幅反向器。,是正反馈电路,用作馈通路。假设在时输出 ,ARA正电平U。其中一部分信号反馈到的反相输入端。另一部分过反馈到的反相输入 三角波,方波产 uRR值的大小与的分压比决定。该信号电压被积分器反相积分,A的输出电压以时间常 ,URCARI下,并通过R加 uo1IIIAA (即),当正反馈流与电流相等时,反相输入端的电压为。开始从-0.65V跳 ,,AuA到+0.65V,从而使的输出随之翻转,使从跳变到,与同时,反相输入端的电 ,uARC也随翻转跳变到负值,对电压进行反向积分,使得按着样的时间常数上升。 uo1u,IIIII与反向。逐渐增 ,,U-0.65V,迫使再次翻转,从跳变到,这就完成了一个振荡期。如此周而复始的循 ,uAuAA地输端产生三角波,在的输出端产生方波。 假设的正负 ,,,u正限幅 R,2 U(t),,UO1R1 T当t,时,比较器跳 ,RRU,,,22 U(T),,T,U,UO111RCRR1131 R10 ,,R,R910U(0),U(T)T显然, ,此 ,RRCU 2PT,(1,)1,,RU1 根据分析知道,t,T时,积分器A的输出电压为三角波的下降。同理,下一次跳变,应出 R,2U(t)A。实际上,积分器的输出电压的跳变时间应为T。 ,RRU,,,22 U(T),,T,U,UO222RCRR1131可以得到后半 ,RRCU2P T,(1,)2,,RU1 ,,如果选择电 化为: 4RC,p , f,T,,4RCP ,,RC由上式可 2(三角波—正弦 电路图。如前所述,电路利用了差放的转移特性,将三角波近似逼近正弦 三角波,正弦波转换电路 通过上述电路的分析和设计,我们已经产生出三种规定数波形,但为了满足应用上的要求,还需入电压可调,具备一定的驱动能力。这些要有一个接电路来实现 接口电路图 考虑到音频信号的输出阻抗常用600?,带有反馈的运算放大器输阻抗几乎为零,在输出处加一600?的电阻就输出阻抗变为600?,而且即使发生误操作使输出短路,该电阻能起到过流保护 在对输出进行幅值调节时,输出电压变小,运的偏移电压的影响会很大。为了使号很大衰减,我们又设计了-20dB和-30dB的减器,以把输出电压衰减0.1、0.01倍。在信号衰减的同时偏移电压也同样被衰减,这样就防止了偏移影的 四、电路的EDA实现 1( 输出瞬 R通过在4.7K,47K的范围内对电位器的调节,我们可以得到率覆盖1K,10KHz的各输 形。两个边界频率的瞬态分析果见以下 10KHz三角0dB –20dB –30dB输出图(Protel 99 SE SIM99 10KHz方波0dB –20dB –30dB输出图(Protel 99 SE SIM99仿 10KHz正弦波0dB –20dB –30dB输出图(Protel 99 SE SIM99仿 1KHz三角波0dB –20dB –30dB输出图(Protel 99 SE SIM99仿 1KHz方波0dB –20dB –30dB输出图(Protel 99 SE SIM99 1KHz正弦波0dB –20dB –30dB输出图(Protel 99 SE SIM99仿真) 2( 形参数 注:以下各参数的测量均在Protel 99SE SIM99的仿支下,由Casor测量光标辅助完成的,其中失真度测量过引入同频率等幅标准信号源的方法测出的。由于这几个参数的测量都要将信高倍放大,需占用大 因此不再抓图 ? 输出幅值 测量条件:f=5KHz RL=600Ω 输出端口 幅 OUT1( 0dB) 6V—28mV OUT2(-20dB) 0.6V—2.8mV OUT3(-30dB) 60mV—0.28mV ? 方波上升时间 测量条件:Uo=4V RL=600Ω 频率 f=1KHz f=10KHz 上升时间 655.74ns 555.70ns ? 正弦波失真度 测量条件:Uo=3V RL=600Ω 频率 f=1KHz f=10KHz 失真度 2.35% 3.10% 鉴于所采用正弦波的失真数的测量方法有较大误。为此,特在Uo=7V的测试条件下 1KHz正弦波0dB输出时的Fourier分析图(Protel 99 SE SIM99仿 由图可见:电路高频谐波分是比较 总结: 以上测试数据证明,该电路已远超过了课程设计题目所要求项性能指标,而且其三角波、方波的表现又颇为,通过改变三 3( 温度扫 以下三图是在 f=5.831KHz RL=600Ω 0dB输出-10?,50?步长为20?温度扫 5.831KHz三角波-10?,+50?温度扫描图(Protel 99 SE SIM99仿 5.831KHz正弦波-10?,+50?温度扫描图(Protel 99 SE SIM99 5.831KHz方波-10?,+50?温度扫描图(Protel 99 SE SIM99仿真) 由图可见,形除了时间上存延迟外并无畸变。电路在该温度范围内是正常作的。 4( 该电路主要由LM301集成运算大器构成,这款运放具有较高速,虽然价格比LM324略高,但是性能是LM324所无法比拟的。其中两个调节电位器采用多圈线绕电位器,可以到令人满意的调 元器件清单 名称 标号 C 3600PF C2 100UF 电容 C3 47uF Cp1、Cp2 100uF Cp3、Cp4 0.1uF 二极管 D1、D2、D3、D4 1N4149 稳压管 DW1、DW2 1N752 Q1、Q2 2N2907 三极管 Q3、Q4 2N2222 R1、R13、R19、R2、R20、R23、R4 10K R10、R16 200 R11、R3 100k R12、R5、R6 2K 电阻 R14 5.1K R15 75K R17、R18 47 R21 15K 名称 标号 规格 R22、R9 100 R24 700K R25 1K R26 4K R27 600 电阻 R28 6.04K R29 665 R30 60K R31 604 R7、R8 15K RP 47K RP1 8K 电位器 RP2 22K RP3 47K 主要参考文献 ,1,谢嘉奎 宣月清 冯军 编 《电子线路(线性部)》 1999年6月 高等教育出版社 ,2,谢沅清 月珍 编 《通信电子电路》2000年2月 北京邮 ,3,王永洪 编 《线性集成运算放大器及其应用》1989年2月 机械工业出社 ,4,梁恩主 梁恩维 著《Protel 99SE路设计于仿真应》2000年11月 华大学出版社 ,5,张郁弘 庄灿涛 著 《晶体管运算放大器及其应用》1978年9月 防工业出版 ,6,王戌芮等 译 国国家半导体公司 《通用线性电子器件数据手册》1995年9月 科学出版社 ,7,《电子电路百科全书》翻组 译 【美】R.F.格拉夫 著《电子电路百科全书》1986年7月 科学出版 ,8,刘志 编《电子测量与模拟电路实 ,9,《实用电子电手册(模拟电路分)》编写组编 《实用电子电路手册(模拟路分册)》1991年10高等教育 ,10,Protel World Wide Web Site http://www.protel.com ,11,National World Wide Web Site http://www.national.com 最后我们还特别感谢杨霓清老师在电路设阶段给予我 目 录 第 1.1 检波器作用 ……………………………………………2 1.2 检波器的构 1.2.1 包络检 1.2.2 同步检波 1.3 检波器的主要 1.4 峰值检波器 ………………………………………4 第 2.1 本系统工作 2.2 第 3.1 元器件清单 ………………………………………6 3.2 LF398采样,保持器 …………………………………6 3.3 主要元器件 ……………………………………………8 3.3.1 芯片LF398 …………………………………………8 3.3.2 芯片LM311 …………………………………………9 3.4 稳压二极管 …………………………………………10 第章 峰值检波器的测 4.1峰值测量精度 ………………………………………………11. 4.1.1测量交流信号 ………………………………………11 4.1.2.测量具有直 第 5.1 系统的测 5.2 系统测量 5.3 系统误差 5.4 系统调试 5.5 系统设计 第 参 1 第一章 绪论 1.1 检波器作用 检波,是检出波动信号中某种有用息装置。用于识波、振荡或信号存在或变化的。检波器通常用提取所携带的信息。最简单的检波器仅需要一个二极管就以完,种极就被称做检波二极管。检波器通用来提取所携带的信息。检波器分为包络检波器和同步检波器。前的出信号与输入信号包络成应关系,主要用于标准调幅信号的解调。后者实际上一个模拟相乘器,为了得到调作用,需要另外加入个与输入信号的载波完全一致的振荡信号(相干信号)。同步检器主要用于单边带调幅信号的解调或残边带调幅 从幅波中恢复调制信号的电路,也可称为度调。与调制器一样,检器 1.2 检波器的构成及工作原理 1.2.1 包络检波器 图1是典型的包络检电路。由中频或高频放大器来的标准调幅信号ua(t)加在L1C1端。经检后在负载RLC上产生随ua(t)的包而变化的电u(t),其波形如图2所示。这种检波的输出u(t)与输入信号ua(t)的峰值成正比,所以又称峰 2 包络波器的工作原理可用图2的波来明。在t1<><><> 。外,检波器的输出通常通 容、电阻耦合电路加到下一级放大器,如图1中虚线所。如Rg小,则检波后的输出电压 u(t)底部即被切掉,产生所 图3为同步检波器框图。模拟相乘器的一个输入为一单频调制的单边带调幅信号,u(t),Ucos(ωt,Ωt),其中ω为载波信号角率,Ω为调信角smcmcm频率;另一输入是机产生的相干信号,即u(t),Ucos ωt,则乘法器 压u(t)与u(t)和u(t)的乘积正 数。u(t)中包两项,一项为高频项(2ω+Ω),另一项为低频项(Ω)。通低通0cmm滤波后将高频项滤除,即得到与调制波成对应系的输出。u(t) 通常可用本c地振荡器或锁相环生。同步检波器的抗干扰性能比包络检波器优越,但是它的电 3 1.3 检波器的主要性能指标 1)电压传输Kd系数说明检波 ?输入为高频等幅波 K=U/Udoim ?输入为高频调幅波 K=UΩm/maUdim 注: K总是小于1, K越接近1越好 dd 2)输入电阻 说明检波器对 R=U/Iiimim 此外检波器还有反映其失真 1.4 峰值检波器 在子设备中,常要求对信号的峰值进行检波:如大动态围的弦信经对数压缩后,为了得到映正弦的有效值,就不能用一 峰检波器是一个能记忆信号峰值的电路,输电压的大小,一追 1. 当Vi〉Vo时: 信 正 对 D 2. 当Vi〈Vo时: OPA的输出Va为逆向偏压,相当于开 路,于是电容C既不充电不放电,维持 上述电路只能工作一次,所以我们要能够控制电容C的电过程,使得个电路可以重复地工作。同时电路中加定的保护措施以及加入阻抗配的电路(比如跟随器等),以提高电路的带负 4 第 2.1 本系统工作原理 LF398的输出电与输入电压通过比较器LM311进行比较,当输入电压高于输出电压,LF398的逻辑制引脚被置成高电平,使LF398处于样态。当输入压到峰值而下降时,LF398的逻辑控 2.2 本系统电路图 5 第 3.1 元器件清单 元 LF398N 1 采样保 LM311 1 电压比 电 电 电 电 可 5V稳压二极管(2CW12) 1 钽 DIP插座 2 双列直插插座 面 导 3.2 LF398采样,保持器 采保持电路实质上是一种模拟信号存储器,它在数字指控制,使关通断,对输入信号瞬时值行采并存,通常用两个运算放 放器A是射随器。它对拟信号提供了 输阻抗,使存储电容C能速充电和放电, 间缓冲作用。开关K在指令控制下通断,对电容C充电放电,开关S通1H1常使用FET 采/保持电路经常使用集成路LF398,该 LF398具有采样和保持能,它是一种模 6 对入的模拟量进行采样和寄。图5-3是该器 ??端分别为V和V电源。电源电压范 ?为失调调零端。当输V=0,且在 端使V=0。 o ? ?端为输出端。 ? ? ? “1”时采样,为“0”时保持。 LF398内部电路原理图如图所示。 当8端为“1”时,使LF398内部开关 电跟随器,所以,V = V,并使迅速充电 压 LF398电路原理图 当8端为“,”时,LF398部关断开,输出电 时C上保持的电压,以实保持目的。端, 采 采保持器LF398对电信号进行采样/保 7 高平,采样;低电平,保持。输入正 R1R2+5V 24k 1k -12VD1 21A4 Uoui35 8LF39863.3 P2.5 C10.01uf -5V 3.3 主要元器件 3.3.1 芯片LF398 LF398是一种高性能单片采样/保器。它具有高的直流精度、很快的采样和低的下降速。器件的动态性能和保持性能可通过合适的外接保持电达最。如择1000PF的持电容,具有6us的采样时间,可达到12bit的精度。LF398的格低廉。电源电压可从?5,?18V任意选择,其性能几乎无影响。采样/保持的逻辑控制可与TTL或CMOS电平接。它可广泛地应用于高速A/D转换系统、数据采集系统和要同步采样的领域。该器件外形采用8脚DIP 性特点:A.具有12bit吞精度;B.采 10小于20uV;D.可靠的整体构;E.输入阻抗:大 LF398内部电路结构 LF398内部电路结构如图3,N1是输入缓冲放器,N2是输入阻抗射极输出器。辑控制样/保持开关:当开关S ?引脚说明 引功能为:1、4脚:V、V,正、负电源输 8 电;2脚:OFAD,失调压 采/保持输出端;6脚:HOC,采样/保持电容接端;7脚:MREF,逻辑控制电平参端,一地;8脚:MCTR, 下是LF398的基本连接图。失调电压的调整是过V的压并调整1K,Ω电位 控逻辑在高电平时为采样,在平时为保持。本 3.3.2 芯片LM311 (1)引脚图 (2)引脚功能 GROUND/GND 接地 INPUT + 正向输入端 INPUT - 反向输入端 OUTPUT 输出端 BALANCE 平衡 BALANCE/STROBE 平衡/选通 9 V+ 电源正 V- 电源负 NC 空脚 3.4 稳压二极管 稳压极管是一个特殊的面接触型的半导体硅极,其V-A特性线与普通二极管相似,但反向击穿曲比陡~稳压二极管工于向击穿区,由于它在电中与适当电阴配合后能起到稳定电压的作,故称稳管。稳压管向电压在一定范围内变时,反向电很小,当反向电压增高到击穿电压时,反向电突然猛增,稳压管从而向击穿,后,流虽然在很大范围内变化,但压管两端电压的变化却相当小,利于这一特性,稳压管访问就在路到起到稳压的作用了。而且,压管与其它普能二极管不同反向击穿是可逆性的,当去掉反向电压稳压管又恢复正常,但如果反向电流超过许范围,二极管将会发热击穿,所以,与其配合电阻往往起 10 第章 峰值检波器的测试及性能 4.1.1测量交流信号 分 表1 交流信号测量表 相误差uup1p2输入信 u,up2p1(V) (V) *100%up1 0.7 0.75 7.1% 0.8 0.86 7.5% 0.85 0.87 2.3% 0.9 0.95 5.6% 4.1.2.测量具有直 输1Khz、幅度为2V的正弦波, 表3 交直流信号测量表 输信号直流分量 输入信号 相对误差 (V) (V) (V) 1.00 2.50 2.26 5.6% 2.00 3.50 3.42 2.2% 3.00 4.50 4.17 7.3% 4.00 5.50 5.36 2.5% 11 第 5.1 系统的测量范围 由述电路原理图可知供给峰值检波器工作的是+15V、-15稳定电源,由理论知识可知系统的量范围0V—15V,但是由于种 5.2 测量精度 由布线和焊接的局限性,使电路的稳定性能不好,测量度较,一在0.1V——0.2V,些板性较差,测量精度更低, 1)仪器误差 仪误差是由于仪器本身其附件的电气和 2)使用误差 使误差又称为操作误差,是由装、调节、使用 人 4)环境误差 环误差又称为影响误差,是由于受到外界的温度、 5)方法误差 方误差又称为理论误差,是由于量 5.4 系统调试注意事项 1、要认真检查板子布线以及焊接, 2、连接线路时要看清+15V、-15V、GND、输入输的连 3、调试时要注意示波器、信号发生器的各档位选,以示波器通道1,通道2是直 12 号,一定是在输入端加直流信 4、在调试过程中要注意电容的充放电,在源打开一会时,要随 5、在调试完之后,要注意关 5.5 系统设计存在的不足 1、由于老师发的面包板是个光板子,所有的布都要自排板布线,这样导致板的布五花八门,缺乏了美 2、我们要能够控制电容C的放电过程,使得这电路以复的工作。同时在电路加一的保护措施以及加入 13 第 为一周的课程设计结束了,本次设计的内容 这次原理图是由老师来确定的,第一天上午,师把个峰值检波器的原给我们讲了一下,在老师讲的过程中,感这次要做的课程设计好。当老师吧元器件和面包板下来的时候,由于元器件不多,就以为这样的单的板还一,是不有点儿浪费时间了,讲完之后,老师便我们把元器件的布局给想好,下午焊接的时候会快些。看了一会,我便把板的布局给想了,上去还蛮美观的。到了下午,开始焊接,由于中级工实训的那些基础,我先把所有的元器件全都焊上去了,接下来就是焊接跳线了,没想跳线是如此的之多,于上午大意,焊接跳线的时候导致了还有些跳线是需要重叠的,但又为了避免短路,所以想办把那些要重叠的跳线给隔离开。没想到,原本以为简的板子还花了 接下便到了调试的过程了,老师先把调试的过讲了遍后自己开始调了。首先测试输出交流信号的情况,我先信源调试好一个频率为10KHZ,峰值为0.5V的交信号加在板子的输出端,板子的输出端接示波,打直源,示波器出现了一条直线,但是这直线有一定的化,有些地方成陡峭的状态,但是这些并不会影响试的结果,我看了一下数,512mv。差不算太大。于是又测量了几组据。误差基上相差不大。接下来便是加具有直流分量的交流信号了。这我选用的是,频率为50KHZ的交信号,并增加了直流量为2V,按照上面步骤,接好线,但是由于自己布线的缺陷,还有焊接过程中的不注意,板子不稳定,在多次的努力之下,终于测出误差不算太大数据了。终于 在次课程设计中,我明白还是要加强自己的 14 参考文献 电 电 新 电 电 15 课程设计(论文) 题 名 称 数字电压表设 课 程 名 称 电气测量技术与仪器课程计 学 生 姓 张旺 学 2014年12月27日 邵 2.此表1式3份,学生、指 指 邵 学生名 张 学 号 1241203014 系 电气工程系 专业班级 测控术与仪器 题目名 数字电表设计 课程名称 电气测量技术课程设计 一、 二、指导教师评定 2、表中的“评分项目”“权重”根据 本课题验主要采用AT89C52芯片和ADC0804芯来完成一个简易的字电压表,完成对输入0~10 V的模拟流电的测量,并过一个4一的8段LED数码管进行显示,。由AT89C52和ADC0804组成的数字压表具结简单,易于操,灵敏度高的特点。该电压表测量电路案三个模块组成:AT89C52芯片、数据处理模块及显控制模块。A/D转换主由芯片ADC0804来完成,它负责把采集到的模拟量为相应的数量再传送到数据处理模块。数据处理则由芯片AT89C52来完,其负责把ADC0804传送来的数字经一定的数据处理,产相应的示码送到显示模块进行显示;另外它还控制着ADC0804芯片的工作。显示模块主要由7段码管组成,显示测量到的电压值。以上方法能较准的对压的测量。从而 关词:AT89C52芯;ADC0804 概...........................................................................................................................................1 1 设计任务和要求...............................................................................................................2 1.1 数字电压表课设计实任务.........................................................................2 1.2 数字电表功能求........................................................................................... 2 2 系统硬设计....................................................................................................................3 2.1 工作模 2.1.1 A/D转换模块.............................................................................................................3 2.1.2单片机系统................................................................................................................5 2.1.3 LED显示模块.............................................................................................................6 3 系统程序设计 ...............................................................................................................9 3.1 初始化序....................................................................................................................9 3.2 主程流程设计............................................................................................................9 3.3 C语言程序设计..............................................................................................................9 4 程序调试及性能分 随着子科学技术的发展,电子测量成为广大子工者必须掌握的手,对测量的精度和功能的要求也越来高,而电压的测量甚为突,为电压的测量最为普遍。另外,准确可靠的电压测量在教学实验中也有重要。数电压是采用数字化测量技术,连续的模拟(直流输入电压)转换成不连续、离散的数字形并加以显示的仪表。而统的指针电压功能单一、精度低,不能满足数化时代的求,采用单片机的数字电压表,由于精度高、抗干扰能强,可扩展性强、集成方便,还可PC进行实时通信。目前,各种单片机及A/D 转换器构成的数字电压表成本较低,已被广泛用于电子及电测量、工业自动化仪表、自动测试系统等智能化量领域,表现 1 设计任务和要求 1.1 数字电压表课程设计实验任务 利单片机AT89C52和ADC0804设一个字压表,能够测量0-10V之的交直流电压值,四 1.2 数字电压表功能要求 电通电或按复位键时,通过改变电位器的阻值改变模拟输电压,不断将模拟电压转换成数字量,过LED 2 系统硬件设计 2.1 工作模块介绍 采用用的51单片机作为芯片,ADC0804芯片的CLK时钟信号脚接单片机的ALE脚; ADC0804参考电VCC,IN0接入电压,ADC0804通过采样进来的数据信号送给片,再通过计算可得到压值,再通过显示电路,将所求得的电压值显示出来。通过调节连接IN0引脚的电位器及可以调节电压是电压在0~10V左右变化。图2.1工作模 . 图2.1 工作模块设计图 2.1.1 A/D转换模块 现实界的物理量都是模拟量,能把模拟量转成字量的器件称为/数转换器(A/D转换器),A/D转器是单片机数据采集的关键接口电路,按照各A/D芯片的转化原理可分为逐次逼近型,重积型等。积分A/D转换器具有抗干能力强、转换度高、价格便宜等优点。与双积分相比,逐次近式A/D转换的转换度更快,且精更高,比如ADC0809、ADC0804等,它们通常具有8路模拟选通开关及地址译码、锁电路等,它们可以与单片机系统连,将数字量送到单片机进行析和显示。一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决位数和时钟周期,逐次逼近型A/D转换器转换度快,因而 ADC0804芯片有28条脚,采用双列直 图2.2 ADC0804引脚图 下 (1)CS:Chip Select,与RD、WR 接脚的输入电压高低起判 (2)RD:Read。当CS、RD皆为低准(low)时,ADC0804 会 (3)WR:启转换的控制讯号。当CS 、WR 皆为低位准(low)时,ADC0804 做清除的动作,系统重置。当WR (4)CLK IN、CLKR:频率输入/输出。频率输入可连接处理单元的讯号频率围为100 kHz 至800 kHz。而频率输出频率最大法大于640KHz,一般可选用外部或内部来提供频率。若在CLKR及CLKIN加上电阻及电容,则可产生ADC 工 (5)INTR:中断请求。转换期间为高位准(high),等到转换完毕时INTR 会变低位准(low)告知 (6)VIN(+)、VIN(-)):差动模拟讯号的输入端。输入电VIN=VIN(+)-VIN(-),通常使用单输入,而VIN(-)接地。 (7)A GND:模拟电压的接地端。 (8)DB0~DB7: 2.1.2 单片机系统 单 图2.2 单片机89C52引脚图 AT89C52芯片的各引脚功能为: P0:这组引脚共有8条,P0.0最位。这8个脚有两种不同的功能,分别适用不的情况,第一种况是89C52不带外存储器,P0口可以为通用I/O口用,P0.0-P0.7用于传送CPU输入/输数据,这时输出数据可以得到锁存,不要外接专用锁存器,输入数据以到缓冲,增加了数据输入可靠性;第二种情况是89C52带片外存储器,P0.0-P0.7在CPU访问片存储器时先传送片外存器的低8位地址,然后传送CPU对片外存储器的读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外 P1口:这8个引脚和P0口的8个引脚类似,P1.7为最高,P1.0为低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和 P2口:这组引脚第一功能与上述两组引脚的第一功能相同即它可以作为通I/O使用,的第一功能和P0口引脚的第二功能配合,用输片外存储器的高8位地址,共同中片外存储器单元,但并不是像P0口那样传送存储器的 P3口:这组引脚的第一功能和其余三个端的一功能相同,第功 表2.2 P3口各位的第二功能 ALE:地址锁存允线,配合P0口的第二功能使用,在访问外部存储器时,89C52 的CPUP0.0-P0.7引脚线去传送随后而来的片外存储器读/据。在不访问外储器时,89C52自动在ALE线上输频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或时脉 /EA:片外存储器访问选择线,可以控制89C52使用 /PSEN:片外ROM的选通线,在访问外ROM RST:复位线,可以使89C52处于复(初始化)工作状。通 XTAL1和XTAL2:片内震荡电路输入线,这个端用来外接石英晶体和调电 2.1.3 LED显示模块 LED是发光二极管显器的缩写。LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广应用。LED显示器是由干个发光二极管组成显示字段的显示器件。在单中使用最多的七段码显示器。LED七段数码显示器由8个发二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个点形 管显示器的右下角作为显示小数点用,通过不同的组合用 : 图2.3 LED引脚排列 LED显示器的选择:在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此了位数,寸,型号不同的LED显示器供选择,在计中,选择4位体的数码型LED显示器,简称“4-LED”。本系统中前一位显示电压的整数位,即个位,后两位显示 4-LED显示器引脚图2.4示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g4位LED段的公共输出端,1、2、3、4分别是每一位数选端,dp小数引出端,4位一体LED数码显示管的内部构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引到器 图2.4 4位LED引脚 对这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在起,所必使用动态扫描方式(将所数码管的段选线并联在一起,用一个I/O接口 LED译码方式:译码方式是指由显示字符转得对应字段码的方式,对于LED 硬译码是指利用专门的硬件电路 软译码就是编软件译码程序,通过译码程序来得到要显示的字符的段码。 本设系统中为了简化硬件线路设计,LED译码用件编程来实现。由于本设计采 表2.2 共阴极字段码表 3系统程序设计 3.1 初始化程序 系上电时,将A/D转换芯初 3.2 主程序流程设计 图 当行一次测量后,将显示出每一通道的A/D转换值。其流程图如图3.1所示。 出数据采动态扫描法实现4位数码管的数值显示。测量所得的A/D转换数据传送到P0口,测量数据 3.3 C语言程序设计 程序见附件1 4.程序调试及性能分析 通过次的反复测试,发现仿真理论值基本有偏差。查数据可知,ADC0809芯片精确度为0.019左右,误差大小为2%。本设计重的如何将ADC0809芯所采集的数据送给单片机,同时在将数据送给单片机后如将ADC0804芯片读的数进行计算,然后进行显示。在按键时如何控制进入电压测试,何停止电压测试,电压测试时必须可以不断的调节电压可以测量出电压值大小。 仿真图见附件物图见 4.2 图4.1 实物图 图4.2 实物图 总 结 本课程设计最大的遗憾就是因为器材的原因,没有将事物制作出,但是,通过次可设计,让我更加的熟悉了单机汇编程编写。除此之外还进一步加了对课本知识的理解,更加熟悉了各种专业知识 说实,在这次课程设计中遇的题还真不,首先,在器材规格这块的选取就吃尽了苦头,但是,通过一个一个的数据的调节,终还是了一比较令人满意器材。接下来就是程序的设计,虽然该程序的流程很清楚,但在时,字符定义方面犯了极应该的错误,还好,最后在团队的帮助下,发现了错误并时改正了。另外由我的粗心大意,将数码管的段码写反了,本应该是阴极的,却被我写成了共阳极代码, 总,本次课程设计我们通过编程更加的了解了ADC0804以 通本次课程设计,我发自的动手力以及思维能力还有所欠缺,在一些思路简单清晰的地方复杂化了。虽然因为材的,次的课程设无法将事物做出来,但是,我还是认为,没有实物的设,是失败的,至少实际手能力这一块,我们就没有得到有效的锻炼,所以,希望自己以后能住每一次的实践机会,努力提高自己的实际动手能力,将更多的专业知运用到 参考文献附件 [1] 何立民.单片机高级教——应用与设计[M].北京:北京航空航大学出版社,2000. [2] 李朝青.单片机原理及借口技[M].北:京航空航天大学出社,2005. [3] 赖麒文.8051单片机C语言彻底应[M]北京.科学出版社,2002. [4] 张克农.数字电子技术基础[M]。北京。高等 附件1 #include #define uchar unsigned char #define uint unsigned int #define ad_con P2 //AD控制口 #define addata P0 //AD数据计入入口 #define Disdata P1 //显示数据码出口 #define uchar unsigned char //符号字(8位) #define uint unsigned int //无符号整数(16位) sbit ALE=P2^3; //锁存址控制位 sbit START=P2^4; //启动一次转换 sbit OE=P2^5; //0809输数据控制位 sbit EOC=P3^7; //转换 uchar code dis_7[11]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x00}; /* 共阴七段LED段码表 "0""1""2""3""4""5""6""7""8" "9" "不亮" */ uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7}; //四位列扫描控制字 uchar data ad_data[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//定义8数据 uint data dis[5]={0x00,0x00,0x00,0x00,0x00}; //定义4个显示数据单元、1个数据暂存单元 /********1毫秒延时子函数**********/ void delay1ms(uint t) { uint i,j; for(i=0;i } void t0(void) interrupt 1 using 3 { CLK=~CLK; } test() { uchar m; uchar s=0x00; TR0=1; ad_con=s; for(m=0;m<8;m++) {="" ale="">8;m++)> _nop_(); _nop_(); ALE=1; //换通道地址锁 _nop_(); _nop_(); _nop_(); _nop_(); START=0; //开始转换命令 _nop_(); _nop_(); _nop_(); _nop_(); //延时4 ad_data[m]=addata; OE=0;s++; ad_con=s;// } ad_con=0x00; TR0=0; } scan(uchar i) { uchar k,n,m; int h; m=i; dis[3]=0x00; //通道初值 { for(n=0;n<8;n++) 每次显示8个数据="" {="" dis[2]="ad_data[n]/51;" 测得值转换为三位bcd码,大为5.00v="" dis[4]="ad_data[n]%51;" 数暂存="" dis[4]="dis[4]*10;" 算小一位="" dis[1]="dis[4]/51;" dis[4]="dis[4]%51;" dis[4]="dis[4]*10;" 计算小数第二位="" dis[0]="dis[4]/51;" for(h="">8;n++)><500;h++) 每个通道值显示时间控制(约1秒)="" {="" for(k="">500;h++)><4;k++)>4;k++)> P3=0xff; } } dis[1]++; //通道值加1 }; if(n==8) 15 n=0;k=0; } } if(m==1) { dis[3]=dis[3]+q; dis[2]=ad_data[q]/51; //测得值转换为三位BCD码,最大为10.00V dis[4]=ad_data[q]%51; // 余数暂 dis[4]=dis[4]*10; //计算小数一 } } } void main() { P0=0xff; //初始化端口 P2=0x00; 16 P3=0xff; _nop_(); _nop_(); _nop_(); START=0; OE=0; TMOD=0x02; //定时器0为8位 TH0=245; TL0=245; //40us ET0=1; EA=1; z=1; q=0; While(1) { delay1ms(800); key(); test(); //控制复位 scan(z); } } 17 附件 2 18电子测量课程设计
电子测量课程设计
电子测量课程设计
电子测量课程设计