基于.-单片机的数字万用表的设计_第1页
基于.-单片机的数字万用表的设计_第2页
基于.-单片机的数字万用表的设计_第3页
基于.-单片机的数字万用表的设计_第4页
基于.-单片机的数字万用表的设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...毕业论文〔设计〕题目基于单片机的数字万用表的设计学生姓名王娅学号1210064085所在学院物理与电信工程学院专业班级电信1203班指导教师黄朝军完成地点物理与电信工程学院实验室2016年6月5日陕西理工学院本科毕业设计任务书院(系)物理与电信工程学院专业班级电子信息科学与技术(电信1203)学生姓名王娅一、毕业设计题目基于单片机的数字万用表设计二、毕业设计工作自2015年11月9日起至2016年5月18日止三、毕业设计进展地点:四、毕业设计应完成内容及相关要求:数字万用表是用数字化测量技术,把连续的模拟量转换成不连续的、离散的数字形式并加以显示的仪表。传统的指针式万用表功能单一且精度低,不能满足数字化时代的需求,采用单片机设计的数字万用表,精度高、抗干扰能力强、可扩展性强、集成方便。本次研究是对不同量程的各种测量内容的转换,各局部电路组合成一个完整的数字万用表,而难点解决的问题就是程序的设计,要保证其可行性从而保证设计的正确性。利用A/D模数转换器将连续的模拟信号、模拟量转换成离散的、不连续的数字量,通过程序利用相应的对应关系显示出简单易懂的数字量,从而完成数字万用表的功能。五、毕业设计应收集资料及参考文献:1、应收集与课题相关文献至少12篇〔其中包括一篇英文文献〕,文献的发表年限应为2010年至2016年;2、除了文献之外,所参考的书目不能超过3篇;3、所有的参考资料要留存电子版,在交论文时一并打包交予指导教师。六、毕业设计的进度安排:1、必须查阅大量资料〔包括一定数量的外文资料〕,了解课题的研究背景、意义,熟悉设计中要用到的相关电路知识;完成开题报告;并完成一篇外文文献的全文翻译工作;〔1月10日-3月18日〕2、进展系统的概要设计;〔3月19日-4月10日〕3、熟悉设计软件,并提交中期报告;〔4月10日-4月20日〕4、系统的设计与实现;准备作品的验收;完成论文第一稿;〔4月21日-5月10日〕5、根据要求对对论文及作品进展完善,完成论文第二稿;〔5月11日-5月20日〕6、制作辩论PPT,准备辩论材料,准备辩论,并完成后续工作;〔5月21日-6月10日〕7、必须定期与指导教师见面,汇报进展情况,按时完成论文的撰写工作。指导教师签名黄朝军专业负责人签名学院领导签名熊晓军批准日期2016-01-11基于单片机的数字万用表的设计王娅〔陕西理工学院物电学院电子信息科学与技术专业电信1203班,陕西汉中723000〕指导教师:黄朝军[摘要]以STC89C52单片机作为主控制芯片,结合电压检测电路、电流检测电路、电阻检测电路、数码管驱动电路、复位电路、震荡电路、52单片机最小系统、显示局部、A/D转换和控制局部电路以及ADC0832数据转换芯片和数码显示装置,实现了数字万用表的设计。所设计的万用表能够测量电压值、电流值以及电阻值,并且以四位数码显示。数字万用表在电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域方面具有一定的实用价值。[关键词]单片机;数字万用表;设计ThedesignofthedigitalmultimeterbasedonsinglechipmicrocomputerWangYa〔Grade12,Class3,MajorElectronicInformationScienceandTechnology,SchoolofPhysicsandTelecommunicationEngineering,ShaanxiUniversityofTechnology,Hanzhong,723000Shaanxi〕Tutor:HuangChaojunAbstract:STC89C52microcontrollerasthemaincontrolchip,combinedwithavoltagedetectioncircuit,currentdetectioncircuit,aresistancedetectioncircuit,digitaltubedrivingcircuit,resetcircuit,anoscillationcircuit,a52MCUminimumsystem,display,A/DconversionandcontrolcircuitpartandtheADC0832dataconversionchipanddigitaldisplaydevice,torealizethedigitalmeterdesign.Thedesignofthemultimeterisabletomeasurementvoltage,currentandresistance,andusingafourdigitaldisplay.Thedigitalmultimeterhascertainpracticalvalueintheelectronicandelectricalmeasurement,industrialautomationinstrument,automatictestsystemandintelligentofmeasurementfield.Keywords:Microcontroller,STC89C52,Design.目录1引言11.1设计目的和意义11.2研究现状及开展趋势21.3主要研究内容22设计方案22.1根本原理22.2硬件系统设计总体框架图72.3硬件电路设计方案及芯片72.3.1设计方案72.3.2芯片选择73硬件设计113.1电路模块113.2硬件电路144软件仿真154.1软件介绍154.2流程图154.3仿真图164.4仿真结果174.4.1电压档仿真结果174.4.2电流档仿真结果174.4.3电阻档位仿真结果185结语18致谢19参考文献20附录A21附录B22附录C23附件D241引言1.1设计目的和意义数字万用表亦称数字多用表,简称DMM〔DigtialMultimeter〕。它是采用数字化测量技术,把连续的模拟量转换成不连续的、离散的数字形式并加以显示的仪表。传统的指针万用表功能单精度低,不能满足数字化时代的需求,采用单片机的数字万用表,精度高、抗干扰能力强,可扩展尾强,集成方便,目前,由各种单片机芯片构成的数字电万用表,已经被广泛应用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。与传统仪表相比数字万用表具有具有以优点:〔1〕显示清晰直观,计数准确为了提高观察清晰度,新型的手持式数字万用表〔HDMM〕已普遍采用字高为26mm的大屏幕LCD〔液晶显示器〕。有些数字万用表还增加了背光源,以便于夜间观察读数。〔2〕显示位数数字万用表的显示位数通常为3位半到8位半。〔3〕准确度高准确度是测量结果中系统误差与随机误差的综合。他表示测量结果与真值的一致程度,也反映了测量误差的大小,准确度越高,测量误差越小。数字万用表的准确度远远优于指针万用表。〔4〕分辨力高数字万用用表在最低电压量程上末位1个字所代表的电压值,称作仪表的分辨力,宏观世界反映了仪表灵敏度的上下。分辨力随着显示位数的增加而提高。〔5〕测试功能强数字万用表不仅可以测量直流电压〔DCV〕、交流电压〔ACV〕、直流电流〔DCA〕、交流电流〔ACA〕、电阻〔Ω〕、二极管正向压降〔Uf〕等等。新型数字万用表太多增加了下述测试功能:读数保持〔HOLD〕、逻辑测试〔LOGIC〕测试等等。〔6〕测量范围宽数字万用表可满足常规电子测量需要。智能数字万用表的测量范围范围更宽。〔7〕测量速率快数字万用表在每秒钟内对被测电压的测量次数叫测量速率,单位是“次/秒〞。它主要取决于A/D转换器上的速率。一般数字万用表的测量速率为2~5次/秒。有的能到达20次/秒以上,另有的一些比这个还要高的多。数字万用表可以满足不同用户对测量速率的需要。〔8〕输入阻抗高数字万用表电压档具有很高的输入阻抗,通常为10~10000MΩ,从被测电路上吸取的电流小,不会影响被测信号源的工作状态,能减小由信号源内阻引起的测量误差。〔9〕集成高,微功耗新型数字万用表普遍采用CMOS大规模集成电路的A/D转换器,整机功耗很小,3位半,4位半手持式数字万用表的整机功耗仅仅几十毫瓦,可用9V叠层电池供电。〔10〕保护功能完善,抗干扰能力强数字万用表具有比拟完善的保护电路,过载能力强新型数字万用表还增加了高压保护器件,能防止浪涌电压。正是基于以上优点本设计就是基于这个根基设计一个基于单片机的数字万用表。该设备具有直观简单的优点。并且能够深入说明万用表的测量原理。能直观的了解万用表各个局部的构造和测试原理。数字万用表是当前电子、电工、仪器、仪表、和测量领域领域大量使用的一种根本测量,已被广泛利用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测试领域,展示出其强大的生命力。随着时代科技的进步,数字万用表的功能越来越强大,把电量和非电量的测量技术提高到崭新的水平。其主要特点是显示直观、读数准确、精度高、分辨率强、功能完善、性能稳定、过载能力强、耗电省、体积小、便于携带。1.2研究现状及开展趋势近年来我国对智能仪器的研究到了一个新的层次,无论是在生产还是科研方面都取得了很大的成就[1-3]。随着微电子技术的高速开展,单片机的功能集成化,智能仪器也开展到一个新的阶段。随着单片机技术的广泛应用,数字万用表得到迅速开展,无论是便携式万用表,还是台式万用表在精度、功能和性能上都有较大的提高。进入21世纪以来\t"://xueshu.baidu/_blank"基于DSP的高精度数字万用表研究、\t"://xueshu.baidu/_blank"PXI高精度数字万用表的设计与实现以及出现了一些新的特点及新的技术[4-5]。研究现状也出现了一些新的瓶颈和难点,比方财力人力的大量浪费、新技术开发难度大和研发瓶颈等。电子领域以后的开展势必是更加系统的集成化以及大量核心技术的运用,比方像万用表一类的产品将会出现功能更加强大,构造更加简单,更易携带和性能更加稳定等特点。由于电子设备的速度越来越快,容量越来越大,本钱越来越低,全球电子产品设计朝着人工智能、无线互联、集成化、娱乐化的方向开展。人工智能徜徉在国际消费电子展,随处可见人工智能在产品设计中的各种应用。1.3主要研究内容本次研究探讨了数字万用表的目的和意义,以STC89C52单片机作为主控制芯片,结合电压检测电路、电流检测电路、电阻检测电路、数码管驱动电路、复位电路、震荡电路、52单片机最小系统、显示局部、A/D转换和控制局部电路以及ADC0832数据转换芯片和数码显示装置,实现了数字万用表的设计[6-7]。本设计重点要解决的问题是对不同量程的各种测量的转换,还有就是各局部电路组合成一个完整的数字万用表,所设计的万用表能够测量电压值、电流值以及电阻值,并且以四位数码显示。而难点解决的问题就是程序的设计,要保证其可行性从而保证设计的正确性[7-8]。利用A/D模数转换器将连续的模拟信号、模拟量转换成离散的、不连续的数字量,通过程序利用相应的对应关系显示出简单易懂的数字量,从而完成数字万用表的功能。2设计方案2.1根本原理数字万用表的最根本功能是能够测量电压,电流以及电阻,其原理框图如图2.1所示:图2.1数字万用表的各局部组成各模块功能如下:〔1〕模数〔A/D〕转换与数字显示常见的物理量都是幅值〔大小〕变化的模拟量〔模拟信号〕。指针式的仪表可以直接对模拟信号〔电压、电流〕进展显示。而对于数字式仪表,需要把数字信号转换成模拟电信号〔通常是电压信号〕,再进展显示和处理〔如存储、传输、打印、运算等〕。数字信号与模拟信号不通,其幅值〔大小〕是不连续的。这种情况被称为“量化的〞。假设最小量化单位〔量化台阶〕是Δ,则数字信号的大小一定是Δ的整数倍,该整数可以用二进制数码表示。但为了能直观地读出信号大小的数值,需经过数码变换〔译码〕后由数码管或液晶屏显示出来。例如,设Δ=0.1mV,我们把被测量电压U与Δ比拟,看U是Δ的多少倍,并把结果进展四舍五入取整数N〔二进制〕。一般情况下,N≥1000即可满足测量精度要求〔量化误差≤1/1000=0.1%〕。最为常见。最常见的数字表头的最大数为1999,被称为三位半数字表。对于上述情况,我们我们把小数点定在最末尾之前,显示出来的就是以mV为单位的被测电压大小。如:U是Δ〔0.1mV〕的1234倍,即N=1234,显示结果为123.4〔mV〕。这样的数字表头,再加上电压极性判别显示电路,就可以显示-199.9~+199.9mV的电压,显示精度为0.1mV。由此可见,数字测量仪表的核心是模数〔A/D〕转换、译码显示电路[9]。A/D转换一般又可以分为量化和编码两个步骤。〔2〕多量程数字电压表原理在基准数字电压表头前面加一级分压电路〔分压器〕,可扩展直流电电压测量的量程。如图2.2所示。U0为电压表头的量程〔如200mV〕,r为其内阻〔如10MΩ〕,r1、r2为分压电阻,U10为扩展后的量程。由于r>>r1,所以分压比方式2.1所示:〔2.1〕扩展后的量程如式2.1所示:〔2.2〕图2.2分压电路原理图2.3多量程分压器原理多量程分压器原理电路图见图2.3所示,5档量程的分压比分别是1、0.1、0.01、0.001和0.0001,对应的量程分别为2000V、200V、20V、2V和200mV。采用图2.3的分压电路虽然可以拓展电压表的量程,但在小量程档明显降低了电压表的输入阻抗,这在实际使用中是所不希望的。所以,实际数字万用表的直流电压档电路为图2.4所示,它能在不降低输入阻抗的情况下,到达同样的分压效果。图2.4直流分压电路例如:其中200V档的分压比为,如式2.3计算:〔2.3〕其余各档的分压比可以同样算出。实际设计时根据各挡的分压和总电阻来确定分压电阻的。如先确定R总:〔2.4〕再计算2000V档的电阻,即为:〔2.5〕再逐档计算出R4,R5,R2,R1。尽管上述最高量程档是2000V,但通常的数字万用表出于耐压和安全考虑,规定最高电压量限为1000V。换量程时,多刀量程转换开关可以根据档位自动调整小数点的显示,使用者可方便地直接读出测量结果。〔3〕多量程数字电流表原理测量电流的原理是:根据欧姆定律,用适宜的取样电阻把待测电流转换为相应的电压,再进展测量,如图2.5所示。图2.5电流测原理图2.6多量程分流器电路由于r>>R,取样电阻R上的电压降为:〔2.6〕即被测电流为:〔2.7〕假设数字表头的电压量程为U0,欲使电流档量程为I0,则该档的取样电阻〔也称为分流电阻〕为:〔2.8〕如U0=200mV,则I0=200mA档的分流电阻为R=1Ω。多量程分流器原理电路见图2.6。图2.6中的分流器在实际应用中有一个缺点,就是当换挡开关接触不良时,被测电路的电压可能使数字表头过载,所以实际数字万用表的直流电流档电路为图2.7所示。图2.7中各档分流电阻的阻值是这样计算的:先计算最大电流档的分流电阻R5〔2.9〕再计算下一档的R4:〔2.10〕因此可以依次计算出R3,R2,R1。图中BX是2A保险丝管,电流过大时会快速熔断,超过流保护作用。两只反向连接且与分流电阻并联的二极管D1、D2为塑封硅整流二极管,他们起双向限幅过压保护作用。正常测量时,输入电压小于硅二极管的正向导通压降,二极管截止,对测量是毫无影响的。一旦输入电压大于0.7V,二极管立即导通,两端电压被限制住〔小于0.7V〕,保护仪表不被损坏。图2.7实用分流器电路图2.8AC-DC交换器原理简图〔4〕交流电压电流测量处理数字万用表中交流电压,交流电流测量电路是在直流电压、直流电流测量的根基之上,在分压器或者分流器后参加了一级交流—直流〔AC—DC〕变换器,图2.8为其原理简图。该AC—DC变换器的主要组成局部有:集成运算放大器、RC滤波器以及整流二极管等组成。它还包括了一个电位器,这个电位器的功能是能够很好地调节输出电压的上下,它可以用来对交流电压档进展校准。调接该电位器可以使数字表头的显示值等于被测交流电压的有效值。与直流电压档原理相似,考虑到耐压和安全方面,我们通常把交流电压最高档的限量限定为其有效值,即为700V。〔5〕电阻测量原理在万用表中,电阻的测量方法是采用比例测量法,它的原理电路图为图2.9。图2.9电阻测量测量的基准电压是由稳压管ZD提供的,而流过标准电阻R0和被测电阻Rx的电流是根本相等的〔数字表头的输入阻抗很高,其取用的电流根本上可以忽略不计〕。所以A/D转换器的参考电压URFE和输入电压UIN有如下关系:〔2.11〕即有:〔2.12〕根据所用的A/D转换器的特性可知,数字显示的是UIN和URFE的比值,当UIN与URFE相等的时候,则显示的数是“1000〞。当URFE=2UIN时,显示的数是“500〞,由此类推。所以,当Rx与R0相等时表头显示的数是“1000〞。当R0=2Rx时,表头显示的数是“500〞。把此称作是比例读数特性。因此,只要我们选取不同的标准测量电阻并且对小数点进展适当的定位,便可以得到不同的电阻测量档。如对于200Ω档位时,假设取R01=100Ω时,小数点就定在十位上。如果当RX=100Ω时,这时表头就会显示出100.0Ω。当RX变化时,显示值就会作出相应的变化,那么就可以从0.1Ω测到199.9Ω。有如对2KΩ档,取R02=1KΩ,小数点就定到了千位上。当RX变化时,显示值就发生相应的变化,可以从0.001KΩ测到1.999KΩ。其余各档的情况可以以此类推。在实际应用中电阻测量运用的也是分压分流原理,根据相应的原理进展分析便可以得到不同量程的电阻测量档位,由于和前面的分压原理相似所以在此不做相应的介绍。2.2硬件系统设计总体框架图如图2.11所示,本万用表由以下几个局部功能组成:电流测量电路、电压测量电路、电流测量电路、复位电路、震荡电路、A/D转换、被测量显示以及输入(ADC)。复位电路用来清零,进展下一次的测量;振荡电路用来消除一些外来干扰,使电路工作更加稳定;ADC输入将是将输入量进展A\D转换;测量显示就是显示测量的数值。图2.11数字万用表硬件电路组成2.3硬件电路设计方案及芯片2.3.1设计方案用单片机STC89S52与ADC0832设计一个数字万用表,运用电阻的分压分流,形成电压测试电路、电流测试电路和电阻测试电路,并且运用四位数码显示。为了设计简单和硬件的易于实现以及可操作性,利于滑动变阻器做分压分流,但是这样做的后果就是使万用表的量程变小。那么实现电压测量的测量范围是0~20V,实现电流测量的范围是0~200mA,实现电阻测量的范围是0~1K。在实际生产工作中这样的量程显然是不能满足我们的实际需要的,但是在毕业设计中为了表达原理和实际操作的可实现性使用本方法。2.3.2芯片选择主控芯片的选择及方案比照方案1:选用专用电压转换芯片INC7107实现电压的测量和现实。缺点是精度比拟低,且内部电压转换和控制局部不可控制。优点是价格低廉。方案2:选用单片机AT89S52和A/D转换芯片ADC0832实现电压的转换和控制,用液晶显示出最后的转换电压结果。缺点是价格稍贵。优点是转换精度高,且转换的过程和控制、显示局部可以控制。基于课程设计的要求,优先选用了:方案2。显示部件的选择及方案比照方案1:选用4个单体的共阳数码管,将a—h全部连接起来,然后接到单片机口的I/O上进展控制。缺点是焊接时比拟麻烦,容易出错。优点是价格比拟廉价。方案2:选用译码芯片74LS47和74LS138配合一个四联的共阳数码管显示。缺点是价格较贵,焊接麻烦,单片机控制时比拟麻烦。优点是有效的节约了单片机的I/O口资源,适用于单片机I/O口不够用的情况下。方案3:方案三:采用LCD液晶显示器显示。而LCD液晶显示则耗能少,能够显示万用表、电压、电流、电阻等汉字,在显示方面更加灵活,而且改变显示时只要改变软件设计就可以,不用改变硬件电路的设计,易于电路的功能扩展。电路的软件设计也很简单。另外,这种设计硬件更加简洁。采用LCD液晶显示方案的缺点是在显示位数比拟少时,价格略显昂贵。基于现有的元器件和设计应用的可操作性,以及以上方案的要求,优先选用了:方案1。1.STC89C52单片机介绍和概述STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用STC公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。图2.12STC89S52STC89C52单片机是宏晶科技生产的单时钟、机器周期为1T的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051单片机,而且速度快8~12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D,应用于电机控制,抗干扰能力强的场合。STC89C52的主要特点:〔1〕机器周期为1T,指令代码完全兼容传统8051单片机;〔2〕STC89C52系列的工作电压:5V;〔3〕工作频率范围:0~35MHz;〔4〕片上集成1280字节RAM,用户应用程序空间60K字节;〔5〕无需专用编程器或专用仿真器,可通过串口〔P3.0和P3.1〕直接下载用户程序,数秒即可完成;〔6〕有EEPROM功能用于存储;〔7〕看门狗;〔8〕四个16位定时器;〔9〕7路外部中断,下降沿或低电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒,INT0〔P3.2〕,INT1〔P3.3〕,T0〔P3.4〕,T1〔P3.5〕,;〔10〕工作温度范围:-40~+85℃(工业级),0~75℃(商业级);〔11〕8路10位精度的A/D转换,转换速度可达250K/S(每秒钟25万次)。STC89C52管脚图如图2.13所示。图2.13STC89S52管脚构造VCC:供电电压。GND:接地。P0口:P0口是一个8位漏极开路的双向I/O口。当作为输出用时,每位能驱动8个TTL逻辑电平。向P0口写入命令“1〞时,引脚呈现高阻状态输入。当需要访问数据存储器和外部程序时,P0口也可以复用为低8位的地址/数据线。当处于该种模式下时,P0口具有内上拉电阻。P1口:P1口是一个8位双向I/O口且其具有内上拉电阻,该口能同时驱动4个TTL逻辑电平。对P1口写入命令“1〞时,内上拉电阻将端口拉高,即可作为输入端口来使用。当其为输入口时,外部被拉低的引脚由于内阻的原因,将会输出一定的电流。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1〞时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进展存取时,P2口输出地址的高八位。在给出地址“1〞时,它利用内部上拉优势,当对外部八位地址数据存储器进展读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。P3口作为STC89C52的一些特殊功能口,如表2.1所示:表2.1STC89C52单片机一些特殊功能引脚号 备选功能P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕P3.2/INT0〔外部中断0〕P3.3/INT1〔外部中断1〕P3.4T0 〔记时器0外部输入〕P3.5T1〔记时器1外部输入〕P3.6/WR〔外部数据存储器写选通〕P3.7/RD〔外部数据存储器读选通〕2.ADC0832A/D转换模块的介绍ADC0832是\t"://baike.baidu/_blank"美国国家半导体公司生产的一种8\t"://baike.baidu/_blank"位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢送,其目前已经有很高的普及率。学习并使用ADC0832可使我们了解\t"://baike.baidu/_blank"A/D转换器的原理,有助于我们单片机技术水平的提高。ADC0832的主要特点是:〔1〕输入输出电平与TTL/CMOS相兼容;〔2〕5V电源供电时输入电压在0~5V之间;〔3〕工作频率为250KHZ,转换时间为32μS;〔4〕一般功耗仅为15mW;〔5〕8P、14P—DIP〔双列直插〕、PICC多种封装;〔6〕商用级芯片温宽为0°C~+70°C,工业级芯片温宽为−40°C~+85°C;ADC0832A/D转换模块的管脚图如图2.14所示。其各个管脚的功能如下:2.14ADC0832A/D转换管脚图CS_:片选使能,低电平芯片使能。CH0:模拟输入通道0,或作为IN+/-使用。CH1:模拟输入通道1,或作为IN+/-使用。GND:芯片参考0电位〔地〕。DI:数据信号输入,选择通道控制。DO:数据信号输出,转换\t"://baike.baidu/_blank"数据输出。CLK:芯片时钟输入。Vcc/REF:电源输入及参考电压输入〔复用〕。ADC0832为8\t"://baike.baidu/_blank"位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为\t"://baike.baidu/_blank"数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。3硬件设计3.1电路模块1.单片机最小系统单片机最小系统电路实现对采集数据的处理和输出显示的控制,主控电路由STC89C52单片机、晶振电路、复位电路三局部组成,各局部作用如下所述,由其三局部构成的单片机最小系统电路如图2.15所示[10]。图3.1单片机最小系统2.电源局部由于高压分流电会对弱电系统产生干扰,影响系统的稳定性。为了本次设计简单实用性,以及可操作性采用电池盒构成电池组进展供电,所以本次设计采用外部电池组供电,这样做的目的就是为了方便简单,但是采用电池吃电源存在维护的不方便和电压电流衰减等缺点。当然也可以采用外部稳压电源,这样做使得输出稳定,电压电流衰减对其影响较小,但是在设计电路的时候以及硬件设计时增加电路复杂性。综上所述,采用电池组供电。在用到电池组供电时用到链接电院和电脑的连接线,在连接线上使用DC电源插口。DC电源插口的原理图如图2.16所示。电源插口的外接电路如图2.17所示,其中CON2为电源插针,其中S1为一个开关。图3.2DC电源插口的原理图图3.3电源插口的外接电路3.输入端为了设计简单,没有设计保护装置所以输入端直接为红黑表笔,如图2.18所示。在使用中黑表笔为接地端,根据不同的测量要求〔电压、电流、电阻〕选择不同的档位进展测量。图3.4万用表输入端4.电压测量电路由前面的万用表的原理可知,利用电阻的分压原理便可以得到不同测量量程。但是我们设计的电压测量范围是0~20V,对量程要求小所以其原理图如图2.19所示。在实际我们可以采用滑动变阻器来保护电路,通过改变划片位置来实现分压,这样做的目的就是为了是电路设计简单的同时起到保护作用。图3.5电压测量电路5.电流测量电路利用前面的万用表原理,电阻的分流作用就可以得到不同量程的电流测量范围。本次设计的测量范围是0~200mA,所以直接串联电阻如图2.20所示。在实际设计仿真中往往参加滑动变阻器,滑动变阻器在电路中的作用就是调节和保护作用。图3.6电流测量电路6.电阻测量电路电阻测量电路如图2.21所示。利用电阻的分压和分流作用可以设计出不同的测量量程,由于本次设计要求电阻测量范围是0~1K,所以直接在测量输入端串联电阻,这个电阻起到保护电路和分压作用。在通常设计仿真时在输入端串联一个滑动变阻器,其作用和电压测量电路以及电流测量电路的作用一样。图3.7电阻测量电路7.显示电路模块如图3.8所示,本次设计采用4位数码管显示。8.数码管驱动电路本次设计显示模块没用采用液晶显示,而是采用了简单数码显示。数码显示的驱动电路是由四个三极管和电阻串联而成的,电路设计如图2.23所示。图3.8数码管显示模块图3.9数码管驱动电路9.ADC0832A/D转换模块本次设计的A/D转换模块采用的是ADC0832,其电路设计如图3.10所示。图3.10ADC0832电路图10.震荡电路晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器〔注意是放大器不是反相器〕的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。本次设计的震荡电路如图3.11所示。图3.11震荡电路11.复位电路单片机需要正常工作,以及系统中的硬件电路可以可靠的工作,复位模块电路是必须的组成局部,复位电路最重要的是上电复位。由于微机电路的构成均是时序电路且是数字电路,它需要一致的时钟脉冲,因此在电源刚上电时,只有当VCC到达标准电压时以及在晶振稳工作在稳定状态之后,复位信号才被撤除,单片机的各局部电路开场正常工作。其次,复位电路还需要在单片机出现异常或者需要手动重置单片机程序时,可以通过按键等进展强行复位单片机的电路,并且复位的优先级会是最高的。本次设计的复位电路如图3.12所示。图3.12复位电路3.2硬件电路数字万用表整体硬件构造图。图3.13硬件构造图4软件仿真4.1软件介绍Proteus软件是英国LabCenterElectronics公司出版的\t"://baike.baidu/view/_blank"EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比拟好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(\t"://baike.baidu/view/_blank"仿真软件),从\t"://baike.baidu/view/_blank"原理图布图、代码调试到\t"://baike.baidu/view/_blank"单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将\t"://baike.baidu/view/_blank"电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种\t"://baike.baidu/view/_blank"编译器[11]。4.2流程图图4.1软件仿真流程图4.3仿真图图4.2仿真图4.4仿真结果4.4.1电压档仿真结果在仿真时当将电压档开关翻开,仿真结果如图3.1所示。改变滑动变阻器相当于改变红黑表笔接的不同回路进展电压测量〔可以在重新测量之前按下复位键进展复位后在进展测量〕。通过R2,R3进展分压,设测得的电压U,则实际电压U1=(U/R3)*R2;注:所测电压大于20V讲烧坏AD转换器。图4.3电压档仿真仿真结果4.4.2电流档仿真结果在进展电流测量时首先进展电流档复位待显示清零后在进展电流档仿真,改变滑动变阻器相当于改变红黑表笔接的不同回路进展电流测量。如图4.4所示,在测量中假设设测得的电压为U:则电路中的电流为I=〔U/5〕*1000(MA);注:电流过大则会烧坏电阻R4;图4.4电流档仿真结果4.4.3电阻档位仿真结果在进展电阻档位仿真时首先进展复位键进展复位,待显示清零以后再进展测量仿真,在仿真过程中改变滑动变阻器的位置相当于改变了红黑表笔所接的不同阻值的电阻。如图4.5所示,设测的电压为U,则电路中电流I=(5-U)/100所测电阻R=U/I=U/((5-U)/100),注:电阻过大,则会造成测量不准确。图4.5电阻档位仿真结果5结语通过这次的毕业设计,是我对测量原理有了更深的认识,从理论和实践上都得到了很大的提高,所以这次任务的完成使我学到了很多东西。首先丰富了自己的知识面,学到了以前没有学通的东西,具体了解了怎样去完成一个电路设计:从模块功能图、电路图、焊接电路板、检查电路板、调试分析到最后数据的测量一整套东西。几个月的毕业设计就要完毕了,回想整个毕业设计过程,觉得受益匪浅。通过这次毕业设计,使我对万用表的设计有了更进一步的了解,也加深了对大学四年中所学的根基知识的理解。毕业设计是理论联系实际的有效方法。在具体设计过程中,必须考虑到方方面面的问题,通过毕业设计不但加深了对书本知识的理解,同时还学到了书本上学不到的知识,那就是实际设计中所获得的经历。理论与实际总是存在差距,在理论上准确无误的设计,在实际中往往存在各种问题。这样,在设计时就必须考虑,系统在实际运用中能否正常工作。毕业设计使我学会了从实际出发设计系统,而不仅仅考虑理论上的可行性。致谢本论文是在黄朝军教师的亲切关心和悉心指导下完成的,他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和鼓励着我。黄教师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关心,在此谨向王教师致以诚挚的谢意和崇高的敬意。我还要感谢在一起愉快的度过毕业论文小组的同学们,正是由于你们的帮助和支持,我才能抑制一个一个的困难和疑惑,直至本文的顺利完成。在论文即将完成之际,我的心情无法平静,从开场进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请承受我诚挚的谢意!最后,再次对关心、帮助我的教师和同学表示衷心地感谢!参考文献[1]秦辉,韩冰,马术才,刘钰,马艳丽.智能数字万用表研制[J],实验技术与管理,2010,27(7):64-67.[2]徐见炜.基于C8051F340的智能万用表[J],电气与自动化,2012,41(4):189-192.[3]刘洋,王厚军,戴志坚.PXI高精度数字万用表的设计与实现[J],电子测量技术,2011,34(10):69-71.[4]白雨微,薛巨峰,鲁志军.六位半数字多功能万用表设计[J],林业机械与木工设备,2010,38(12):41-43.[5]杨桂林.基于SPCE0612A的智能数字万用表[J],海南大学学报自然科学版,2013,31(3):249-253.[6]汤莉莉,黄伟.基于MSP430单片机的多功能数字万用表设计[J],科技创新导报,2012,26:41-42.[7]祝凤金.基于单片机的万用表设计[J],电子技术,2011,38(1):50-51.[8]周艳.基于单片机的万用表设计[J],科技视界,2015,117-118.[9]丁元杰.单片微机原理及应用[M].机械工业出版社.2005.07.[10]童诗白.模拟电子技术根基[M].高等教育出版社.2005.01.[11]张伟,王力.protel2004入门与提高[M].人民邮电出版社.2005.11.[12]WangLei-gao,WangChun-ping,LiMing.DesignofDigitalMultimeterModuleBasedonARM[J],2010[13]InternationalConferenceonComputer,Mechatronics,ControlandElectronicEngineering(CMCE)[J],2010:110-112.附录A附录B110uf直插电解电容1230P直插瓷片电容23F5461BH2.54间距,0.56寸4位共阳数码管14Header4排针4-Pin25POWERDC电源插座16S9012PNP三极管47100R/2W色环电阻185R/2W192.2K41030K11110K212SW-PB按键6X6X5MM113SWITCH自锁开关414ADC0832AD转换器115STC89C51/5251单片机11612MHZ晶振1附录C附件D#include<reg52.h>//包含头文件,一般情况不需要改动,头文件包含特殊功能存放器的定义#include"intrins.h" #defineu8 unsignedchar#defineu16 unsignedint#defineuchar unsignedchar#defineuint unsignedint//按键sbitKey_V=P3^0; //电压模式键sbitKey_R=P1^4; //电阻模式键sbitKey_I=P3^5; //电流模式键#defineKEY_V 1 //电压模式#defineKEY_R 2 //电阻模式#defineKEY_I 3 //电流模式/***********************************************************************************************************数码管显示相关函数***********************************************************************************************************/#defineSMG_NUM4u8codeDisplayNum[16]={0xc0, //00xf9, //10xa4, //20xb0, //30x99, //40x92, //50x82, //60xf8, //70x80, //80x90, //90x88, //A0x83, //b0xc6, //C0xa1, //d0x86, //E0x8e //F};//u8codeDisplayOther[]={0xff, //0 空0x7f, //1 "."0xbf, //2 "-"0xa7 //3 c};voiddelay_ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<110;j++);}//数码管位选定义sbitsmg_we1=P2^0; //东西数码管2sbitsmg_we2=P2^1; //东西数码管1sbitsmg_we3=P2^2; //南北数码管2sbitsmg_we4=P2^3; //南北数码管1voidsmg_we_switch(uchari){ switch(i) { case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break; case1:smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break; case2:smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break; case3:smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break; } }voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<110;j++);}#defineLED_a 0 //数码管段选的a段接在段选IO口的第0位#defineLED_b 2#defineLED_c 6#defineLED_d 4#defineLED_e 3#defineLED_f 1#defineLED_g 7#defineLED_dp 5u8ChangeFor(u8dat){ u8temp=0; if(dat&0x01) //判断数据的第一位是否为1 temp|=0x01<<LED_a;//如果为1,放到控制数码管a段的位置 if(dat&0x02) temp|=0x01<<LED_b; if(dat&0x04) temp|=0x01<<LED_c; if(dat&0x08) temp|=0x01<<LED_d; if(dat&0x10) temp|=0x01<<LED_e; if(dat&0x20) temp|=0x01<<LED_f; if(dat&0x40) temp|=0x01<<LED_g; if(dat&0x80) temp|=0x01<<LED_dp; returntemp;}uchardis_smg[SMG_NUM]; //显示缓存数组voidDisplayScan(){ staticuchari; P0=0xff; //消隐 smg_we_switch(i); //位选 P0= ChangeFor(dis_smg[i]); //段选 i++; if(i>=SMG_NUM) i=0;}/***********************************************************************************************************ADC0832相关函数***********************************************************************************************************/sbitADCS =P1^2;//ADC0832片选sbitADCLK=P1^0;//ADC0832时钟sbitADDI =P1^1;//ADC0832数据输入 /*因为单片机的管脚是双向的,且ADC0832的数据输入输出不同时进展,sbitADDO =P1^1;//ADC0832数据输出 /*为节省单片机引脚,简化电路所以输入输出连接在同一个引脚上unsignedintAdc0832(unsignedcharchannel){ uchari=0; ucharj; uintdat=0; ucharndat=0; ucharVot=0; if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0;//拉低CS端 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿1 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=channel&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿2 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=(channel>>1)&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿3 ADDI=1;//控制命令完毕 _nop_(); _nop_(); dat=0; for(i=0;i<8;i++) { dat|=ADDO;//收数据 ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次时钟脉冲 _nop_(); _nop_(); dat<<=1; if(i==7)dat|=ADDO; } for(i=0;i<8;i++) { j=0; j=j|ADDO;//收数据 ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次时钟脉冲 _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; } ADCS=1;//拉低CS端 ADCLK=0;//拉低CLK端 ADDO=1;//拉高数据端,回到初始状态 dat<<=8; dat|=ndat; return(dat);//returnaddata}/***********************************************************************************************************主函数***********************************************************************************************************/voidmain(void){ u8Mode; ucharRead_AD; //用于读取ADC数据 ucharVIN; //电压值变量 u16RIN; //电阻值变量 u16IIN; //电流值变量 u16i=0;; while(1) //主循环 { if(Key_V==0) //电压按键按下 { Key_V=1; //去除按下标记 if((Key_R==0)||(Key_I==0))//电阻电流按键也有按下 { Key_I=1; Key_R=1; Key_V=1; Mode=4; //标记为错误模式 } else //

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论