基于stc89c52单片机的简易数字电压表设计【毕业设计】_第1页
基于stc89c52单片机的简易数字电压表设计【毕业设计】_第2页
基于stc89c52单片机的简易数字电压表设计【毕业设计】_第3页
基于stc89c52单片机的简易数字电压表设计【毕业设计】_第4页
基于stc89c52单片机的简易数字电压表设计【毕业设计】_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

存档编号华北水利水电大学NORTHCHINAUNIVERSITYOFWATERRESOURCESANDELECTRICPOWER毕业设计题目基于单片机的数字电压表设计学院信息工程学院专业通信工程姓名学号200912303指导教师完成时间2013年5月20日教务处制目录摘要IABSTRACTII绪论III一设计背景III二设计意义V第一章数字电压表111数字电压表的优点112数字电压表发展趋势113设计平台2131KEILC51开发平台2132PROTEUS7PROFESSIONAL设计软件2第二章总体设计方案421数字电压设计的两种方案4211由数字电路及芯片构建4212由单片机系统及A/D转换芯片构建422设计要求523技术要求524设计方案5第三章硬件简介731本设计单片机的选择7311常用单片机的特点比较7312单片机的选择7313STC89C52单片机介绍832本设计显示器件选择13321常用显示器件简介13322显示器件的选择143231602字符型LCD简介1433A/D芯片19331常用的A/D芯片19332ADC0809芯片20第四章接口电路2341显示电路2342ADC0809与单片机接口电路23第五章硬件电路系统模块设计2551总电路模块2552硬件系统电路简介25第六章系统软件设计2661主程序2662A/D转换子程序2663显示子程序27第七章调试及性能分析2871调试与测试2872性能分析28总结30参考文献31致谢33附录34附录I(外文翻译)34外文译文44附录II(任务书)52附录III(开题报告)54附录IV(图表)57IPROTEUS仿真图57II硬件总电路图58III实物图59附录V(程序清单)60摘要随着时代的进步,用指针式万用表测量小幅度直流电压已经显得有些不太方便。因为指针式的测量不够精确,随着长时间的使用可能会造成欧姆调零以及机械调零的磨损,这都会对数据的测量造成很多困难,而采用数字式电压表来测量就可以避免这种情况的发生,而且操作更加方便。下面本文将介绍一种由数字电路以及单片机构成的数字电压表的设计方法。本设计运用STC89C52和ADC0809进行A/D转换,根据数据采集的工作原理,设计简易数字电压表,将模拟电压量直接转换成数字量,用LCD液晶屏来显示。其基本原理是,模拟电压量经过A/D转换芯片转换成数字量,送入单片机进行处理。最后输出的数据在经过线路驱动器送入液晶屏显示电压大小。最后介绍了程序流程,并用KEIL和PROTUES联机调试进行仿真。调试完成之后进行硬件焊接,测试并进行改进。最后完成测量的电压值。该数字电压表测量电压类型是直流,测量范围是05V。电路包括数据采集电路的单片机最小化设计、单片机钟电路、复位电路、A/D转换电路、测量电压输入电路等。单片机采用STC89C52芯片、A/D转换采用ADC0809芯片。关键字STC89C52单片机;ADC0809;A/D转换;LCD显示;数据处理。ABSTRACTWITHTHEPROGRESSOFTHETIMES,THEMEASUREMENTOFSMALLAMPLITUDEDCVOLTAGEWITHAPOINTERMULTIMETERHASABITLESSCONVENIENTBECAUSETHEPOINTERISNOTPRECISEENOUGHTOMEASURE,WITHPROLONGEDUSEMAYRESULTINAZEROOHMS,ANDTHEWEAROFTHEMECHANICALZERO,THISWILLBETHEMEASUREMENTOFDATACAUSEDMANYDIFFICULTIES,MEASURINGWITHAPOINTERMULTIMETERYOUCANAVOIDTHISFROMHAPPENINGANDTHEOPERATIONISMORECONVENIENTTHEFOLLOWINGARTICLEDESCRIBESTHEDESIGNOFADIGITALCIRCUITS,ANDMCUSDIGITALVOLTMETERTHEUSEOFDESIGNSTC89C52ANDADC0809A/DCONVERTER,ACCORDINGTOTHEWORKINGPRINCIPLEOFTHEDATAACQUISITION,DESIGNSIMPLEDIGITALVOLTMETERANALOGVOLTAGEINTODIGITALLCDSCREENTODISPLAYTHEBASICPRINCIPLEISTHATTHEAMOUNTOFANALOGVOLTAGEA/DCONVERTERCHIPTOCONVERTDIGITAL,INTOTHEMICROCONTROLLERFORPROCESSINGTHEFINALOUTPUTDATAINTHESIZEOFTHEVOLTAGEAFTERALINEDRIVEINTOTHELCDDISPLAYFINALLY,THEPROGRAMFLOWSIMULATIONWITHKEILANDPROTUESOFONLINEDEBUGGINGAFTERTHECOMPLETIONOFTHEDEBUGGINGHARDWAREWELDING,TESTANDIMPROVEFINALIZETHEMEASUREDVOLTAGEVALUETHEDIGITALVOLTMETERTOMEASURETHEVOLTAGETYPEDC,MEASURINGRANGEIS05VTHECIRCUITINCLUDESADATAACQUISITIONCIRCUITOFTHESMALLESTSINGLECHIPDESIGN,MICROCONTROLLERCLOCKCIRCUIT,RESETCIRCUIT,A/DCONVERSIONCIRCUIT,AMEASURINGVOLTAGEINPUTCIRCUIT,A/DCONVERSIONUSINGADC0809CHIPMICROCONTROLLERSTC89C52CHIPKEYWORDSSTC89C52SINGLECHIP;A/DCONVERSIONADC0809LCDDISPLAYDATAPROCESSING绪论数字电压表DIGITALVOLTMETER简称DVM,作为智能仪表的一种,它是采用数字化测量技术,把连续的模拟量直流输入电压转化成不连续,离散的数字形式并加以显示的仪表,传统的指针式电压表功能单一,精度低,不能满足数字化时代的需求采用单片机的数字电压表,精度高,抗干扰能力强,可扩展性强,集成方便。目前,由各种单片A/D转换器构成的说字电压表,已经被广泛用于电子及电工测量,工业自动化仪表,自动测量系统等智能化测量领域,显示出强大的生命力。一设计背景数字电压表在1952年由美国NLS公司首次创造,它刚开始是4位,50多年来,其设计技术有了不断的发展和提升。数字电压表是从电位差计的自动化过程中研制成功的。从刚开始使用4位数码显示,发展到5位、6位,进而发展到7位、8位;从最初的一两种类型发展到功能和量程、精度都不同的好几十种;从最早的采用继电器、电子管发展到全晶体管、集成电路、微处理器化;从一台仪器只能测12种参数到能测几十种参数的多用型;显示器件也从辉光数码管发展到等离子体管、发光二极管、液晶显示器等。其体积、功耗、价格、可靠性、量程范围都已经迈入集成电路领域。数字电压表出现在50年代初,60年代末发起来的电压测量仪表。简称DVM,它采用的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加以数字处理然后再通过显示器件显示。这种电子测量的仪表之所以出现,一方面是由于电子计算机的应用逐渐推广到系统的自动控制信实验研究的领域,提出了将各种被观察量或被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测理仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的烦锁和陈旧方式也催促了它的飞速发展。如今,它又成为向智能化仪表发展的必要桥梁。如今,数字电压表已绝大部分已取代了传统的模拟指针式电压表。因为传统的模拟指针式电压表功能单一,精度低,读数的时候也非常不方便,很容易出错。而采用单片机的数字电压表由于测量精度高,速度快,读数时也非常的方便,抗干扰能力强,可扩展性强等优点已被广泛的应用于电子及电工的测量,工业自动化仪表,自动测试系统等智能化测量领域,显示出强大的生命力。数字电压表最初是伺服步进电子管比较式,其优点是准确度比较高,但是采样速度慢,重量达几十公斤,体积大,继之出现了斜波式电压表,它的速度方面稍有提高,但是准确度低,稳定性差,再后来出现了比较式仪表改进逐次渐近式结构,它不仅保持了比较式准确度高的优点,而且速度也有了很大的提高,但它有一缺点是抗干扰能力差,很容易受到外界各种因素的影响。随后,在斜波式的基础上双引伸出阶梯波式,它的唯一的进步是成本降低了,可是准确宽,速以及抗干扰能力都未能提高。而现在,数字电压表的发展已经是非常的成熟,就原理来讲,它从原来的一二种已发展到多种,在功能上讲,则从测单一参数发展到能测多种参数;从制作元件来看,发展到了集成电路,准确度已经有了很大的提高;读数每秒几万次,而相对以前,它的价格也有了降低了很多。目前实现电压数字化测量的方法仍然模数A/D转换的方法,而数字电压表种类繁多,型号新异,目前国际仍未有统一的分类方法,而常用的分类方法有如下几种1按用途来分有直流数字电压表,交直流数字电压表,交直流万用表等。2按显示位数来分有4位,5位,6位,7位,8位等。3按测量速度来分有低准确度,中准确度,高准确度等。4按测量速度来分有低速,中速,高速,超高速等。但在日常生活中,数字电压表一般是按照原理不同进行分类的,目前大致分为以下几类比较式,电压时间变换式,积分式等。在电量的测量中,压电流和频率是最基本的三个被测量。其中,电压所以数字电压表就成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便,精度高,误差小,灵敏度高和分辨率高,测量速度快等特点而倍受用户青睐,数字式电压表就是基于这种需求而发展起来的,是一种必不可少的电子测量仪表。二设计意义这个课题的目的和意义在于使自己掌握对数字电压表的理解,自己动手设计数字电压表与仿真,它可以广泛的应用于电压测量外,通过各种变换器还可以测量其他电量和非电量,测量是一种认识过程,就是用实验的方法将被测量和被选用的相同参量进行比较,从而确定它的大小。DVM广泛应用于测量领域每期测量的准确度和可信度取决于它的主要性能和技术指标。所示我们要学习和掌握如何设计DVM就显得十分重要。第一章数字电压表11数字电压表的优点传统的指针式刻度电压表功能单一,精度低,容易引起视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从001到0005。12数字电压表发展趋势目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。A/D转换器分成四种计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前最常用的是双积分式A/D转换器和逐次逼近式A/D转换器,其中双积分式A/D转换器的主要优点是转换精度高,抗干扰性能好,价格便宜。但是其转换速度慢,因此这种转换器这种转换器主要用于速度要求不高的场合。而逐次逼近式A/D转换器转换速度快,但精度相对较差。因此未来的A/D转换器将兼顾精度和速度,成本也会随着集成电路的发展而降低。13设计平台131KEILC51开发平台KEIL软件是目前最流行开发MCS51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持KEIL即可看出。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。KEIL软件能在WIN7、WINXP等操作系统完美运行。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,由于小编喜欢使用C语言编程,而KEIL对C语言的编译方便快捷。C51工具包的整体结构较为丰富,其中UVISION与ISHELL分别是C51FORWINDOWS和FORDOS的集成开发环境IDE,可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件OBJ。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件ABS。ABS文件由OH51转换成标准的HEX文件,以供调试器DSCOPE51或TSCOPE51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。使用独立的KEIL仿真器时,注意事项,仿真器标配110592MHZ的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。仿真器上的复位按钮只复位仿真芯片,不复位目标系统。仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。132PROTEUS7PROFESSIONAL设计软件PROTEUS软件是英国LABCENTERELECTRONICS公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。PROTEUS是世界上著名的EDA工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了CORTEX和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、KEIL和MPLAB等多种编译器。第二章总体设计方案21数字电压设计的两种方案设计数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分压处理,而各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。下面介绍两种数字电压表的设计方案。211由数字电路及芯片构建这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入放大器。A/D转换器和基准电压源;数字部分包括计数器,译码器,逻辑控制器,振荡器和显示器。其中,A/D转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器中各组模拟开关接通或断开,保证A/D转换正常进行。A/D转换结果通过计数译码电路变换成段码,最后驱动显示器显示出相应的数值。此方案设计其优点是,设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路,很难将其在原有的基础上进行扩展。212由单片机系统及A/D转换芯片构建这种方案是利用单片机系统与模数转换芯片,显示模块等的结合构建数字电压表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出来。此方案的原理是模数A/D转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数A/D转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。此方案不仅能够继承上一种方案的各种优点,还能改进上一种设计方案设计不灵活,难于在原基础上进行功能扩展等不足。22设计要求以单片机为核心器件,组成一个简单的直流数字电压表。能够测量05V之间的直流电压值。要求能在LCD1602显示测量值。测量的最小分辨率为0019V,测量误差为002V。尽量使用较少的元器件。23技术要求简易数字电压表应用系统主要利用A/D转换器,处理过程如下先用A/D转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来。设计时假设待测的输入电压为8路,电压值的范畴为05V,要求能在LCD液晶准确显示测得的电压值。且测量的最小分辨率为0019V,绝对测量误差为002V和002V。24设计方案根据系统的功能要求,控制系统采用STC89C52单片机,A/D转换器采用ADC0809。ADC0809是8位的A/D转换器。当输入电压为500V时,输出的数据值为255(0FFH),因此最大分辨率为00196V(5/255)。ADC0809具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。本设计只采集其中一路的电压值进行测量,即ADC_A1ADC_B1ADC_C0时采集IN3输入端电压。在LCD上显示测量的电压值。简易数字电压表应用系统主要利用A/D转换器,处理过程如下先用A/D转换器对IN3端口电压值进行采样,得到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来。电压值的范畴为05V,测量的最小分辨率为0019V,绝对测量误差为002V和002V。硬件电路设计由6个部分组成A/D转换电路、单片机、显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图11所示。时钟电路复位电路A/D转换测量电压输入LCD显示STC89C52P0P2P0P2P0图11数字电压表总体设计方框图第三章硬件简介31本设计单片机的选择311常用单片机的特点比较在这一设计中,我们用到了一个关键系统模块单片机系统模块,而目前单片机的种类是很繁多的,其中最常用的有主流的8位单片机和高性能的32位单片机,本设计中,8位单片机对于本设计已经完全能满足设计需求,但将用哪一种类8的单片机呢在这里,不得不先简单的介绍一下几种常用的8位单片机。单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整计算机系统,其中包括AVR单片机,PIC单片机,51系列单片机。应用最广的8位单片机还是51系列单片机。51系列单片机的特点是硬件结构合理,指令系统规范,加之生产历史悠久,世界有许多芯片公司都买了51的芯片核心专利技术,并在其基础上扩充其性能,使得芯片的运行速度变得更快,性价比更高。AVR单片机虽然具有高性能,低功能,高速度,性格方面比51单片机高,转强的驱动电压等优点,但I/O口使用不比51单片机方便。PIC单片机系列是美国微芯公司的产品,也是市面上增长最快的单片机之一,属精简指令集单片机,其特点是高速度,高性能,但在性格方面比51单片机要高,也有专门的,I/O方向寄存器,I/O口使用不比51单片机方便。312单片机的选择本设计中选用是51系列的STC89C52,它是STC公司生产的一种低功耗,高性能的CMOS8位单片机,片内含8KB的可反复擦写的只读程序存储器和256B的随机存取数据存储器,8K字节FLASH,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口,并与MCS51系列单片机兼容。在设计中,单片机起着连接硬件电路与程序运行及存储数据的任务,一方面,它将A/D转换器、显示器等通过I/O口地址线和数据线连接起来;另一方面,它将用户下载的程序通过控制总线控制数据的输入输出,从而实现测电压的功能。图31单片机总控制电路313STC89C52单片机介绍STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROMFLASHPROGRAMABLEANDERASABLEREADONLYMEMORY)的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容。单片机总控制电路如图31所示。1时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图32A所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1212MHZ之间选择,电容值在530PF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图32(B)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHZ的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHZ的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(A)内部方式时钟电路(B)外部方式时钟电路图32时钟电路RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHZ的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。2复位及复位电路A、复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表31所示。B、复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期即二个机器周期以上。若使用颇率为6MHZ的晶振,则复位信号持续时间应超过4US才能完成复位操作。产生复位信号的电路逻辑如图33所示。表31寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H图33复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号RST送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图34(A)所示。这佯,只要电源VCC的上升时间不超过1MS,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与VCC电源接通而实现的,其电路如图34(B)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图34(C)所示。(A)上电复位(B)按键电平复位(C)按键脉冲复位图34复位电路上述电路图中的电阻、电容参数适用于6MHZ晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图34(B)上电复位方式。STC89C52具体介绍如下主电源引脚(2根)VCCPIN40电源输入,接5V电源GNDPIN20接地线外接晶振引脚(2根)XTAL1PIN19片内振荡电路的输入端XTAL2PIN20片内振荡电路的输出端控制引脚(4根)RST/VPPPIN9复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROGPIN30地址锁存允许信号PSENPIN29外部存储器读选通信号EA/VPPPIN31程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)表32STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写FLASHROM32个双向I/O口256X8BIT内部RAM3个16位可编程定时/计数器中断时钟频率024MHZ2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(PIN39PIN32)8位双向I/O口线,名称为P00P07P1口(PIN1PIN8)8位准双向I/O口线,名称为P10P17P2口(PIN21PIN28)8位准双向I/O口线,名称为P20P27P3口(PIN10PIN17)8位准双向I/O口线,名称为P30P37STC89C52主要功能如表32所示。3单片机最小系统单片机最小系统由一个单片机、一个晶振和2个磁片电容组成,是单片机外围核心电路,如图35所示。图35单片机最小系统图32本设计显示器件选择321常用显示器件简介本次设计中有显示模块,而常用的显示器件比较多,有数码管,LED点阵,1602液晶,12864液晶等。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,本设计需要显示测量电压的数值和单位,固此选用LCD1602作为显示模块1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字这些字符有阿拉伯数字,英文字母的大小写,常用的符号,和日文假名等,每一个字符都有一个固定的代码。使用时直接编写软件程序按一定的时序驱动即可。它的特点是显示字迹清楚,价格相对便宜。322显示器件的选择LCD1602以微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中,在本次设计中由于便于接入电路和拆除被选用。3231602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的模块。下面以1602字符型液晶显示器为例,介绍其用法。一般1602字符型液晶显示器实物如图36图361602字符型液晶显示器实物图1)1602LCD主要技术参数显示容量162个字符芯片工作电压4555V工作电流20MA50V模块最佳工作电压50V字符尺寸295435WHMM2)引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接说明如表33所示表33引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3V0液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15A背光源正极8D1数据16K背光源负极第1脚VSS为地电源。第2脚VDD接5V正电源。第3脚VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个5K的电位器调整对比度。第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚D0D7为8位双向数据线。第15脚背光源正极。第16脚背光源负极3)1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表34所示表34控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L6置功能00001DLNF7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平、0为低电平)指令1清显示,指令码01H,光标复位到地址00H位置。指令2光标复位,光标返回到地址00H。指令3光标和显示模式设置I/D光标移动方向,高电平右移,低电平左移S屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4显示开关控制。D控制整体显示的开与关,高电平表示开显示,低电平表示关显示C控制光标的开与关,高电平表示有光标,低电平表示无光标B控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5光标或显示移位S/C高电平时移动显示的文字,低电平时移动光标。指令6功能设置命令DL高电平时为4位总线,低电平时为8位总线N低电平时为单行显示,高电平时双行显示F低电平时显示5X7的点阵字符,高电平时显示5X10的点阵字符。指令7字符发生器RAM地址设置。指令8DDRAM地址设置。指令9读忙信号和光标地址BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10写数据。指令11读数据。4)1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图35是1602的内部显示地址。图351602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)10000000B80H11000000BC0H。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图36所示,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”图36字符代码与图形对应图33A/D芯片331常用的A/D芯片常用的A/D芯片有AD0809,AD0832,LC2543C等几种。下面简单介绍一下这三种芯片。AD0809是8位逐次逼近型A/D转换器,它是由一个8路的模拟开关,一个地址锁存译码器,一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。些A/D转换器是的特点是8位精度,属于并行口,如果输入的模拟量变化大快,必须在输入之前增加采样电路。TLC2543C是12位开关电容逐次逼近A/D转换,每个器件有三个控制输入端片选、输入/输出时钟以及地址输入端。从主机传输转换数据速率高。它有高速的转换,通用的控制能力,具有简化比率转换,刻度以及模拟电路与逻辑电路和电源噪声隔离,耐高温等特点。AD0832也是8位逐次逼近型A/D转换器,并且支持双通道A/D转换。它易于和微处理器接口或独立使用;可满量程工作;可用地址逻辑多路器选通各输入通道。综合上述几种A/D转换芯片的特点,为了满足本次设计需求,本次设计选用ADC0809芯片。332ADC0809芯片随着大规模集成电路的发展,目前不同厂家已经生产出了多种型号的A/D转换器,以满足不同应用场合的需要。如果按照转换原理划分,主要有3种类型,即双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前最常用的是双积分和逐次逼近式。本次设计采用8位逐次逼近式A/D转换器ADC0809。1)主要特性A、8路8位A/D转换器,即分辨率8位。B、具有转换起停控制端。C、转换时间为100SD、单个5V电源供电E、模拟输入电压范围05V,不需零点和满刻度校准。F、工作温度范围为4085摄氏度。G、低功耗,约15MW。2)引脚功能ADC0809芯片有28条引脚,采用双列直插式封装,如图38所示。下面说明各引脚功能。IN0IN78路模拟量输入端。21288位数字量输出端。ADDA、ADDB、ADDC3位地址输入线,用与选通8路模拟输入中的一路。如表37所示。表37ADDA、ADDB、ADDC真值表ADDCADDBADDA输入通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ALE地址锁存允许信号,输入,高电平有效。STARTA/D转换启动信号,输入,高电平有效。EOCA/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK时钟脉冲输入端。要求时钟频率不高于640KHZ。REF()、REF()基准电压。VCC电源,单一5V。GND地。ADC0809的工作过程是首先输入3位地址,并使ALE1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。图38ADC0809引脚图第四章接口电路41显示电路根据设计要求,测量结果需要显示如VOL0000V字样,设计中采用LCD1602液晶屏来显示电压值。利用单片机的I/O口驱动LCD显示器,设计中由P2口驱动LCD液晶屏显示,即显示字符。电路如图41所示图41LCD显示电路42ADC0809与单片机接口电路ADC0809具有8路模拟输入端口,由于ADC0809内部含有输出三态缓冲锁存器,所以可以直接将8位数字量输出端与单片机P0口相连。P0端口作A/D转换数据读入用,P1端口的P1617和P32用作0809的A/D转换控制。地址线(2325脚)可决定对哪一路模拟输入作A/D转换。22脚ALE为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚START为测试控制,当输入一个2US宽高电平时,就开始A/D转换。7脚EOC为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平,A/D转换数据从该端口输出。10脚为ADC0809的时钟输入端,经测试ADC0809可直接在2MHZ的频率下工作利用单片机30脚的六分频晶振频直接提供给CLK端。电路如图42所示图42ADC0809与STC89C52连接图第五章硬件电路系统模块设计51总电路模块简易数字电压表应用系统硬件电路由单片机、A/D转换器、LCD显示电路和电压采集电路组成,它的硬件电路图见附录附录IV(图表)。52硬件系统电路简介1ADC0809具有8路模拟量输入通道IN0IN7,通过3位地址输入端C、B、A(2325引脚)进行选择,本次设计令ADD_A1、ADD_B1、ADD_C0只采集IN3口的电压。22引脚为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0809内部的锁存器中,经内部译码选中相应的模拟通道。6引脚为启动转换控制端START,当输入一个2US宽的高电平脉冲时,就启动ADC0809开始对输入通道的模拟量进行转换。7引脚为A/D转换结束信号EOC,ADC0809为逐次比较型A/D转换器,当开始转换时,EOC信号为低电平,经过一定时间,转换结束,转换结束信号EOC输出高电平,转换的结果存放在ADC0809内部的输出数据锁存器中。9引脚为A/D转换数据输出允许控制端OE,当OE为高电平时,存放在输出数据锁存器中的数据通过ADC0809的数据线D0D7输出。10引脚为ADC0809的时钟信号输入端CLOCK。在连接时候,ADC0809的数据线D0D7与STC89C52的P0口相连,ADC0809的地址引脚、地址锁存端ALE、启动信号START分别与STC89C52的P3口相连、数据输出允许控制端OE与STC89C52的P1口相连,转换结束信号EOC与STC89C52的P17相连。时钟信号输入端CLOCK信号的频率为2MHZ。(2)LCD显示屏,通过STC89C52的P1口的P10P12口控制显示屏的数据写入,由P2输出数据给LCD。第六章系统软件设计简易数字电压表系统软件程序由主程序、A/D转换子程序和显示子程序组成。61主程序主程序包含初始部分、调用A/D转换子程序和调用显示程序,如图61所示。初始化部分包含存放通道数据的缓冲区初始化和显示缓冲区初始化。图61主程序流程图62A/D转换子程序A/D转换子程序用于对ADC0809八路输入模拟电压进行A/D转换,并将转换的数值存入8个相应的存储单元中,如图62所示。A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。地址选择线ADD_A、ADD_B、ADD_C分别设置为1、1、0(1代表高电平,0代表低电平)经过AD芯片内部译码选通IN3模拟输入端口,接着ALE端输入一个高电平将地址所存起来,ST端可以和ALE连接在一起,以便地址所存的同时启动AD转换,转换期间EOC一直是低电平,直到输出一个高电平端口初始化调用A/D转换子程序调用显示子程序开始标志着转换结束,此时通过程序控制给OE端一个高电平将转换后的数据输出给单片机芯片进行处理(主要程序见附录V60到61页)。主要流程图如下NY图62A/D转化测量子函数流程图63显示子程序显示程序对当前选中的一路数据进行显示。通过控制LCD的引脚RS、RW和EN端控制数据的写入,对应的数据是RS_SET、RW_CLR、EN_CLR(SET1CLR0)另外写入的数据应该显示在LCD液晶屏第一行0、1、2、3四位显示V、O、L、这四个字符,4、5、6、7、8、9六位显示测量的电压值和其单位,例如VOL0000V。写入主要程序如下LCD_WRITE_STRING0,0,“VOL“LCD_WRITE_CHAR4,0,DATAGOOUTDATA0LCD_WRITE_CHAR5,0,LCD_WRITE_CHAR6,0,DATAGOOUTDATA1LCD_WRITE_CHAR7,0,DATAGOOUTDATA2LCD_WRITE_CHAR8,0,DATAGOOUTDATA3LCD_WRITE_CHAR9,0,V开始启动A/D转换A/D转换结束取数据OE1第七章调试及性能分析71调试与测试表71简易数字电压表与“标准”数字电压表对比测试表采用KEILUVISION4进行C语言程序编译,使用ALTIUMDESIGNER69及ISIS7PROFESSIONAL进行硬件电路设计,使用STC_ISP_V483进行程序烧录,然后使用以上软件进行软硬件联调,最后进行端口电压的对比测试。测试对比表如表101所列,表中标准电压值采用VICTORVC890C数字万用表测得。从表中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均在002V以内,这与采用8位A/D转换器所能达到的理论误差精度一致,在一般的应用场合完全可以满足要求。72性能分析由于单片机为8位处理器,当输入电压为500V时,ADC0809输出数据值为255(FFH),因此单片机最大数值分辨率为00196V(5/255),这就决定了该电压表的最大分辨率只能达到00196V,测试时电压数值的变化一般以002的电压幅度变化。如果要获得更高的精度要求,应采用12位、13位的A/D转换器。测量值/V00005690747112115131798202925452759标准值/V000056507451118149817951012532743绝对误差/V00000040002000300150003001900150016测量值/V309733543792402343444540500标准值/V308334378401433453500绝对误差/V00170014001200130014001000简易电压表测得的值基本上均比标准值偏大001002V,这可以通过校正ADC0809的基准电压来解决。因为该电压表设计时直接用5V的供电电源作为基准电压,所以电压可能有偏差。另外,可以用软件编程来校正测量值。ADC0809的直流输入阻抗为1M欧姆,能满足一般的电压测试需要。总结本次设计总体还是比较成功的,首先,通过对简易数字电压表的两种方案进行论证与比较,确定出了用单片机与芯片构建数字电压表系统,该系统由单片机、A/D转换芯片、显示器件、电压四大部分构成,通过对几种熟知的单片机、A/D转换芯片、显示器件的优劣势比较以确定出最适系统组成部件,然后又对总体电路进行了设计,用PROTEUS画出了电路图,并对各接口电路进行了详细的分析与论证,并焊接了电路板,最后软件部分在KEIL环境下进行了调试与测量。经过一段时间的努力,毕业论文

温馨提示

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

评论

0/150

提交评论