1、(2011届)毕业设计题目基于单片机的电压测量系统的设计姓名专业电子信息工程班级学号指导教师导师职称年月日基于单片机的电压测量系统的设计摘要随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。本设计在参阅了大量前人设计的数字电压表的基础上,利用单片机技术结合A/D转换芯片ADC0832构建了一个直流数字电压表。本文首先简要介绍了单片机系统的优势,然后详细介绍了直流数字电压表的设计流程,以及硬件系统和软件系统的设计。本文介绍了基于AT89C51单片机的电压测量系统的设计,介绍1602LCD液晶的功能和
2、ADC0832的转换原理。该电路设计简单,方便。该设计可以测量05V的电压值,并在1602LCD液晶上显示出来。本系统主要包括三大模块主程序模块、显示模块、A/D转换模块。绘制电路原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路。在软件编程上,采用了C语言进行编程。开发了显示模块程序、A/D转换程序。关键词AT89C51单片机、1602LCD液晶、ADC0832。IVOLTAGEMEASUREMENTSYSTEMBASEDONSINGLECHIPDESIGNABSTRACTWITHTHEDEVELOPMENTOFELECTRONICSCIENCEANDTECHNOLOGY,ELE
3、CTRONICMEASURINGAVASTNUMBEROFELECTRONICJOURNALISTSMUSTMASTERTHEMEANSOFMEASUREMENTACCURACYANDFUNCTIONALREQUIREMENTSAREALSOINCREASING,WHILETHEVOLTAGEMEASUREMENTISVERYSTRONG,BECAUSETHEVOLTAGEMEASUREMENTISMOSTCOMMONSEETHISDESIGNINTHEDESIGNOFALARGENUMBEROFPREVIOUSDIGITALVOLTAGEMETER,BASEDONTHEUSEOFMICROC
4、ONTROLLERTECHNOLOGYWITHA/DCONVERTERCHIPADC0832BUILTADIGITALVOLTMETERTHISARTICLEBRIEFLYDESCRIBESTHEADVANTAGESANDSCMSYSTEMSTHENINTRODUCESTHEDIGITALVOLTAGEMETERDESIGNPROCESS,ASWELLASHARDWAREANDSOFTWARESYSTEMDESIGNTHISARTICLEDESCRIBESTHEAT89C51MICROCONTROLLERBASEDONTHEDESIGNOFTHEVOLTAGEMEASUREMENTSYSTEM
5、INTRODUCED,1602LCDFUNCTION,ADC0832CONVERSIONPRINCIPLETHECIRCUITDESIGNOFNOVEL,SIMPLEANDCONVENIENTTHEDESIGNCANMEASURETHEVOLTAGE05V,ANDDISPLAYEDONTHE1602LCDTHISSYSTEMCONSISTSOFTHREEMODULESMAINMODULE,DISPLAYMODULE,A/DCONVERTERMODULEDRAWCIRCUITDIAGRAMANDWORKFLOWCHART,ANDDEBUGGING,THEFINALDESIGNOFTHESYSTE
6、MHARDWAREINSOFTWAREPROGRAMMING,USINGTHECPROGRAMMINGLANGUAGEDEVELOPEDADISPLAYMODULEPROGRAM,A/DCONVERSIONPROCESSKEYWORDSAT89C51MICROCONTROLLER、1602LCD、ADC0832II目录摘要IIIABSTRACTIV1绪论111课题的来源112课题的意义113数字电压表的国内外发展现状214课题研究的主要内容32设备方案设计与总体设计421电压测量系统的方案设计422单片机电压测量系统的总体设计4221硬件选择5222软件选择63硬件电路的设计731输入电路模块
7、设计732LM7805稳压电源电路介绍833显示模块电路设计834A/D转换设计9341A/D电路的介绍和选择9342ADC0832与单片机的接口电路1035单片机模块的简介12351单片机小系统13352AT89C51单片机的基本组成13353AT89C51引脚及其功能144系统软件的设计1641主程序的设计1642各子程序的设计18421A/D程序的流程图18422显示程序的流程图19结论21参考文献22致谢23附录一系统整体电路图24附录二A/D转换电路的程序25附录三1602LCD显示模块的程序27毕业设计01绪论11课题的来源电子测量是泛指以电子技术为基础手段的一种测量技术。它主要是
8、测量学和电子学互相结合起来。电子测量除具体运用电子科学的原理、方法和设备对各种电量、电信号及电路元器件的特性和参数进行测量外,还可以通过各种敏感器件和传感装置对非电量进行测量,这种测量方法往往更加方便、快捷、准确,有时是用用其他测量方法不可替代的2。近年来,计算机技术和微电子技术的飞速发展为电子测量和仪器仪表添加强大的生命力。微型计算机,尤其是计算机和测量仪器,形成了仪器和测试系统的新一代,“智能机器”和“自动测试系统”,它可以自动测量的一些参数,自动范围选择,数据记录和处理相结合,数据传输,纠错,自我测试,在线测试,故障诊断,不仅改变了许多传统观念的测量,而且对整个电子和其他科学和技术产生了
9、极大的推动作用。现在,电子测量技术(包括测量理论,测量,测量仪器,设备等)已成为电子科技迅速发展的重要领域和分支1。电压是属于电子测量中一个重要的组成部分。了解,测出各种电压的值,有助于让我们更加安全、方便的使用电压。因此研究电压的测量值具有重要价值2。12课题的意义目前电子测量设备在性能、测试功能、工艺结构等各方面都取得了巨大的发展,其研制和生产正向着系统化、数字化、高性能、多功能、快速、小型等方面发展。更不用说电压的测量。拥有先进的科学实验手段,这是科学技术现代化的一个重要标志,而一个国家电子测量水平的高低,往往是反映这个国家科技水平的重要方面。所以,我们必须努力提高我们的电子测量技术,争
10、取早日达到国际先进水平4。传统的指针式电压表功能单一、精度低,已经满足不了现在时代的需求,而采用单片机的数字电压表,精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片机和A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域4。基于单片机的电压测量系统的设计113数字电压表的国内外发展现状我们在初中、高中时接触的是指针式的电压表。那样的电压表,简单,量程范围小。只是适用于实验,而没有其他的应用范围。这样的指针电压表的缺点有很多,误差大、精度低、量程小等等。近年来,单片机在电子器件方面的崛起,给电压表的极限带来了很
11、大的突破。现在市面上出现了很多由单片机构成的数字电压表4。数字电压表出现在50年代初,60年代末发起来的电压测量仪表,简称DVM,它采用的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加以数字处理然后再通过显示器件显示。究其原因,这种电子测量仪表的出现,一方面,是因为电子计算机的应用推广逐步向系统的自动控制的实验研究领域,提出了各种被观察量或者是控制量变换成数码,即在实时控制和数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,提供了数字化测量设备的条件。因此,数字化测量仪表的生产和发展与电子计算机的发展是密切相关,在同一时间,在电子测量中
12、的烦锁和过时的方法促进了其迅猛发展,现在,在发展到智能化仪表中它已成为了重要桥梁。现在,大多数数字电压表已取代传统的指针电压表。由于传统的单一功能的指针电压表,精度低,读数也非常不方便,而且非常容易出错。而由于单片机精度高,速度快,读数方便,抗干扰能力强,可扩展性大等组成的数字电压表的使用已被广泛应用于电子和电气测量,工业自动化仪表,自动测试系统的智能测量。数字电压表最早是伺服步进电子管比较式,其优点是精度高,但采样缓慢,重达数十公斤,体积大。接着出现了斜波式电压表,稍微加快了速度,但精度低,稳定性差,再后来出现了比较式仪表改进逐次渐近式结构,它不仅保持了较高的精度高的优势,而且速度已大大改善
13、,但它有一个的缺点是抗干扰能力弱。随后,在斜波式的基础上双引伸出阶梯波式,它虽然降低了成本,但是确切的宽度,速度和抗干扰能力并没有提高。现在,数字电压表的发展已经非常成熟,在原则上,它从原来的单一,已经发展到数个品种,在功能上,从单一参数测量发展到测量各种参数从视图组件的生产,对集成电路的发展,精度有了很大的提高精度可达1NV每秒读数的数万次,相对过去,它的价格也减少了许多。目前实现电压数字化测量的方法仍然模数(A/D)转换的方法。而数字电压表种类繁多,型号新异,目前国际仍未有统一的分类方法。而常用的分类方法有如下几种毕业设计21按用途来分有直流数字电压表,交、直流数字电压表,交直流万用表等。
14、2按显示位数来分有4位,5位,6位,7位,8位等。3按测量准确度来分有低准确度,中准确度,高准确度等。4按测量速度来分有低速,中速,高速,超高速等。但在日常生活中,数字电压表一般是按照原理不同进行分类的,目前大致分为以下几类比较式,电压时间变换式,积分式等。14课题研究的主要内容电压是属于电子测量中一个重要的组成部分。了解,测出各种电压的值,有助于让我们更加安全、方便的使用电压6。因此研究电压的测量值具有重要价值。本论文给出基于单片机的电压测量系统的设计,控制系统采用AT89C51单片机,A/D转换器采用ADC0832为主要硬件,实现数字电压表的硬件电路与软件设计。数字电压表可以测量05V的输
15、入电压值,并在1602LCD液晶模块上显示。基于单片机的电压测量系统的设计32设备方案设计与总体设计21电压测量系统的方案设计设计数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分压处理,而各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。下面介绍两种数字电压表的设计方案。第一种方案由数字电路及芯片构建这种设计方案是由数字电路和模拟电路两大部分组成,模拟包括输入放大器和A
16、/D转换器和基准电压源,数字部分包括译码器,逻辑控制器,计数器,振荡器和显示器。其中,A/D转换是其核心组成部分,它会把模拟量转换成数字量。模拟电路和数字电路是相互关联的,由逻辑控制电路来产生控制信号,定时将A/D转换器的模拟开关开启或关闭,以确保A/D转换正常。A/D转换电路通过计算解码转换到代码,最后驱动程序显示器显示出相应的值。此方案设计其优点是,设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路。很难将其在原有的基础上进行扩展。第二种方案由单片机系统及A/D转换芯片构建这种方案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电压表。由于单片机的发展已经成熟,利
17、用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。第二种方案不仅能够继承第一种方案的各种优点,还能改进上第一种设计方案设计不灵活,难与在原基础上进行功能扩展等不足。22单片机电压测量系统的总体设计本设计从各个角度分析了由单片机组
18、成的数字电压表的设计过程及各部分电路的组成及其原理,并且分析了程序如何驱动单片机进而使系统运行起来的毕业设计4原理及方法。框图如下ADC0832A/D转换器51单片机显示模块1602LCD液晶屏上显示被测电压输入电路模块图221数字电压表原理框图本设计主要分为两部分硬件电路及软件程序。而硬件电路又大体可分为单片机小系统电路、A/D转换电路、液晶显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程。电压是检测中最基本的测量值,主要过程是模拟信号经过输入电路调理,在经过放大电路,变换成合适范围的信号幅度,接着该信号,经过A/D转换电路转化成数字信号,数字信号既可
19、以直接经过单片机的处理、保存,再由液晶显示器显示出来。总体设计的内容被测电压经过运算放大电路,可以被AD接收的电压范围,然后该信号经过ADC0832芯片A/D转换电路转化成数字信号,再经过AT89C51单片机的处理、保存,由1602LCD液晶模块显示出来。该电压表可达到如下程度1电压表量程范围0V5V;2能用液晶显示电压值;3测量精度可达到001MV。221硬件选择选择89C51作为单片机芯片,选用1602LCD液晶屏来实现电压显示,由于ADC0832的基准电压由它内部本身提供,所以为了方便,我就利用ADC0832作为数模转换芯片,利用P0至P4的各个串口来进行不同设备间的连接,计算机进行汇编
20、,H51/L仿真器,单片机多功能实验箱。基于单片机的电压测量系统的设计5222软件选择本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。汇编语言的特点是占用内存单元少,执行效率高。执行速度快。但它依赖于计算机硬件,程序可读性和可移植性比较差。而C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。由于现在单片机的发展已经达到了很高的水平,内部的各种资源相当的丰富,CPU的处理速度非常
21、的快。用C语言来控制单片机无疑是一个理想的选择。所以在本设计中采用C语言编写软件程序。毕业设计63硬件电路的设计31输入电路模块设计电压测量原理如图所示,电压输入到LM358的正相端。最高输入电压可到5V,使输入电压处于AD量程范围。LM358构成一个电压跟随器,起到隔离前后通道的作用,其较低的输出电阻还可以提高带负载能力,输出端接入ADC。图311电压测量电路图由于该设计精度要达到001MV左右,所以我们加入了LM358的放大器,来放大较小的被测电压,输入到AD转换器中,再经过单片机处理从液晶上显示出来。如图所示,是由LM358放大器组成的,LM358内部包括有两个独立的、高增益、内部频率补
22、偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。电容C5是阻容滤波,为了使得信号更稳定。基于单片机的电压测量系统的设计732LM7805稳压电源电路介绍用LM78/LM79系列三端稳压IC来组成稳压电源所需的外围元件很少,电路内部有过流、过热和调整管的保护电路,使用方便、可靠,而且价格低廉。该系列集成稳压IC型号中的LM78或LM79后面的数字代表此三端集成稳压电路的输出电压。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。图
23、321LM7805典型应用电路图这是一个输出正5V直流电压的稳压电源电路。IC采集成稳压器LM7805,C4为输出端滤波电容,D1为输入反向保护。33显示模块电路设计显示模块的选择关系到整个系统设计的功能多少,我们只需要显示最后电压的数字值和电压的单位,根据各种显示器件的特点数码管只能显示数字,不能显示单位字符,不符合本设计的要求。而点阵显示器件驱动显示软件程序编写麻烦,占用的引脚相对也较多。也不是理想的显示器件。所以在本设计中,我们考虑用液晶显示器件,虽然12864液晶比1602液晶的功能强,不过在价格方面却贵了好多。而1602液晶也足够满足本设计的需要。因此,在本设计实验我们选择1602液
24、晶显示器件。1602LCD分为带背光和不带背光两种,带背光的比不带背光的厚,是否带背光在应用中并无差别,1602液晶模块内部的字符发生存储器有存储了160个不同的点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用的毕业设计8符号等,每一个字符都有一个固定的代码,比如大写的阿拉伯数字“8”的代码是00111000B(38H),显示时模块把地址38H中的点阵字符图形显示出来,我们就能看到数字“8”。LCD1602与单片机接口如图所示。图3311602LCD液晶GND为电源地,VCC接5V电源正极,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时则会产生
25、“鬼影”,使用时则可以通过一个10K的电位器调整对比度)。通过RW的高电平时读取输入电压的数字信号,再经过RW的低电平进行写操作,在LCD上显示出来。RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。E或EN端为使能ENABLE端。D0D7与单片机的P0端口相接。34A/D转换设计341A/D电路的介绍和选择在该设计中,模数(A/D)转换模块是一个非常重要的模块,它关系到最后数字电压表电压值的精确度。所以,A/D芯片的选择是设计过程中一个很重要的环节。模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为基于单片机的电压测量系统的设计9数字信号的电子元件。通常
26、的模数转换器是将一个输入模拟电压信号转换为一个输出的数字信号。模数转换器最重要的参数是转换的精度,通常用输出的数字信号的位数的多少表示。转换器能够准确输出的数字信号的位数越多,表示转换器能够分辨输入信号的能力越强,转换器的性能也就越好。A/D转换一般要经过采样,保持,量化及编码4个过程。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中是同时实现的。ADC0832是8脚双列直插式双通道A/D转换器,能分别对两路模拟信号实现模数转换,可以用在单端输入方式和差分方式下工作。ADC0832采用串行通信方式,通过DI数据输入端进行通道选择、数据采集及数据传送。8位的分辨率(最高分
27、辨可达256级),可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。ADC0832是8位精度,在本设计中,为了减少数字电压表的误差率,在同类比的AD转换器中,ADC0832性价比较高,于是我就选择了ADC0832作为这次设计的AD转换器。342ADC0832与单片机的接口电路图341ADC0832与单片机接口电路CH0、CH1,是ADC0832的两个通道,在ADC0832的工作时,被测的电压进行通道选择进入CH0或者CH
28、1通道,ADC0832采用串行通信方式,通过DI数据输入端进行通道选择、数据采集及数据传送。CS,CLK,DI,DO四个是与单片机P3接口相连,只有在使能端CS为低电平时,ADC0832才开始工作,此时处理器向毕业设计10AD传送时钟信号,而根据DI和DO来选择需要通道的信号,传入单片机处理和保存。在第一个时钟脉冲的下降之前DI端必须是高电平,表示开始信号。在第二、三个脉冲下将之前DI端应输入两个数据用于选择通道功能。通道地址通道SGL/DIFODD/SIGN01工作方式说明0001差分方式1011单端输入方式表31通道地址设置表当此两个数据为“1”、“0”时,只对CH0进行单通道转换。当两个
29、数据为“1”、“1”时,只对CH1进行单通道转换。当两个数据为“0”、“0”时,将CH0作为正输入端IN,CH1作为负输入端IN进行输入。当两位数据为“0”、“1”时,将CH0作为负输入端IN,CH1作为正输入端IN进行输入。到第三个脉冲的下降之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据最高位DATA7,随后每一个脉冲的下降沿DO端输出下一个数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出就完成了。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下降沿输出DATA0。随后
30、输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平停用芯片,直接将转换后的数据进行处理就可以了。时序说明请参照图342。作为单通道模拟信号输入时ADC0832的输入电压是05V且8位分辨率时的电压精度为1953MV,即(5/256)V。如果作为由IN与IN输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN与IN的输入时,如果IN的电压大于IN的电压则转换后的数据结果始终为00H。基于单片机的电压测量系统的设计11图342ADC0832工作时序35单片机模块的简介单片机是指一个集成在一块芯片上的完整计算机系
31、统,具有一个完整计算机所需要的大部分部件CPU,内存,总线系统等。而目前常用的单片机的8位有51系列单片机,AVR单片机,PIC单片机。应用最广的8位单片机还是INTEL的51系列单片机。51系列单片机的特点是硬件结构合理,指令系统规范,加之生产历史悠久,世界有许多芯片公司都买了51的芯片核心专利技术,并在其基础上扩充其性能,使得芯片的运行速度变得更快,性价比更高。我们在本次设计中选择了8951芯片,正因为具有功能强、体积小、成本低、功耗小等特点,所以它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。AT89C51是一种带4K字节
32、闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。毕业设计12351单片机小系统图351单片机小系统单片机最小系统包括晶振电路,电源。在此模块中,单片机的晶振是12MHZ。P1端口与AD转换器连接,RS、RW、EN和P0端口与1602LCD连接。被测电压被AD转换后从P1端口输入,由单片机进行数据的采集然后保存在RAM中。再
33、经过单片机系统的软件程序编写,适合1602LCD的输入,则通过P1端口输出,在1602LCD上显示出来被测的电压。352AT89C51单片机的基本组成(1)一个8位的微处理器(CPU)。(2)片内256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。(3)片内4KB程序存储器FLASHROM,用以存放程序、一些原始数据和表格。(4)4个8位并行I/O端口P0P3,每个端口既可以用作输入,也可以用作输出。(5)两个16位的定时器/计数器,每个定时器/计数器都可以设置成计数方式。基于单片机的电压测量系统的设计13(6)具有5个中断源、两个中断优
34、先级的中断控制系统。(7)一个全双工UART的串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通信。(8)片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。(9)具有节电工作方式,即休闲方式和掉电方式。以上各个部分通过片内八位数据总线相连接。353AT89C51引脚及其功能图352单片机AT89C51的引脚图(1)XTAL1(19脚)振荡器反相放大器及内部时钟发生器的输入端。(2)XTAL2(18脚)振荡器反相放大器的输出端。(3)RST(9脚)复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。(4)P0口(3932脚)P0口是一个漏极开路的8位准双
35、向I/O端口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。当P0口作为输入口使用时,应先向口锁存器写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。(5)P3口(1017脚)P3口是一组带有内部上拉电阻的8位双向I/O多功能口。P3口输出缓冲器可驱动4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口,此时,被外部拉低的P3口将用上拉电阻输出电流。当CPU不对P3口进行SFR寻址访问时,即用作第二功能输出/输入线时,由内部硬件使锁存器Q置1。整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处低电平10MS来完成。在芯
36、片擦除操作中,代码陈列全被写“1”毕业设计14且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。基于单片机的电压测量系统的设计154系统软件的设计本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。汇编语言的特点是占用内存单元少,执行效率高。执行速度快。但它依赖于计算机硬件,程
37、序可读性和可移植性比较差。而C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。由于现在单片机的发展已经达到了很高的水平,内部的各种资源相当的丰富,CPU的处理速度非常的快。用C语言来控制单片机无疑是一个理想的选择。所以在本设计中采用C语言编写软件程序。41主程序的设计初始化开始Y结束调用显示程序AD转换N图41主程序流程图毕业设计16初始化中,主要针对AT89C51、ADC0832的管脚和1602LCD液晶的位选进行初始化的设置。利用公式VOTUNSIGNEDIN
38、TUNSIGNEDLONGVAL5000/255得出数据显示在液晶显示器上的第一行;利用VALGETVAL08321得出的数据显示在液晶显示器上的第二行。主程序VOIDMAINUCHARVALINITWHILE1VALGETVAL08321VOTUNSIGNEDINTUNSIGNEDLONGVAL5000/255/显示电压WRITECHAR0,0,VWRITECHAR1,0,OWRITECHAR2,0,TWRITECHAR3,0,WRITECHAR4,0,VOT10000/10000X30WRITECHAR5,0,WRITECHAR6,0,VOT1000/1000X30WRITECHAR7,0
39、,VOT100/100X30WRITECHAR8,0,VOT100X30WRITECHAR0,1,VWRITECHAR1,1,AWRITECHAR2,1,LWRITECHAR3,1,WRITECHAR4,1,VAL/10000X30WRITECHAR5,1,VAL1000/1000X30WRITECHAR6,1,VAL100/100X30WRITECHAR7,1,VAL100X30基于单片机的电压测量系统的设计17DELAY1042各子程序的设计421A/D程序的流程图开始使能芯片CS1CS0A/D转换开始工作产生时钟信号输入通道控制字读取2字节数据字节数据校验将值送入指定寄存器结束图421A
40、/D程序流程图为了高速有效的实现通信,我们采用汇编语言编写接口程序。由于毕业设计18ADC0832的数据转换时间仅为32S,所以A/D转换的数据采样频率可以很快,从而也保证的某些场合对A/D转换数据实时性的要求。数据读取程序以子程序调用的形式出现,方便了程序的移植。程序占用资源有累加器A,工作寄存器R7,通用寄存器B和特殊寄存器CY。通道功能寄存器和转换值共用寄存器B。在使用转换子程序之前必须确定通道功能寄存器B的值,其赋值语句为“MOVB,DATA”(00H03H)。运行转换子程序后的转换数据值被放入B中。子程序退出后即可以对B中数据处理。422显示程序的流程图LCD进行初始化,从通电开始延
41、时,先经过判忙后再进行功能设置,过一段时间后可以设置显示状态再经过延时清屏后才可以设置输入方式,具体实现过程如下图所示上电延时20MS功能设置延时37US显示状态设置清屏延时152MS输入方式设置初始化结束图422LCD初始化流程图LCD显示程序的设计一般先要确定LCD的初始化、光标定位、确定显示字符后,显示程序流程图如下基于单片机的电压测量系统的设计19开始LCD初始化光标定位显示字符结束图423LCD流程图毕业设计20结论由于本设计使用的是高效的51系列单片机作为核心的测量系统,以及高精度,高速度,高抗干扰的A/D转换器。使得本直流电压表具体精度高,灵敏度强,性能可靠,电路简单,成本低的特
42、点。此设计是单片机应用系统的开发性实验。通过此设计可知在单片机系统开发过程应注意以下事项。1)硬件的选择。选择适合设计目地的元器件是一个重要的方设计环节。不能以元器件是否是最高性能作为选择元器件的标准。往往高性能器件的价格也是较高的。应根据项目设计的需要选择元器件,能够满足设计需要作为标准选择元器件。2)因为单片机系统设计是硬件和软件相结合的设计,所以系统和硬件和软件必须紧密配合,协调一致。应不断调整硬软件设计,以提高系统工作效率。单片机的应用如今已经是在工业,电子等方面展示出了它的优越性,利用单片机在设计电路逐渐成了趋势,它与外围电路再加上软件程序就可以构建任意的产品,使得本设计成为现实。随
43、着单片机的日益发展,它必将在未来显示出更大的活力,为电子设计更多精彩。对于数字电压表而言,功能将会越来越强大。基于单片机的电压测量系统的设计21参考文献1蒋焕文,孙续编著电子测量第二版M北京中国计量出版社,1988342杨吉祥,詹宏英编著电子测量技术基础M南京东南大学出版社,1999563全国大学生电子设计竞赛组委员会编著,全国大学生电子设计竞赛获奖作品选编M北京理工大学出版社,2008,784陈杰美,古天祥编电子仪器M北京国防工业出版社,1986,785李讯波编著机械工程测试技术基础M成都电子科技大学出版社,1998,10116张乃国编,电子测量技术M北京人民邮电出版社,1985,13147
44、韩刚,徐万玉编工业电子控制装置的抗干扰技术M北京中国铁道出版社,1984,17188刘君华编著现代检测技术与测试系统设计M西安西安交通大学出版社,1999,20229ANALOGDEVICECOMPANYATECHNICALTUTORIALONDIGITALSIGNALSYNTHSISIM,2000,202210AGILENTCOMPANYAGILENT8360BSERIESSYNTHESIZEDSWEPTSIGNALGENERATORSUSERMANUALM,2001,232411李广第单片机基础M北京北京航空航天大学出版社,199912徐惠民、安德宁单片微型计算机原理接口与应用M北京北京邮
45、电大学出版社,199613何立民中一片机高级教程M北京北京航空航天大学出版社200014徐江海中一片机实用教程M北京机械工业出版社,200615康华光,陈大钦电子技术基础模拟部分M北京I等教育出版社,199916孟庆浩,翟振铎,孙冰A/D转换器MC14433实际应用中若干问题的探讨J天津理工学院学报,1996,12卷23437毕业设计22附录一系统整体电路图1234ABCD4321DCBATITLENUMBERREVISIONSIZEA4DATE27MAY2011SHEETOFFILECUSERSXULEDESKTOPBACKUP11DDBRAWNBYEA/VPP31X119X218RESET
46、9RD/P3717WR/P3616P32/INT012P33/INT113P34/T014P35/T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/PRDG30P31/TXD11P30/RXD10U1AT89C5123456789COM1R110KVCC12Y1110592MC322PFC422PFVCCCS1CH02CH13GND4DI5D06CLK7VCC8ADC0832U2VCCC1104
47、GND1VCC2VO3RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714BGVCC15BGGND16LCD1602LCD1LCD1602VCCVCCR210KRSRWENRSRWEN761U3BLM358542312U3ALM358VCCR310KVCC12P2入入入入入入入12P1入入入入入入入C5104C610UFR310KVCC基于单片机的电压测量系统的设计23附录二A/D转换电路的程序INCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINT/定义液晶接口SBITRSP20SBITLCDE
48、NP22SBITRWP21/ADC0832连接端口SBITADC0832_CLKP13SBITADC0832_DOP15SBITADC0832_DIP14SBITADC0832_CSP12UINTVOT0/读ADC0832指定通道AD转换数值UCHARGETVAL0832UCHARCHANNELUCHARI,DAT0/读到的数据,MSBFIRSTDATABITSGL_DIF,ODD_SIGN/通道选择信号SWITCHCHANNELCASE1SGL_DIF1ODD_SIGN0BREAK/选单通道CASE2SGL_DIF1ODD_SIGN1BREAK/选单通道CASE3SGL_DIF0ODD_SI
49、GN0BREAK/CH0为,CH1为CASE4SGL_DIF0ODD_SIGN1BREAK/CH0为,CH1为DEFAULTBREAK/通道选择错误ADC0832_CS1/片选无效/一个无效时钟周期ADC0832_CLK1_NOP_ADC0832_CLK0_NOP_ADC0832_CS0/片选有效,开始AD转换/传STARTBIT信号毕业设计24ADC0832_CLK0_NOP_ADC0832_DI1/STARTBITADC0832_CLK1/上升沿锁住STARTBIT信号_NOP_/传通道选择信号ADC0832_CLK0_NOP_ADC0832_DISGL_DIFADC0832_CLK1/上升沿锁住SGL/DIF信号_NOP_ADC0832_CLK0_NOP_ADC0832_DIODD_SIGNADC0832_CLK1/上升沿锁住ODD_SIGN信号_NOP_ADC0832_CLK0/此下降沿开始转换,开始读取数值_NOP_/读取AD转换数值FORI0I0AFORB10B0B/LCD1602写命令VOIDWRITE_COMUCHARCOMP0COMRS0RW0LCDEN0DELAY10LCDEN1DELAY10LCDEN0/LCD1602写数据V