高精度数字电压表的设计_第1页
高精度数字电压表的设计_第2页
高精度数字电压表的设计_第3页
高精度数字电压表的设计_第4页
高精度数字电压表的设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

Ⅰ Ⅰ题目:高精度数字电压表的设计摘要电压的测量在电量测量中是最基础的,在电气测量中也占据着重要的地位。当代的智能测量仪器仪表的研究都是在电压的基础之上才能实现的,所以,电压测量已经成为当今电科研究的重点之一。数字电压表,也称作为DVM,它运用了数字化领域的测量技术,是以单片机为主控电路,再通过模数转换阶段,模数转换则是利用A/D转换器把连续的模拟量(也就是在一定范围内的输入模拟电压值),转化成不连续的数字量,之后又经过数字处理部分,最终将输入的模拟电压通过处理后的显示器件,准确地显示在液晶屏上。A/D转换是此次设计最重要的元件,因为它的精确度直接影响了最终显示的准确度。采样、保持、量化、编码是A/D转换的基本结构成分。A/D转换器将输入端输入的模拟电压值进行转换,再交由显示器驱动部分,从而获得待测的数字电压的值。纯硬件制作的数字电压表在人们的日常生活中经常使用到,经过反馈它的缺点也是层出不穷,比如价格昂贵、测量的精度不够、结构也比较复杂等等,维修成本以及资源和人力也有所浪费。为解决这个问题,这里将AT89C51单片机加入进来,把它和ADC0809相结合,软件和硬件相配合,可以弥补纯硬件电路的不足。将电路还原到Proteus软件中进行仿真,效果非常好,不论是反应速率还是精确度都是纯硬件数字电压表无法比拟的,而且软硬件相结合的数字电压表结构也比较简单易制作,成本低,故障率低。在本设计中,0~5V是数字电压表待测量的模拟电压值的范围。所以+5V为系统应该提供的电源电压,8位的ADC0809是A/D转换部分选用的A/D模数转换芯片。设计的技术指标是精度达到0.01V,也就是小数点后两位。经过理论分析,该设计在一般的测量过程中是可以达到指标要求的(在不考虑A/D转换芯片自身量化误差所带来的影响的情况之下)。关键词:ADC0809;AT89C51;LCD1602;液晶Ⅱ ⅡAbstractVoltagemeasurementisthemostbasicinelectricalmeasurementandplaysanimportantroleinelectricalmeasurement.Theresearchofmodernintelligentmeasuringinstrumentsandinstrumentscanonlybeachievedonthebasisofvoltage.Therefore,voltagemeasurementhasbecomeoneofthefocusesofcurrentelectricalresearch.DigitalVoltmeter(DVM),whichusesdigitalmeasurementtechnology,isasingle-chipcomputerasthemaincontrolcircuit,usesA/Dconvertertoconvertcontinuousanalog(thatis,voltagevalue)intodiscontinuousdigitalquantity,andthenafterdigitalprocessing,isfinallydisplayedthroughdisplaydevices.TheaccuracyofA/Dconverterdirectlyaffectstheaccuracyofelectronicdigitalmultimeter,soA/Dconverteristhecorecomponentofthisdesign.ThebasicstructuralcomponentsofA/Dconverteraresampling,maintenance,quantization,encoding,etc.TheanaloginputisconvertedbyanADconverter,andthedisplayisdrivenbyadrivertoobtainthemeasureddigitalvoltage.Thedigitalvoltmeterwithpurehardwareiscomplexinstructure,lowinmeasurementaccuracyandexpensiveinprice.Indailyuse,itisveryfrequentlyused,whichalsoleadstothefrequentlydamagedmultimeter,highfailurerate,whichbringsmanyinconveniencestouseandmaintenance.Therefore,inthedesignofhigh-precisiondigitalvoltmeter,themethodofcombiningAT89C51single-chipcomputerwithADC0809A/Dconversionchipisadopted.TheresultofProteussoftwaresimulationisverygood,Nomatterthereactionrateortheaccuracyisincomparabletothepurehardwaredigitalvoltmeter,andthestructureofthedigitalvoltmetercombinedwithsoftwareandhardwareisalsorelativelysimpleandeasytomanufacture,lowcostandlowfailurerate.Inthisdesign,theanalogvoltagerangemeasuredbythedigitalvoltmeteris0~5V,thenthepowersupplyvoltagerequiredbythesystemshouldbe+5V,andtheA/Danalog-to-digitalconverterchipuses8-bitADC0809.Thetechnicalindexofthedesignisthattheprecisionreaches0.01V,thatis,twodecimalplaces.Aftertheoreticalanalysis,thedesigncanmeettherequirementsinthegeneralmeasurementprocess(withoutconsideringtheinfluenceofquantizationerrorofa/Dconversionchip).Keywords:ADC0809;AT89C51;LCD1602;liquidcrystalⅣ Ⅳ目录前言 前言时代的飞速发展,促使人类技术也在不断革新与进步,现目前所用到的测量技术都是依靠高精度的数字测量仪器,再加上电子计算机的发展,电子计算机的诸多优点结合数字测量仪器仪表的测量技术,使现代测量技术具有计算、存储、控制、显示以及语言等功能。数字电压表在数字化时代领域中占据重要的地位,同样也是技术发展和未来智能化的核心与基础。无论是在哪个领域,将模拟量转换为数字量都是一个尤为重要且必不可少的过程,它能更加直观地显示数据,为人们节省了大量的时间。通过各种显示器显示的数据实时变化,清晰准确,消除了人们在读数时所产生的疲劳与误差。数字电压表是以单片机为主控电路,再通过模数转换阶段,模数转换则是利用A/D转换器把连续的模拟量(也就是在一定范围内的输入模拟电压值),转化成不连续的数字量,之后又经过数字处理部分,最终将输入的模拟电压通过处理后的显示器件,将数字准确地显示在液晶屏上的一种电子测量仪表。A/D转换是此次设计最重要的元件,因为它的精确度直接影响了最终显示的准确度。在Proteus软件中,对绘制好的电路设计进行仿真时,将编写好的程序文件调入单片机中,点击仿真就能够观察到其运行状态以及结果。这里需要注意的是,运行仿真时的误差偏小(理想情况下),而制作出来的实物由于存在人为误差和器件本身的原因,误差可能会稍大一点,在指标范围内即可。A/D转换是数字电压表的核心,选择怎样的A/D转换芯片也就决定了数字电压表精确度的高低,现如今市场上的A/D转换芯片虽然种类多种多样,但是它们的价格往往偏高,随着科技进步、技术的革新,人们的需求同时也在不断提高,对数字电压表的精度要求也在上升,所以高位数的A/D转换芯片被制作出来且数量不断升高,这也就意味着高精度数字电压表的成本以及市场价格会成倍的增加。还有一个直接影响数字电压表精度的关键因素:采样的速度和对数据处理的速度。随着电子科学与技术的高速发展,各种各样种类的单片机相继被发明出来,这也让公司、机构以及个人在单片机的选择上存在很大的自由度,只有从成本、性价比、具体功能方面来选择适用的型号。此外,高集成度化和一体化的发展趋势,将数字电压表的性能提高了不少,同时大大降低了数字电压表的功耗以及体积,但在维修时也存在很大的问题。绪论1.1课题研究背景早年的模拟电压表有良好的市场,并且精度也较高。就当今社会中,仍有一些工作师傅使用它在工作,但不可否认的是,与时俱进随着时代的发展,我们的需求也在不断提高。在电子领域,效率也极为重要,这就表明电压表的响应速度和显示速度应尽量降低。而这正是模拟电压表的问题所在,其采用指针指向计数,结构为电磁或磁电,导致了模拟电压表的响应及显示速度较慢。所以在高速信号场中,与数字电压表相比,模拟电压表就相形见绌了。数字电压表最早出现在1940~1960年间,也称作为DVM,它运用了数字化领域的测量技术,是以单片机为主控电路,再通过模数转换阶段,模数转换则是利用A/D转换器把连续的模拟量(也就是在一定范围内的输入模拟电压值),转化成不连续的数字量,之后又经过数字处理部分,最终将输入的模拟电压通过处理后的显示器件,准确地显示在液晶屏上。像这样的数字电压表之所以问世,不仅仅是各个广泛领域的需求,包括医疗,国防军事,食品,工业等,我们需要肉眼最直观的辨识,数字电压表也同样以各种各样的形式呈现在我们的日常生活中,例如数字温度计,汽车的油量,气压与压力,室内温湿度等,这些信息其实本质上都是电压的形式,经过一系列处理得以呈现在我们眼前;数字电压表也是这个数字化时代飞速发展的必需品。与此同时数字电压表的发展也将它带入到了全自动控制的科技研究领域当中,是电子计算机发展上的一大步,多种多样需要人们控制、计算以及观测的量都可以进一步的转换成满足要求的数字,进一步满足了科技人群对数据的实时控制和处理的需求。数字电压表时代的到来,对电子领域各行各业的发展都带来了极大的帮助,尤其是电子计算机的发展。采用新的技术和新的工艺是现代数字电压表的发展方向和研究现状,当今出现的大量的智能化数字测量仪表由LSI以及VLSI构成,为未来的电子测量技术的发展开辟了一条道路,飞速发展的脉冲数字电路技术,也象征着将迎来一场高智能化电子测量仪器领域革命。1.2课题研究目的及意义在现如今的日常工作和生活中,数字电压表应用非常广泛,已遍布工业以及电子数字化等各个领域。早期的指针式电压表功能比较少,并且在测量上的精度也比较低,功能没有创新,读数的时候也非常不方便,比较容易出现读数错误,数字电压表已经取代了许多传统的模拟指针式电压表。采用单片机的数字电压表已被广泛应用于自动测试系统,工业自动化仪表测试,电工及电子的测量以及电气自动化测量等智能化测量领域,并显示出了极其强大的生命力。最初的数字电压表采样速度比较慢,体积大,重量也是达到了几十公斤。但是通过前辈们的精心研究和不断的尝试与创新,相继出现了斜波式电压表,它的优点在于速度变快了些,虽然有一定进步,然而还有其他性能指标依然重要,稳定性和准确度还很欠缺。在这之后,改良版的逐次渐进式结构出现在人们的视野当中,将准确度以及速度都提升了一个档次对于数字电压表而言,但又表现出其抗干扰能力差,准确度降低的劣势,使得其特别容易因外界因素的干扰而受到影响。再之后,凭借着对斜波式电压表研究以及各方面的测评,发展出了一种叫阶梯波式的电压表,它的成本相对于其他电压表来说降低了许多,但是其准确度,抗干扰能力和响应速度未能得到显著提升。所以,测量精度,稳定性,抗干扰能力,产品质量以及功能的多样性成了衡量数字电压表的一些非常重要的指标。因此提高数字电压表稳定性的一些方法也随之而产生:尽可能地采用独立电源来供电;减少电源的纹波电压;减少串模干扰;采用晶振稳频。图1-1新型的数字仪表新型的数字仪表成为今后的发展趋势和方向,新型的数字电压表之所以备受青睐是因为它有诸多优点:(1)读数精确,数字显示清晰直观:数字电压表的优势在于数字显示,它可以避免许多不必要的认为测量误差(诸如视差或者因视觉疲劳所引起的误差等),这样不仅能保证读数的准确性和客观公正性,还符合广大人群的读数习惯,无论是符号还是单位,都一目了然,大大提高了人们办事、办公以及生活的效率。(2)准确度高,测量范围比较宽:数字电压表的精确度随着社会的发展正在逐步提高,不同的领域对数字电压表的精确度的需求不一,某些领域(如科研)必须要求精确的位数。就对于早期的指针式的模拟电压表来说的话,在准确度上,它是远远不及高精度数字电压表的。(3)分辨率以及灵敏度都比较高:对电压表而言,电压表上能显示的最小数字(不考虑0的情况)比上其最大数字乘以100%就是分辨率。灵敏度则是数字电压表中最小的单位上的数字变动情况。(4)测量速率快:测量速率是指单位时间内对输入的模拟电压测量的次数。测量速率大部分取决于A/D转换器的转换速率,这也与A/D转换器的位数有关,位数越高,转化输入的模拟电压的速率和精度也更高。(5)扩展能力强:在高精度数字电压表的基础之上可以扩展成多种多种的、满足不同需求的智能仪器仪表。例如,通过一定程度的改进,可以根据人们不同的需求来测量多种多样的数据:测量酸度的酸度计、测量温度以及湿度的温湿度计、测量重量的重量仪、测量厚度的厚度仪等等。(6)集成度高,整机功耗很低(微功耗)。(7)输入阻抗很高:降低测量误差。(8)抗干扰能力强。新型数字仪表的发展主要有四个方向:(1)广泛采用新技术,不断开发新产品。(2)向模块化发展:这样的发展角度非常明确,每步都有章可循,这样逻辑和思路都比较清晰,分类以及系列也一目了然,那么给大家带来的好处是在维修和维护方面、安装及调试方面带来了很大的便利。(3)多重显示仪表:顾名思义就是将数字电压表的显示部分调整为更为直观的观测方式,除了纯数字之外,又加上了模拟条状图或者折线图等附加方式,让新型的数字电压表的读数更加简单清晰,无形之间节约了大量时间,也为许多工作人员提高了工作效率。(4)制作简单化。所以,数字电压表以及数字化测量的一系列衍生产品的产生与发展离不开电子计算机的发展,日益革新的电子产品与繁琐的电子软件,划时代的人工智能无不彰显数字仪表的重要性,高精度数字电压表这样的智能化仪表已经是搭建科技飞速发展的重要桥梁。随着数字电压表(DVM)在电子测量领域的飞速发展,将现目前的计量测量仪器仪表的发展方向走向数字化时代,高精度数字电压表的出现,不仅为广大人民提供了高质量的工作和生活效率,同时在测量自动化方面也占据着重要的地位。随着现代化技术不断地革新,DVM的功能、种类越来越多,同时也越来越强,它的使用范围也越来越广泛。普遍使用的数字测量仪器、工业及行业专用的数字测量仪器以及各种各样的由数字电压表拓展而来的非电量的数字化测量仪器(比如:测量室内外温度以及湿度的温湿度计、测量物品酸碱度的酸度计、测量物品厚度的厚度仪以及测量物品重量的重量仪等),数字电压表的应用非常的广泛,无论哪个工业行业,电工电子的测量都显得尤为重要,并且它还覆盖了自动化测量仪器等领域,直接提高了计量员的工作效率。图1-2由数字电压表拓展而来的温湿度仪器1.3设计的目的及意义早期的数字电压表问世以来,在电子数字化领域取得了很大的成就,同时也为智能化的时代奠定了基础。在科研方面以及教学教育等方面做出了巨大的贡献,在高精度数字电压表的基础之上可以拓展延伸出一系列用于由数字显示的测量仪器仪表,在这些数据的背后,有无数的芯片在运作,随着电子科技的发展越来越多的高性能芯片也被发明出来,纳米级别的芯片也是全球电子发展的研究热门,同时也象征着电子数字领域的顶尖水平。本设计需要自己梳理数字电压表的相关工作原理,需要自己根据指标要求来衡量芯片等元器件的选择标准,熟练掌握使用Proteus软件并对设计好的原理图进行电路仿真,仿真成功之后,则是实物的制作部分,这里也是考验了学生的实际动手能力,在这整个期间,一定也有许许多多的问题出现,学生自己通过查阅资料、文献或者是向指导老师以及同学询问来解决相关问题,此次设计旨在对学生综合素质的考核,手脑并用,学做合一,这也是此次设计的目的和意义所在。本次的设计是选择了AT89C51单片机搭配8位的A/D转换芯片ADC0809来制作数字电压表,这样的系统拥有诸多优点(比如性能、速度、稳定性以及精度方面),满足了一般的测量标准,电路的实用性很强而且电路简单,维护以及维修起来也是非常的方便,表现出非常高的使用价值。图1-3基于单片机的数字电压表设计图对于理工科的学生而言,强大的理论分析当然非常的重要,书本上丰富的理论知识也很重要,但是学生的实践能力同样不可小觑,动手能力甚至成为了衡量一个大学生合格的标准。将丰富的理论知识以及各种猜想付诸于实践或者是在实践中进行论证才是完整学业的学习内容。由于在市面上大部分的电压表都还是指针式的,所以人们在一般的测量情况下还是采用的指针式电压表,那么其读数时会有较大误差。一个是指针本身存在的指向刻度误差,还有一个是人为的读数误差,同时还会给人们带来在读数上的视觉疲劳,数字电压表的设计将解决这一系列的问题,为人们节省了大部分的时间成本,同时还避免了许多不必要的误差,提高了人们的工作和生活质量。工作原理2.1设计目标2.1.1基本功能把51单片机作为主控芯片,模拟量输入范围是直流0~5V;用A/D转换器采集被测量的电压,将模拟量转换成数字量(即把模拟量转换成数字量输入到单片机P0口),然后将采集数据用单片机处理后将电压值显示在LCD屏上。2.1.2主要技术指标测量电压值范围0~5V;测量精度0.01V;显示方式:LCD1602液晶显示屏显示;2.2设计方案与原理数字电压表的设计方案多种多样,随着集成电路数字芯片越来越快的发展状态,数字芯片也是种类繁多,这样就使得采集到的模拟数据有一些出入,就会导致数据处理以及显示方式呈现出多样性。对于人们的日常生活以及工作中,待测的模拟电压往往是非常之大的,那么对输入电压作分压的处理就成了一个必不可少的操作,因为处理电压范围的不同,所以选择不同种类的数据处理芯片的方案也不同。考虑到成本等因素的原因,这里列出了两种数字电压表的设计方案。第一种方案:用芯片搭配数字电路的方法来构建。它由两部分组成,分别是数字和模拟电路。数字的部分包含了译码器、振荡器、逻辑控制器、计数器以及显示器。A/D转换是此次设计最重要的元件(将模拟量转化成数字量),因为它的精确度直接影响了最终显示的准确度。采样、保持、量化、编码是A/D转换的基本结构成分。A/D转换器将输入端输入的模拟电压值进行转换,再交由显示器驱动部分,从而获得待测的数字电压的值。而模拟的部分包含了基准电压源、输入放大器以及A/D转换器。这两种电路相互关联,在逻辑控制电路部分,它来输出控制信号,把A/D转换器中的每组模拟开关按照一定时序来断开或者是接通,从而保证A/D转换部分的正常运行。在经过A/D转换器转换之后,计数译码电路将其转换结果转变成段码,然后驱动显示器,将对应的数值经液晶显示屏显示出来。这个方案好在可以满足一般的电压测量的需求,同时它的设计成本也很低。但是缺点在于它是纯硬件设计电路,结构比较复杂,设计不够灵活,也难以在其之上进行拓展。图2-1第一种方案程序框图第二种方案:用A/D转换芯片搭配单片机来构建。这种数字电压表由三部分相组合而构成,这三部分分别是模数转换芯片部分、显示模块部分以及单片机系统部分。现如今单片机的发展非常快,被广泛应用于工业和智能化等众多领域。在单片机系统中,采用软硬件相结合的方法,能够搭配出非常多实用的应用电路。在A/D模数转换芯片中,基准电压输入在基准电压源;而待测电压输入在待测量电压输入端。模拟电压信号由待测电压输入端所采集,经过A/D转换芯片将其转化成相应的数字信号,这里就需要单片机来采集这些数字信号,同时需要对单片机系统进行软件编程,使得其能够按一定的时序来采集这些转换而来的数字信号,这样待测量的电压值就能经一定算法被计算出来。最终单片机将处理好的待测量的电压值按照规定的时序传入电路的显示模块,并且经过显示器处理后加以显示。第一种方案拥有的优点第二种方案同样拥有,并且在灵活度上超越了第一种方案,还能够在此基础之上进行拓展。图2-2第二种方案程序流程图综合比较第一种方案和第二种方案,从对应方案设计出的数字电压表的实用性以及各个方面的优缺点进行对比和考虑,选择第二种方案,即利用单片机软硬件相结合的方法设计出的高精度数字电压表。测量电压通过A/D转换器从模拟值转换为数字值,并在51系列单片机的逻辑控制下输出到LCD屏幕。一个简单的数字电压表是用AT89C51芯片和ADC0809A/D转换芯片设计的。它可以测量0~5V的模拟DC电压,并由LCD1602显示。测量误差约为0.01V。ADC0809芯片的模拟电压输入为0~5V,并产生相应的数字量,并通过其输出通道D0~D7传送到AT89C51芯片。A/D转换主要由ADC0809芯片完成,该芯片主要负责将收集的模拟数据转换为相应的数字数据,然后将其传输到数据处理模块。数据处理由AT89C51单片机完成,该计算机负责处理ADC0809传输的数字数据,并产生相应的显示代码到显示模块进行显示。显示模块主要由LCD1602组成,可实时显示测得的电压。数字电压表以单片机为主控电路,再通过模数转换阶段,模数转换则是利用A/D转换器把连续的模拟量(也就是在一定范围内的输入模拟电压值),转化成不连续的数字量,之后又经过数字处理部分,最终将输入的模拟电压通过处理后的显示器件。被测电压输入端子分别输入基准电压和被测电压,根据指定的时间顺序,并通过某种算法计算测得的电压值。最后,将计算出的测量电压值按一定的时间顺序发送到显示电路模块进行显示。硬件设计与原理3.1总设计框图以AT89C51单片机作为核心,起控制作用。系统包括模数转换电路、时钟电路、复位电路、LCD1602液晶显示电路。设计思路分为五个模块:复位电路、晶振电路、AT89C51、LCD1602液晶显示电路、模数转换器电路这五个模块。图3-1总设计框图3.2硬件设计分析3.2.1电源的设计系统电源使用直流5伏。由电脑USB接口提供电源。USB的简称是通用串行总线接口。它是目前使用非常广泛的电脑接口之一,主要的版本有1.0、1.1和目前市面上最新的2.0三种版本。那么根据USB总线的工业标准,它能提供额定功率为5V/500mA的电源来供USB设备的使用。3.2.2单片机最小系统51单片机是对当前所有兼容英特尔8031指令系统单片机的总称。英特尔的8031单片机是51系列单片机的始祖,在后来随着科技技术的发展,现发展为当前广泛使用的8位单片机之一。所谓单片机,就是一个大规模集成电路,其在一枚芯片中集成了计算机所需的基本功能组件(包含RAM、ROM、CPU、计数器/定时器还有多功能I/O口等),故51单片机又被称作为MCU。51系列单片机中包括下列这几个部件:8位的CPU一个;时钟电路一个以及片内振荡器一个;4KB的ROM程序存储器;一个128B的RAM数据存储器;64KB外部程序存储空间的控制电路及寻址64KB外部数据存储器;32条可编程的I/O口线;两个16位定时/计数器;一个可编程全双工串行口;两个优先级的嵌套中断结构及5个中断源。如图3-2-1所示是AT89C51单片机的管脚示意图(包含基本构架),它的基本性能介绍如下:图3-2AT89C51单片机AT89C51内部含有40个引脚,和32个外部双向输入/输出/(I/O)端口,还包含了两个外中端口,3个16位的可编程定时计数器,两个全双工串行通信口。可以按照常规的方法对AT89C51进行编程,但是不能在线进行编程。将通用微处理器与闪存,尤其是可以重复擦除的闪存相结合,可以有效地降低开发成本。AT89C51的主要特性如下表所示:表3-1AT89C51的主要功能描述兼容MCS—51指令系统32个可编程I/O线4k字节可编程闪烁存储器可编程UARL通道三个16位可编程定时/计数器中断时钟频率0-24MHz2个外部中断源,共8个中断源256×8bit内部RAM2个读写中断口线可直接驱动LED软件设置睡眠和唤醒功能低功耗空闲和掉电模式AT89C51是采用40引脚双列直插式封装的8位通用微处理器,它使用的是工业标准的C51内核,具有与常规89c51相同的内部功能和引脚布局,并且主要用于会聚调整时的功能控制。功能有对会聚主IC内部寄存器、外部接口、及数据RAM等功能组件的初始化,会聚测试图控制,会聚调整控制,远程控制信号IR接收和解码以及与主板CPU通讯等。主要的引脚为:XTAL1(19引脚),XTAL2(18引脚)为振荡器的输入和输出端口,并外接到12MHz的晶体振荡器。RST/Vpd(9引脚)是一个复位输入端口,是一个由外接电容和电阻所组成的复位电路。VCC(40引脚)和VSS(20引脚)是分别连接到+5V电源正负极的供电端口。P0~P3是可编程的通用I/O引脚,功能由软件定义,在本设计中,P0端口(引脚32~39)定义的是N1功能控制端口,每个端口都连接到N1的相应功能引脚。引脚13定义的是IR输入,引脚10和11定义的是I2C总线控制端口,连接到N1的SDAS(18引脚)和SCLS(19引脚)端口,引脚12、27和引脚28定义为握手信号的功能端口,连接至主板CPU的对应功能端,用于当前系统的检测功能和进入会聚调整状态的控制功能。图3-3单片机最小系统单片机的最小系统说明:时钟信号的产生:MCS-51芯片的内部具有高增益反相放大器,它的输入端是芯片引脚XTAL1,它的输出端是引脚XTAL2。在芯片外部,晶体振荡器和微调电容跨接在XTAL1和XTAL2之间,以形成稳定的自激振荡器,这便是单片机的时钟振荡电路。由时钟电路产生的振荡脉冲在经过触发器二分频之后,即为单片机的时钟脉冲信号。通常,电容C2和C3用30pF,晶体的振荡频率区间为1.2-12MHz。当晶体振荡频率高时,系统的时钟频率也会高,并且单片机的运行速度也快。单芯片复位将CPU和系统中其他功能组件处在一确定的初始状态下,并在此状态下开始工作。单片机复位的条件:使引脚9加上持续的两个机器周期(也就是24个振荡周期)的高电平。3.2.3显示系统图3-4LCD1602液晶显示电路3.2.4模数转换ADC0809是由美国国家半导体公司所生产的A/D转换器(8位逐次逼近式,COMS工艺8通道),其由一个八位A/D转换器、一个八路模拟开关、八路模拟量地址锁存/译码器和一个三态输出锁存器组成。(1)ADC0809的主要特性有:①8位A/D转换器,8路输入通道,也就是分辨率为8位。②转换时间100μs(时钟640kHz时),130μs(时钟500kHz时)。③具有转换起停控制端。④单个+5V电源供电。⑤工作的温度范围是-40~+85℃。⑥模拟输入电压的范围是0~+5V,不用零点和满刻度校准。⑦低功耗,约15mW。图3-5ADC0809芯片内部结构:ADC0809为COMS单片型逐次逼近式的A/D转换器,其内部结构如图3-2-4所示,它是由8路模拟开关、译码器与地址锁存、比较器、逐次逼近寄存器、8位开关树型A/D转换器、逻辑控制及定时电路组成。图3-6ADC0809内部结构图3-7模数转换电路软件设计与分析4.1软件设计的组成该系统由延时子函数、LCD1602液晶写数据/写命令子函数、LCD1602液晶忙检测子函数、LCD1602液晶显示字符串子函数、汉字显示子函数、LCD1602液晶初始化子函数、主函数、ADC0809转换子函数以及数据定义几部分组成。可以将系统分为初始化模块、A/D转换子程序以及显示子程序三个部分,其构成了整个系统软件的主程序,其程序流程图如图4-1所示。图4-1基于单片机的数字电压表主程序初始化是为了预设将使用的微控制器内部器件或者扩展芯片初始工作状态。初始化也可以理解为赋予初值,其最重要的目标是切换计时器的工作状态,诸如断开或者是开启计数器等。A/D转换子程序主要是控制输入模块的电压信号测量以及采集,还有把对应的值存储在对应的存储单元中。软件仿真5.1PROTEUS简介Proteus是一种EDA工具软件,其拥有庞大的元器件库,资源丰富,且具有强大的功能,是当前电子以及计算机科学等专业学生必须熟练掌握使用的软件。Proteus既能满足电路原理图的设计,还能通过导入编写的程序进行实时仿真,对制作实物有很大的帮助,可以有效地避免资源和时间的浪费,总的来说,是一款非常实用且利用价值非常高的软件。软件功能特点如下:(1)是一个非常强大的PCB设计平台,在绘制好完整的原理图之后,在编辑中找到PCB选项,能够开启PCB设计环境,通过一系列灵活的操作,可以实现某种产品从最初的概念到最终的开发的完备过程。(2)支持主流单片机系统的仿真。当前支持的单片微控制器的类型为:MSP430、AVR、8086、ARM、8051、AVR、HC11系列和不同种类的其他芯片。(3)具有软件调试等一系列功能。除此之外还具有单步执行、设置断点、最高的速度以及其他调试的功能。但是前提是这些功能一定要被对应的软件仿真系统所具备,并且它的操作环境需要其他软件的支持,比如在程序调入单片机的阶段,Proteus软件支持Keil软件汇编语言,所以可以进行一系列的程序仿真,除此之外,Proteus还支持许多软件环境,具有非常广的应用领域。(4)包含强大的原理图绘制功能。在原理图绘制版块,它具有非常丰富的元器件库,通过个别字母或数字就能搜索到想要的元器件,功能资源非常的强大,布局清晰,搭线方便,使用起来效率也很高。其能够仿真51系列以及其他使用频繁的单片机。在绘制好的原理图上,可以通过Keil汇编语言对电路设计进行编程,或者是通过调入已经编写好的程序(后缀名位hex的文件)在单片机钟,通过显示和输出部分的相互配合,可以呈现输入以及输出的效果在运行之后。对EDA工具软件而言,Proteus已经构建了相对完整的电子领域中电子设计和开发的环境。对在Proteus中绘制好的原理图,将已经编译好的代码文件(只能是后缀名为hex的代码文件)植入在单片机中,点击仿真按钮,就能够在Proteus原理图中观察到模拟出的实物的仿真结果,同时还能观测到它的运行状态以及过程。Proteus也的确是单片机教学的高级助手。Proteus软件中提供的丰富的元器件库为学生们的实践环节带来了极大的帮助,为学生们节省了大部分的时间,效率提高了非常多,学生也拥有了更多的灵活性和设计理念可以在修改完善电路设计之中体现出来,同学们的创新精神和实践能力也可以通过Proteus平台展现得淋漓尽致。Proteus可以说是一个庞大的教学资源,它不仅可以提升学生的电路分析以及设计的能力,还能够培养他们基于Proteus软件在其他应用领域的学习与发展,这对他们今后从事的工作也有很大的帮助。根据调查显示,对当今的大学生而言,相比于单纯的书本知识的学习,在Proteus的开发环境中进行学习训练更加容易得到较大的提升。在开始制作实物阶段,务必通过Proteus软件对设计好的原理图进行电路仿真,直到系统仿真能够开发成功,再做实物,这样可以减少不必要的损失。事实证明,Proteus软件的确提高了人们的工作效率,与此同时,Proteus也一直在更新换代,每一代的出现都有相比于上一代更高的设计效率和功能,所以,Proteus软件非常值得大家推广使用。5.2仿真图图5-1数字电压表仿真图5.3仿真数据记录图5-26组仿真数据记录图5.4实物图及数据测试图5-3实物图图5-4实物数据测试图在通过Proteus软件对设计好的电路进行仿真成功后,开始实物的制作。在实物制作初期,由于工具不完备,导致焊接时的进度很慢,在这期间也出现过一些小问题,由于自己的操作上的失误导致芯片的破损以及存在虚焊的现象。但最终自己还是及时发现问题,电路的问题也得以解决,由于缺乏实验器材,图中选用纽扣电池(约三点几伏)代替模拟电压输入部分,最终实物部分制作成功,数据也得以显示,测得纽扣电池的电压值为3.39V,且精度达到了0.01V,量程为0~5V,满足了本设计的技术指标要求。通过实物的制作,我明白了实践的重要性,也知道了将丰富的理论知识以及理论分析付诸于实践是多么的不容易,需要考虑的因素太多了。制作实物的过程让我知道工艺并非想象中那么简单,需要沉着冷静地面对,更需要细心,还要有足够的耐心。总之,实物的制作也让我获益匪浅。第6章结论分析利用AT89C51单片机搭配8位的A/D转换芯片ADC0809来制作的数字电压表,外部元件少,可靠性较高,更重要的是其结构相对简单,价格低廉,同时实用性非常强。因此,在实际的应用当中,数字电压的测量变得非常方便且直观,测量精度也很高,测量电压值准确,稳定性较高,能够达到预期的效果。通过理论分析以及电路的仿真,现在对此次的毕业设计(高精度数字电压表的设计)做一个简单的总结。经过电路仿真我们可以看出仿真的结果和理论分析是相符的,由6组仿真测量数据显示,仿真绝对误差小于等于0.01V;也就是说此次的设计能够在一定条件下达到课题的要求,实现对外接电压的测量,电路的结构也相对比较简单。但是不难看出,系统的稳定性和可靠性方面还有待提升,由于存在人为的手工误差(比不上精密仪器),这里具体表现在以下两个方面:待测的模拟电压在一定范围内变化时,数字电压表系统的反应还不是很灵活,响应的速度相对较慢,最主要的原因还是A/D转换芯片的转换速率不够;数字电压表测量结果的不准确还有一个影响因素,那就是A/D转换的参考电压不准确。针对以上的问题,在理论上可以用下列的方法进行改进:正因为A/D转换的参考电压会影响数字电压表的测量结果,所以需要提供一个高精度的电压参考源,在这样的情况之下,数字电压表的测量精度就会随着A/D转换芯片参考电压的精度的升高而升高;除此之外,提高芯片的位数即采用高位的A/D转换芯片也能够改善测量精度的问题(这里涉及到成本的问题就不作过多的阐述了)。通过查阅文献资料和书籍能够找到ADC0809的误差系数以及碳膜电阻温度系数,再在编程时进行软件的补偿还有参数校正,可以最大的优化由软件补偿硬件的误差问题,这在编程思想中也是非常重要的。与此同时,在本次设计的过程中,我深刻地体会到了理论与实践相结合地重要性;在设计期间,我阅读了大量的文献资料,看了前辈们设计的想法、优缺点、存在的实际问题等等,把杂乱无章的知识点整合在一起是一个非常艰辛的过程;虽然之前也收集了大量资料但到真正的实际应用时却有很大差异,出现了很多意料之外的问题,但这期间我也学会了沉着冷静地对待问题,慢慢剖析问题地根源,逻辑清晰思维缜密,处理问题地效率也是提高了不少。通过长时间的摸索和导师的指导,最终还是设计出了符合要求的设计。参考文献[1]张迎新.单片微型计算机原理、应用及接口技术.北京:国防工业出版社,1999[2]李群芳,张士军,黄建.单片微型计算机与接口技术.北京:电子工业出版社,2008[3]李群芳.单片机原理接口与应用.北京:清华大学出版社,2005[4]高峰.单片微机应用系统设计及使用技术.北京:机械工业出版社,2007[5]彭伟.单片机c语音程序设计实例基于protues仿真.北京:电子工业出版社,2007[6]张冬林,李鑫,戴梅.基于DHT11的低成本蚕室温湿度自动控制系统设计[J].现代农业科技,2010,(18):14-15.[7]徐春河.浅谈AT89S51[J].制造业自动化,2010,(12):80-82.[8]吴汉清.常用的典型单片机资料[J].无线电,2007,(11):72-80.[9]叶健斌.基于单片机嵌入式系统的GPS应用[J].电子质量,2008,(7):16-24.[10]刘宝元,张玉虹,姜旭,段存丽.基于单片机的温湿度监控系统设计[J].国外电子测量技术,2009,(12):77-80,83.[11]王静.通用库房温湿度测控系统[D].中国海洋大学,2009.[12]陈汝全.实用微机与单片机控制技术[M].电子科技大学出版社.1995.712.[13]张广军,黄俊钦.温度传感器现场动态校准方法与实验研究[J]北京航空航天大学学报1997年23卷3期311-315.[14]李建民.单片机在温度控制系统中的应用[M].江汉大学学报,1996.6210-215.[15].薛玲,孙曼,张志会,夏莉丽,魏希文.基于单片机AT89S51的温湿度控制仪[J].2010,37,(7):66-69致谢四年的大学生活已临近尾声,即将在这个复苏的夏季画上一个完美的句号,而我也将面对又一次征程的开始。四年的求学生涯在师长、同学、亲友的大力支持和热情关怀下,走得辛苦却也收获满囊。就在论文即将付梓之际,我思绪万千,心情久久未能平息。名人、伟人为我所崇敬,可是我更加急切地要把我赞赏和敬意献给一位平凡地人,他就是我的导师。我不是您最出色地学生,但是您却是我最尊敬的老师。您学识渊博、治学严谨、视野雄阔、思想深邃,为我的学习背景营造了一种良好的精神氛围。置身其间、授人以鱼不如授人以渔、耳濡目染、潜移默化,让我不仅接受勒一种全新的思想观念,还树立了宏伟的学术目标,同时也领会了基本的思考方式。从最开始的论文题目的选定到疫情期间的线上开题答辩、中期检查、论文初稿定稿,都经由您悉心指导,再经过自己思考后的领悟,时常让我感受到“山重水复疑无路,柳暗花明又一村”。感谢我的父母和家人,感谢他们多年来的不辞辛苦。人生的道路充满坎坷,并不是一条直接通往光明的道路,有伤心、有痛苦、有无助、有卑微、有迷茫,还有面对一切所不能忍受的,但这就是生活,感谢你们在我低落、消沉时义无反顾地站在我身后,鼓励着我为我指点迷津。生活中也确实有许多美好的东西,有些时候你忽略了它本身的色彩,如果你用一种方式感受不到的话,不妨试试换一种方式去感受,也许现在的它正是你所需要的那种生活方式。积极、乐观、豁达一点,未来的道路充满希望,我会用心去感受它。在校学习生活期间,不仅我的知识结构上了一个新的台阶,各方面的素质也得到了很大的提升,特别是实践能力以及动手操作的能力。大学的课程里,电子科学与技术专业重在将理论付诸于实践,学校实验室也一直对学生开放,有目标有想法的同学可以在这里锻炼自己,同时对参加竞赛的学生也提供了一个很好的学习实践平台。在课外,我也同样获益匪浅,我感受到了自学的魅力,也沉浸在自律的生活状态当中,我非常感谢这四年来的大学学习生活,它让我变得更加独立,面对问题时沉着冷静,逻辑清晰思维缜密,处理问题的效率也提高了很多,懂得了劳逸结合能够使我达到最佳的精神状态,这四年的我既可以在图书馆坐下来安静的学习,也可以在球场挥汗如雨。大学期间我也结识了许多良师益友,他们都非常的优秀,同时我也深受他们的影响,让自己也成长了许多。在这期间,有多少可敬的师长、同学以及朋友给了我许多帮助,感谢你们耐心地为我讲解,在这里请接受我诚挚的谢意!附录附录A附录B附录C源程序//<程序名>:数字电压表**//<功能作用>:用LCD显示被检测电压,精度为0.01V,范围是0~5V。**#include"includes.h"#defineTIME0H0x3C#defineTIME0L0xB0ucharuc_Clock=0;//定时器0中断计数bitb_DATransform=0;//<把电压显示在LCD上>voidvShowVoltage(uintuiNumber){ucharucaNumber[3],ucCount;if(uiNumber>999)uiNumber=999;ucaNumber[0]=uiNumber/100;//把计算数字每个位存入数组当中。ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10;ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];for(ucCount=0;ucCount<3;ucCount++){vShowOneChar(ucaNumber[ucCount]+48);//从首位至末位逐一输出。if(ucCount==0)vShowOneChar('.');}}//**主函数**//**voidmain(){TMOD=0x01;//定时器0,模式1。TH0=TIME0H;TL0=TIME0L;TR0=1;//启动定时器。ET0=1;//开定时器中断。EA=1;//开总中断vdInitialize();vWriteCMD(0x84);//写入显示起始地址vShowChar("voltage");vWriteCMD(0xC9);vShowChar("(V)");while(1){if(b_DATransform==1){b_DATransform=0;vWriteCMD(0xC4);vShowVoltage(uiADTransform());}}}//<<定时器0中断函数>voidt0()interrupt1{if(uc_Clock==0){uc_Clock=5;b_DATransform=1;}elseuc_Clock-;TH0=TIME0H;//恢复定时器0。TL0=TIME0L;}#include<reg51.h>sbitSTART=P3^4;//ATART,ALE接口。0->1->0:启动AD转换。sbitEOC=P3^3;//转换完毕由0变1.#defineOUTPORTP2//AD转换函数,返回转换的结果。//转换的结果是3位数,小数点在百位和十位之间。unsignedintuiADTransform(){unsignedintuiResult;START=1;//启动AD转换。START=0;while(EOC==0);//等待转换结束。uiResult=OUTPORT;//输入转换结果。uiResult=(100*uiResult)/51;//处理运算的结果。returnuiResult;}#include"LCD1602.h"voidvWriteCMD(ucharucCommand){vDelay();//先延时。LCDE=1;//再把LCD改为写入指令状态。LCDRS=0;LCDRW=0;LCDPORT=ucCommand;//再输出命令。LCDE=0;//最后执行命令。}//<把1个数据写入LCD>voidvWriteData(ucharucData){vDelay();//先延时。LCDE=1;//再把LCD改为写入数据状态。LCDRS=1;LCDRW=0;LCDPORT=ucData;//再输出数据。LCDE=0;//最后显示数据。}voidvShowOneChar(ucharucChar){switch(ucChar){case'':vWriteData(0x20);break;case'!':vWriteData(0x21);break;case'"':vWriteData(0x22);break;case'#':vWriteData(0x23);break;case'$':vWriteData(0x24);break;case'%':vWriteData(0x25);break;case'&':vWriteData(0x26);break;case'>':vWriteData(0x27);break;case'(':vWriteData(0x28);break;case')':vWriteData(0x29);break;case'*':vWriteData(0x20);break;case'+':vWriteData(0x2A);break;case'-':vWriteData(0x2D);break;case'/':vWriteData(0x2F);break;case'=':vWriteData(0x3D);break;case'<':vWriteData(0x3E);break;case'?':vWriteData(0x3F);break;case'.':vWriteData(0x2E);break;case':':vWriteData(0x3A);break;case'0':vWriteData(0x30);break;case'1':vWriteData(0x31);break;case'2':vWriteData(0x32);break;case'3':vWriteData(0x33);break;case'4':vWriteData(0x34);break;case'5':vWriteData(0x35);break;case'6':vWriteData(0x36);break;case'7':vWriteData(0x37);break;case'8':vWriteData(0x38);break;case'9':vWriteData(0x39);break;case'A':vWriteData(0x41);break;case'B':vWriteData(0x42);break;case'C':vWriteData(0x43);break;case'D':vWriteData(0x44);break;case'E':vWriteData(0x45);break;case'F':vWriteData(0x46);break;case'G':vWriteData(0x47);break;case'H':vWriteData(0x48);break;case'I':vWriteData(0x49);break;case'J':vWriteData(0x4A);break;case'K':vWriteData(0x4B);break;case'

温馨提示

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

评论

0/150

提交评论