I邕江大学毕业设计说明书(论文)设计题目基于单片机的数字电压表设计专题部分姓名李焕禄学号20080103007院工学院专业与学制应用电子技术班别2008级指导教师朱浩亮日期2010年10月11日II目录摘要................................................................................1绪论..............................................................................2一、硬件电路设计...........................................................3(一)数字电压表工作原理...............................................................................3(二)主控模块..................................................................................................4(三)模拟转化模块..........................................................................................6(四)显示模块..................................................................................................9(五)电源模块................................................................................................13二、软件设计.................................................................14三、调试和分析.............................................................15(一)系统软硬件调试....................................................................................15(二)数据结果分析........................................................................................16结束语............................................................................16致谢............................................................................17参考文献........................................................................18附录Ⅰ整体设计电路图...............................................20附录Ⅱ程序源代码.......................................................211摘要数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心扩展成的各种数字化仪表几乎覆盖了电子电工测量、工业测量、自动化系统等各个领域。本文介绍一种基于AT89C51单片机的一种电压测量电路,该电路采用ADC0809高精度A/D转换电路,测量范围直流0--5V,使用LCD液晶模块显示,可以与PC机进行串行通信。正文着重给出了软硬件的各部分电路,介绍了模数转换器原理,AT89C51特点,及LCD1602的功能和应用。该电路设计新颖、功能强大、可扩展性强。关键词:电压测量,ADC0809,AT89C51,LCD1602AbstractDigitalvoltmeterisalotofdigitalinstrumentthecoreandfoundation.Withdigitalvoltmeterasthecoreofvariousexpandedintodigitalinstrumentthatcoverednearlyelectronicelectricianmeasurement,industrialmeasurementandautomationsystem,etc.ThispaperintroducesAbasedonAT89C51Avoltagemeasurementcircuit,thiscircuitadoptsADC0809high-precisionA/Dcircuit,measurementrange0--5Vdc,useLCDmodulethatcanbewiththePCforserialcommunication.Thetextmainlygiveseachpartofacircuithardwareandsoftware,thispaperintroducestheprincipleofadc,AT89C51featuresandLCD1602functionandapplication.Thecircuitdesignnovel,powerful,flexibleexpandability.Keywords:voltagemeasurement,ADC0809,AT89C51,LCD16022绪论电压、电流和功率是表征电信号能量大小的三个基本参数,其中又以电压最为常用。通过电压测量,利用基本公式可以导出其他的参数;此外,电路中电流的状态,如饱和、截止、谐振等均可用电压形式来描述;许多电参数,如频率特性、增益、调制度、失真度等也可视为电压的派生量;许多电子测量仪器,如信号发生器、阻抗电桥、失真度仪等都用电压量作为指示。因此,电压测量是其他许多电参数量,也包括非电参数量测量的基础,是相当重要、相当普及的一种参数测量。传统的电压测量,采用指针式模拟电压表。由于电子技术、计算机技术和大规模集成电路的应用,数字式电压测量仪逐渐代替了模拟式电压测量仪,并且向高精度、多功能和智能化发展。数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一精度低,不能满足数字化时代的需求,采用单片机控制的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。当今,数字电压表正进入一个蓬勃发展的新时期,一方面它开拓了电子测量领域的先河,另一方面它本身正朝着高准确度、智能化、低成本的方向发展。此外,数字电压表在安装工艺、外观设计、安全性、可靠性等方面也在不断改进,日臻完善。本设计采用8位CMOSADC0809来进行A/D转换,属于逐次逼近性直流数字电压表。该数字电压表采用LCD显示,除具有一般数字电压表读数直观准确、测量速度快、输入阻抗大、测量范围宽之外,还具有读数保持的功能。电路特点是成本低,简单,体积小,安全性好,可扩展性强(只需加上各种转换器就可构成万用表)。3一、硬件电路设计数字电压表的实现分为四大部分。第一部分是主控模块,第二部分是模拟转化模块,第三部分是显示模块,第四部分是电源供电模块。主控模块采用AT89C51单片机为控制核心,模拟转化模块由芯片ADC0809完成模拟到数字量的转化,显示模块使用液晶显示LCD1602。系统整体设计框图如图1-1所示:图1-1系统整体设计框图(一)数字电压表工作原理本设计采用AT89S51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表[1-2]。该电路通过ADC0809芯片采样输入口IN0输入的0~5V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT8CS51芯片的P2口。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把接收到的数字量经过数据处理,产生正确的ASCII码,并通过其P0口传送给LCD1602显示出来;同时由P3.5、P3.6、P3.7控制液晶显示的指令及数据的读入写出和控制信号。另外,AT89C51还通过信号位控制着ADC0809的工作。4(二)主控模块该模块采用ATMEL推出的AT89C51实现。AT89C51是一种带4K字节闪烁可编程可擦出(FPEROM—FalshProgrammableandErasableReadOnlyMemory)低电压,高性能CMOS8位微处理器[3-4]。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[5]。其管脚图如图1-2所示。图1-2AT89C51管脚图1、功能特性主要特性:·与MCS-51兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源5·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚功能VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。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)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执