1、分类号: 编号:烟 台 大 学毕 业 论 文(设 计)基于单片机的数字电压表的设计DigitalVoltmeterbasedonsingle-chipmicrocontroller申请学位: 工学学士院 系: 光电信息科学技术学院专 业: 电子信息工程姓 名: 邱身文学 号: 201257503229指导老师: 任承(副教授)2016年 05 月 15日烟台大学基于单片机的数字电压表的设计姓 名: 邱身文导 师: 任承(副教授)2016年05月15日烟台大学院(系):光电信息科学技术学院姓名 邱身文 学号 201257503229 毕业届别 2016 专业 电子信息工程毕业论文(设计)题目 基
2、于单片机的数字电压表的设计指导教师 任承 学历 博士 职称 副教授 所学专业 光学主要内容:本设计的构思以单片机芯片AT89C51作为其处理器,相当于一个人的大脑,最重要的核心模块,辅以A/D转换模块,液晶屏显示模块,控制模块,还有定时器中断模块,这四个模块共同协作,构成了这个简易的数字电压表。基本要求:主要是锻炼大学生的阅读能力和获取信息的能力,其实更重要的是磨练识别有用信息的能力,从网上和图书大量冗杂的信息里获取你想要的。这一次的设计牵扯到了软件的应用和硬件的动手能力。进度安排:(1)2015年11月下旬:定题 (2)2016年1月中旬到3月初:查阅资料,翻译文献(3)2016年4月初到5
3、月中旬:着手论文的初稿(4) 2016年5月中旬到5月26日:论文修改,定稿,查重 (5) 2016年5月27:答辩指导教师(签字): 年 月 日院(系)意见:教学院长(主任)(签字): 年 月 日备注:摘要数字电压表的功能主要是实现对电压的数据测量并且通过数字直观的显示出来,相比于老式电压表,数字电压表具有精准和操作简单的优点,避免了老式电压表读数需要估读不稳定的因素。本设计中用AT89C51单片机制作了一个简单的可以测量0-5v的数字电压表,主要通过A/D转换器把输入的模拟信号转换成数字信号,经过单片机的相应处理传送到显示模块LCD,显示模拟信号输入测量电压。本设计抛弃了LED显示的繁杂程
4、序,选择了LCD的简单;A/D转换模块,选择了逐次积分型A/D转换的效率和准确,但却浪费了模拟输入通道。这些也却是本设计所需要的。关键字数字电压表;A/D转换器;测量电压;显示模块AbstractThe function of the digital voltage meter is mainly for voltage measurements andthrough digital display intuitive, compared with the old voltmeter, digital voltmeter withprecision and the advantages of
5、simple operation, to avoid the old the voltmeter reading need toappraiseread unstable factors.This design use AT89C51 made A simple digital voltage meter can measure 0 to 5 v, mainlythrough the A/D converter input analog signal into digital signal, through the correspondingprocessing of single chip
6、microcomputer to the LCD display module, display analog signal inputvoltage measurement.Abandoned in the design of the LED display and complex procedure, haschosen the LCD is simple; A/D conversion module, select the successive integral type A/Dconversion efficiency and accurate, but it isAwaste of
7、the analog input channel. These are alsotheneeds ofdesign.Key wordsdigital voltmeter,A/D converter,measure of thevoltage,display module目录1 绪 论11.1 背景.11.2 设计的内容和框架12软件简介.22.1.1 Keil uVision422.1.2 Proteus 6 Professional23 硬件设计33.1 单片机的控制模块.33.1.1时钟电路.33.1.2 复位电路33.2 A/D转换模块.43.2.1 A/D转换的原理43.2.2 ADC
8、0808芯片的简介43.2.3 A/D转换电路的设计.63.3 定时器/计数器中断73.3.1中断系统.73.3.2定时器/计数器中断的原理.83.3.3 定时器/计数器产生方波程序93.4 显示模块103.4.1 LCD显示模块.103.4.2 LCD1602的引脚功能.103.4.3 LCD1602的显示操作.104系统软件设计.144.1主程序设计.144.2 A/D转换程序.145 Proteus 6 Professional仿真166 结论17致 谢18参考文献19烟台大学毕业论文(设计)11 绪 论时代在变迁,社会在进步,科技在发展,我们共处这个不断汹涌前进的洪流中,我们必须不停地
9、前进,前进。精确,便捷的数字电压表登上了时代的舞台,为了方便人们更好的认识,在此做了一些简介。1.1 背景随着电子技术的发展,老式通过人眼估读的电压值不能满足工业甚至是科技的要求,那这就需要我们去追求准确度高,分辨率高,测量速度快的数字电压表,然后通过LED或者是LCD显示出来。我们在这里采用了LCD显示,它比数码管LED显示具有体积小,功耗小,操作简单的优点,而且LED需要位选端,段选端和锁存器74HC573加大了编写程序的难度。首先我们要明白为什么要进行A/D转换,单片机毕竟是机器头脑很简单,只能辨别二进制数字0和1,所以要转换成单片机识别的二进制,这样单片机才能对A/D转换后的数据进行处
10、理。1.2 设计的内容和框架本论文的主要内容:主要由硬件和软件两方面组成,实现软件的程序编译,硬件的软件仿真,为可行性提供依据,根据需要选择自己的芯片后,进一步优化自己的算法,不断的改进方案,把握住其优缺点根据自己的目标,逐步向自己的目标靠近,一步步实现自己的目标。本论文主要研究如何实现把模拟信号,然后通过A/D转换器转换成数字信号,再通过想用的算法和控制,把想要的数字正确的显示在LCD显示屏上,最后进行试验调试。这就是本设计的主要框架。烟台大学毕业论文(设计)22 软件简介2.1.1 Keil uVision4说起keil uVision4不得不要说一下keil uvision2,keil
11、uVision4就是由keil uvision2进一步更新得到的加强版的keil,C语言在结构上功能上都具有都远远超过汇编语言,而且简单灵活易于学习,更重要的是可以进行嵌入汇编可以在重复的地方进行调用和嵌入大大调高了汇编效率,顺势而为,所以keiluvision2就被发明了。之后为了满足更高效率的C语言的编译,keil在2009年公布了keil uVision4 ,相较于 keil uvision2,keil uVision4引入了窗口系统,用户界面,最重要的是可以进行多个窗口界面的编译大大提高了编译效率。如此强大一个软件也是由一个个的小部分构成,C编译器、宏汇编、操作系统、项目管理和调试器等
12、等组成了这个强大的开发环境。软件keiluVision4如下图2.1所示图 2.1 keil uVision4软件2.1.2 Proteus 6 Professional在本设计中用Proteus 6 Professional来实现数字电压表的外部仿真,这里介绍一下在本设计的应用,首先打开软件可以看到两个窗口:预览窗口和原理图编辑窗口。这两个窗口字面的意思很好理解,一个是进行对原理图的预览,对原理图进行放大、缩小等操作,而原理图编辑窗口则用来进行原理图的编辑。再就是选择自己想要的芯片、测量工具、接地线可以通过这两种方式,直接点击原件列表的P进行检索找到自己想要的芯片,或者通过模型选择工具栏找到
13、自己想要的测量工具,最后进行构造自己的仿真图。烟台大学毕业论文(设计)33 硬件设计3.1 单片机的控制模块时钟电路和复位电路共同组成了控制逻辑部分,时钟电路就是单片机的心脏,由此产生一系列微妙的处理,对单片机的控制就是一个同步时序电路,所以各个部分都接受时钟电路的控制,时钟电路为其提供精准的机器周期。3.1.1 时钟电路从图3.1所示可以看出时钟电路由振荡电路的输入端XTAL1和输入端XTAL2,频率为12MHz的晶振和两个30pF的电容组成,其中时钟电路根据为外部还是内部提供时钟又可以分为内部时钟电路和外部时钟电路,下面图1所示的是内部时钟电路,本设计主要为单片机内部提供时钟。(一个机械周
14、期等于12个振荡周期)图 3.1 系统时钟电路3.1.2 复位电路如图3.2所示RESET是高电平有效,当持续输入两个机器周期的高电平时就会完成复位操作,同时复位电路分为上电复位和开关复位,其中开关电位可以通过K按键手动的方式完成复位,本设计所用的复位就是开关复位。烟台大学毕业论文(设计)4图 3.2 系统复位电路3.2 A/D 转换模块3.2.1 A/D转换的原理A/D字面意思就是完成数字量到模拟量的过程,首先需要通过模拟信号的最高频率计算采样频率,然后通过不同的规格的量化单位转化为数字信号,最后通过编码得到所需要的结果。具体流程如图3.3所示图 3.3 A/D 转换原理框图3.2.2 AD
15、C0808芯片的简介本设计所用的A/D转换芯片ADC0808不借助中间变量直接进行转换,提高了转换效率,每一个芯片并是完美的,所以一定要根据自己的需要选择最适合自己设计的芯片。1.ADC0808的引脚如图3.4所示烟台大学毕业论文(设计)5图3.4ADC0808外部引脚(1)IN0IN7:模拟信号的输入端。一共有8个引脚,不一定要全部用到,而在本设计中我们只用到了1N0,只有一路模拟信号。(2)ADDAADDC:输入信号的地址选择端,3个地址的不同高低电平能够定位模拟信号输出端不同的通道。具体通道如下图3.5所示。00001111 00110011 01010101 IN0IN1IN2IN3I
16、N4IN5IN6IN7图 3.5 地址信号和选中通道的关系(3)D0D7:8位输出通道。并且这个端口是三态控制端口,可以保持在高阻态状态,对下级电路无影响。(4)(4)VR(+)、VR(-):正负参考电压的输入端,主要决定了量化单位。其中可以分为:单极性和双极性输入。在本设计中用的就是单极性输入,VR(+)端接5V的电压,VR(-)端接地。(5)CLOCK:输入A/D转换的时间基准的时钟信号。(6)START:开始A/D转换的开关,为正脉冲信号。在一个完整的矩形脉冲中,可以先完成复位和A/D转换开启两个工作状态。(7)OE:输出使能端,正脉冲,开始工作。烟台大学毕业论文(设计)6(8)EOC:
17、查询:单片机接收到A/D转换器的完成信号,然后接受他传过来的数据,其实EOC也可以作为中断请求进行外部中断命令。(9)ALE:地址锁存的控制端,为正脉冲,ALE=1时,允许通过地址选择端选通模拟输出端的通道,通常与START连用。2.ADC0808的内部结构从图3.6所示,ADC0808的内部结构组成就会一目了然了。图 3.6 ADC0808 内部结构框图3.2.3 A/D 转换电路的设计这里由一个滑动变阻器与电源和接地线直接连接,通过滑动变阻器的滑动来改变模拟信号的输入电压,并且有一个数字电压表为了方便与结果进行比较,来确定该设计的可行性。由于只用到了一个模拟信号输出端IN0,所以地址锁存器
18、都连接接地线,来保证IN0这个模拟通道的连通。CLOCK输入时钟信号。输出部分:要想输出必须OE=1,只有这样才能进行输出,输出端口与单片机端口连接,单片机来接受A/D转换后的数据,再做相应的处理。单片机的P3.4接口要输出一个方波,分别输入到ALE和START端口,当处于上升沿的时候进行地址锁存,连通相应的模拟输入通道,当处于下降沿的时候完成A/D转换。EOC接P3.3,当P3.3接口收到高电平的时候就说明完成了A/D转换,大单片机可以继续进行其他操作了。VR(+)接5v的电压,VR(-)接地线,构成了单极性输入。具体连接如图3.7所示烟台大学毕业论文(设计)7STARTD0D1D2D3D4
19、D5D6D7EOCD7D6D5D4D3D2D1D0STARTSTARTEOCD714D613D512D411D310D29D18D07E6RW5RS4VSS1 VDD2 VEE3LCD1LM016LXTAL218 XTAL119ALE30 EA31 PSEN29RST9P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32P1.01 P1.12 P1.23 P1.34P1.45 P1.56 P1.67 P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT0
20、 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C5150%RV11k234567891 RP1RESPACK-8 OUT121ADD B24 ADD A25 ADD C23VREF(+)12 VREF(-)16IN31 IN42 IN53 IN64IN75START 6OUT5 8EOC 7OE 9CLOCK 10OUT2 20OUT7 14OUT6
21、 15OUT8 17OUT4 18OUT3 19IN228 IN127 IN026ALE22U2ADC080889% RV21k+88.8AC VoltsVCCGNDU2(CLOCK)GNDVCC图 3.7 ADC0808与单片机的连接3.3 定时器/计数器中断3.3.1中断系统中断简单来说,就像是一个人正在洗衣服,这时候来了电话,然后停止洗衣服去接电话,接完电话回来继续洗衣服。1中断的响应过程:(1)在各个的指令分号后,都要检查是否有中断请求,当有中断请求且单片机中断允许的时候,单片机就是接收并且处理中断信号。(2)保护现场,由于执行中断后还要回来继续执行主程序,所以要通过进栈操作来保存主程
22、序的地址。(3)中断服务。(4)恢复现场,通过出栈操作找到原先主程序执行的地址。(5)返回,返回到主程序,继续进行原先的主程序操作。2中断控制51单片机一共有5个中断源分别为:外部中断INT0、INT1,定时器0、定时器1和串行口中断。为了保证中断灵活正确的为我们服务,所以设置了中断允许控制端IE。具体图像格式地址如下图3.8所示EA:中断的总控制端。当EA=1时,所有的中断控制全部打开。烟台大学毕业论文(设计)8ET1:定时器1控制端,正脉冲。ET0:定时器0允许端,正脉冲。ES:串行端口控制端,正脉冲。EX1:外部中断1控制端,正脉冲。EX0:外部中断0允许端,正脉冲。图 3.8中断控制的
23、 IE格式3.3.2定时器/计数器中断的原理定时器核心是一个加1的计数器,TH1、TL1分别是定时器1的高八位和低八位,TH0、TL1分别为定时器的计数器,构成了两个16位的定时器。它的工作方式和定时器或计数器方式的选择由寄存器TMOD控制,对定时器的控制由寄存器TCON来实现。具体结构框图如图3.9所示图 3.9定时器/计数器内部1.方式寄存器TMODM1、M0不同的二进制会组成4种工作方式,在本设计中用的是M1=0、M0=1,第1种工作方式,16的定时器。C/T:选择是外部计数器或者是内部定时器。当GATE=0,TR1/TR0=0时,定时器才能继续工作。具体如下图3.10所示图 3.10方
24、式寄存器 TMOD2.控制寄存器TCONTR0,TR1分别是定时器0、1的运行控制位,当只有位正脉冲时,定时器才能开启。TF0,TF1分别为定时器的溢满标志,当计数满时,进位TF0、TF1变成正脉冲,向单片机请求中断,当单片机接受时清0。具体如下图3.11所示烟台大学毕业论文(设计)9图 3.11控制寄存器 TCON3.3.3 定时器/计数器产生方波程序下面的程序如何在P3.4口产生一个方波,与芯片ADC0808的ALE和START相连,具体程序如下图3.12和图3.13所示图 3.12定时器的初始化程序图 3.13定时器中断程序烟台大学毕业论文(设计)103.4 显示模块3.4.1 LCD
25、显示模块LCD显示根据显示的内容分为字段和字符显示,字段显示和LED有异曲同工之处,比起LED显示LCD具有体积小、低功耗、操作方便,不需要驱动的优点,只需要把数字信号输入到接口处就可以显示,在工业上广泛应用,本设计要求的就是字符显示。LCD的根据操作方式又可以分为并行操作方式和串行操作方式,本设计所用的芯片LCD1602只有并行接口,根据型号可以看出,可以显示两行,每行可以显示16个字符。注意LCD并不能显示汉字,背光,需要5v的电压驱动。3.4.2 LCD1602的引脚功能LCD引脚图如图3.14所示:VSS和VDD分别为LCD1602的接地线和电源接口,这是一个芯片所必须的。DB0DB7
26、:为LCD1602显示屏的数据输入端,一共有8位。R/W:读写控制端,当该端口处于正脉冲时,执行读操作;当该端口处于低电平时,执行写操作。E:使能端,只有E端形成一个正脉冲的时候,LCD1602液晶屏才能开始工作。VO:通过控制滑动变阻器达到控制亮暗。RS:数据/命令的控制端口。当本端口为高电平时,在DB0DB7数据端口进行数据的输入;当本端口为低电平时,在DB0DB7数据端口进行命令的输入。A:背光的正端,在本设计中5V电压。K:背光的接地端,也就是0V。图 3.14 LCD1602引脚图3.4.3 LCD1602的显示操作1四种基本操作LCD主要有4种基本的操作,分别为:读数据,读状态,写
27、命令,写数据。VSSVDDVORS R/WEDB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7A KLCD 1602引脚图1 2 3 4 5 6 7 8 9 10 11 12 13 14 15烟台大学毕业论文(设计)11读数据:R/W=1、RS=1、E=1读状态:R/W=1、RS=0、E=1写命令:R/W=0、RS=0、E=1且在DB0DB7数据端口输入所需的命令。写数据:R/W=0、RS=1.E=1、E=1且在DB0DB7数据端口输入所需的数据。(1)读状态(命令)字RW=1,RS=0,E=1,LCD工作,然后读取芯片LCD1602的正在执行的命令,通过DB0DB7端口输出命令字
28、。流程框图如图3.15所示图 3.15读状态框图(2)命令字RS和R/W为LCD1602的控制信号端,一般RS=0、R/W=0时进行相应的命令字操作。DB0DB7输入端,输入命令代码。(1)数据指针的设置:进行数据指针的设置前我们必须知道。在地址00H0FH、40H4FH的数据可以直接显示到液晶屏上,正好是2行,16字符。可以用80H+地址码的方法,来设置数据的地址(2)其他的设置:当DB0DB7=01H的时候,将对整个屏幕的字符进行清除,即所有的显示清0。当DB0DB7=02H或者03H的时候,将光标送到初始位,也就是归home操作。(3)初始化设置:DB0DB7=38H,设置16字、2行显
29、示,8位的数据输入端。(4)显示开关及其光标的设置:当DB0DB7=00001DCB时,D位为高电平时,开显示,低电平时,关闭显示;C位为高电平时显示光标,B位为高电平时光标闪烁。当DB0DB7=000001NS时,当N位为高电平时,当读/写一个字符相应的地址指针+1且光标也+1;(5)当N位为低电平时,当读/写一个字符相应的地址指针-1且光标-1。当S位为高电平时,根据N位的电平的不同屏显左移(N=1)或者右移(N=0);当S位为低电平时,屏显显示不移动。当DB0DB7=00010A00时,当A=0时,光标左移;当A=1时,光标右移。烟台大学毕业论文(设计)12当DB0DB7=00011B0
30、0时,当B位为高电平时屏显右移,同时光标跟随变化,当B位为低电平时屏幕左移动,同时光标也跟随着移动。具体表格如下图3.16所示图 3.16 控制命令表格图(3)写命令字由图3.17可知当RS=0,R/W=0时,才能进行写状态字操作,为LCD1602液晶屏的运行设置指令。由图3.4.4可得,写命令字前先要读取状态字,判断BF,最后进行写命令,然后把E置1,从单片机的P1口输入设置LCD1602运行的状态字,E=0开启LCD1602,进行显示操作。图 3.17 写命令字的流程图(1)定义光标位置RS和R/W来控制命令的写入,来定义光标的位置,就是把相应的数据写在RAM中,然后以为写在特定地址里数据
31、,可以直接显示在液晶屏上。每写入一个字符,那光标移动一次,也就是DDRAM的地址加1。具体表格如表1所示表 1 设置 DDRAM 命令RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 1 A6 A5 A4 A3 A2 A1 A0第1行DDRAM地址的范围是从00H27H,而第二行的DDRAM从40H27H,所以两行DDRAM地址是中断的,如表2所示。烟台大学毕业论文(设计)13表 2 DDRAMRAM 地址行 1 2 3 4 5 14 15 16列1 00H 01H 02H 03H 04H 25H 26H 27H列2 40H 41H 42H 43H 44H 6
32、6H 66H 67H(2)LCD初始化先通电、延时程序,再进行功能设置(比如:多少行多少列,多少数据接口),然后延时再进行显示状态和光标的设置,最后写入清屏命令字、延时,设置输入方式的设置(前面的四种基本操作)。具体流程如图3.18所示图 3.18 LCD 初始化流程图2LCD显示程序设计要对程序进行执行必须先初始化,初始化也就是为LCD制定各种要求和标准,不然LCD不知道该怎么样去执行。显示流程如图3.19显示图 3.19LCD 显示程序流程图烟台大学毕业论文(设计)144 系统软件设计一个系统是由多个模块一起构造一起运转的,是一个共同体缺一不可。本设计也不例外,是有很多模块共同组成,主要分
33、为四个模块,具体的系统框图如图4.1所示系统主程序液晶管显示 A/D转换 中断服务.图 4.1 系统软件框图4.1 主程序设计首先由单片机的接口P3.4的定时产生方波,也就是一个时钟信号,来为A/D转换提供时序,当START从1变为0时,A/D转换开始工作,同时ALE有效,开启地址锁存,相应的锁存通道开启,A/D转换器接收到模拟信号,进行A/D转换,单片机通过查询EOC的电压状况判断转换情况。主流程如图4.2所示图4.2主程序流程图4.2 A/D 转换程序为了进行仿真方便对验证程序和本设计的准确定,A/D转换器外部自己构造一个简易的模拟电压输入,可以通过数字电压表得到具体的数值,通过ADDAA
34、DDC地址锁存,来确定模拟输入通道,本设计的地址锁存全部都是0,所以就是第一通道。当单片机的P3.4接口产生下降沿时A/D转换开启,单片机查询转换完成EOC是否为正脉冲,判断转换是否烟台大学毕业论文(设计)15完成,具体程序流程如图4.3所示图 4.3 A/D 转换程序框图程序如图4.4下:图 4.4 A/D转换程序烟台大学毕业论文(设计)165 Proteus 6 Professional仿真首先在keil中对本程序进行调试然后把行设置。把晶振改为12MHz和输出生成HEX(这里必须生成HEX文件为后面的 Proteus6Professional仿真提供ProgramFile)文件,最后进行
35、编译,如果程序有错误还要进行调试,直到没有error为止。然后通过Proteus 6 Professional当创建好自己的原理图的时候,这时候就需要倒入数字电压表的程序进行仿真了,鼠标点击左键打开芯片AT89C51然后找到ProgramFile然后把keiluVision4生成的HEX加载进去,并且把时钟频率调成12MHz就可以进行仿真了。最后点击Proteus6Professiona的仿真按钮,进行仿真,可以进行全部仿真,也可以进行单步仿真检验程序的错误,然后观察模拟输入端的数字电压表的数值与LCD显示的数值是否一致。滑动变阻器改变输入数字电压表的数值,观察LCD是否跟随发生变化,结果数据
36、一致如下图5.1所示STARTD0D1D2D3D4D5D6D7EOCD7D6D5D4D3D2D1D0STARTSTARTEOCD714D613D512D411D310D29D18D07E6RW5RS4VSS1 VDD2 VEE3LCD1LM016LXTAL218 XTAL119ALE30 EA31 PSEN29RST9P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32P1.01 P1.12 P1.23 P1.34 P1.45P1.56 P1.67 P1.78P3.0/R
37、XD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51C11nFC21nF X1CRYSTALC31uFR110kR210k50%RV11k234567891 RP1RESPACK-8 OUT1 21ADD B24 ADD A25 ADD C23VREF(+)12 VREF(-)16IN31 IN42
38、IN53 IN64 IN75 START 6OUT5 8EOC 7OE 9CLOCK 10OUT2 20OUT7 14OUT6 15OUT8 17OUT4 18OUT3 19IN228 IN127 IN026ALE22U2ADC080889% RV21kAC Volts+4.45VCCGND U2(CLOCK)GNDVCC图 5.1 仿真结果图烟台大学毕业论文(设计)176 结论本设计以AT89C51为控制中心,ADC0808芯片作为A/D转换器把模拟信号转换成数字信号,LCD1602把A/D转换成的数字信号经过相应的处理显示在液晶屏上。经过仿真已经确定本设计的可行性,经仿真测试数字电压表的测
39、量范围为0.005.00V,满足本设计的目的。当然人无完人金无足赤,任何的东西都不是完美的,都是有缺点的。(1)首先芯片ADC0808的数据输入端一共有八条通道,而本设计却只用了一条,造成了极大的浪费。(2)输出的电压易受到外界的干扰,可以通过取数学平均值的方法,通过多次的A/D转换转换成不同的数字信号,把所有的数值相加除以试验的次数。烟台大学毕业论文(设计)18致 谢毕设要做完了,也代表着大学四年也完美的画上了句号,大学四年有苦、有乐、也有甜、大学四年将会成为我最珍重的回忆。首先这次设计的完美结束任承教授给了我很大的帮助,当第一次见面的时候很认真的给我规划了设计路线和详细的时间安排,不然我的
40、毕设绝对不会这样顺利完成,任教授很有人格魅力、和蔼可亲,对于我们不会的问题认真教导、一丝不苟,经常用手机和邮件进行交流,使我获益匪浅,最重要的是在最后格式和细节问题方面给我提了很多建议,感谢任承老师。在大学四年还要感谢为我们上课的讲师和教授,他们不紧为帮助我们掌握学到的课程也帮助我们解决了很多日常的生活问题,感谢他们。同时也感谢导师和辅导员的热心帮助和悉心教导,他们为我们做了很多多。最后感谢班级的同学,我在这个暖热的大集体感觉到了光荣。感谢舍友在多少个风风雨雨中一起走来,还记得我们那一起任性的狂欢嘛,一起上课,一起去旅游,一路走来感谢有你。烟台大学毕业论文(设计)19参考文献1郭天祥,51单片
41、机C语言教程M,电子工业出版社,20082陈海宴,51单片机原理及应用M,北京航空航天大学出版社,20103王东峰,单片机C语言应用100例M,电子工业出版社,20094王海燕,protues和keil软件在单片机实验教学中的应用J,实验室研究与探究,2012(05)5杜洪林,论单片机系统的可靠性设计J,扬州市职业大学,2016(06)6李平,单片机入门与开发M,机械工业出版社,20087高吉祥,全国大学生电子设计竞赛培训系列教程M,电子工业出版社,20078赵静,基于单片机的数字电压表设计J,数字技术与应用,2011(06)9宋凤娟,基于89C51的数字电压表设计J,制造业自动化,2007(
42、02)10刘敏娜,基于51单片机的数字电压表仿真设计J,山西电子技术,2011(02)烟台大学毕业论文(设计)20烟台大学毕业论文 (设计)评审表(指导教师用)题目 基于单片机的数字电压表学生姓名 邱身文 学号 201257503229 专业 电子信息工程指导教师姓 名 任承 职称 副教授 所学专业 光学是否同意参加答辩: 得分评语:指导教师(签字): 年 月 日烟台大学毕业论文(设计)21烟台大学毕业论文 (设计)评审表(评阅人用)题目 基于单片机的数字电压表学生姓名 邱身文 学号 201257503229 专业 电子信息工程指导教师姓 名 任承 职称 副教授 所学专业 光学是否同意参加答辩: 得分评语:评阅人(签字): 年 月 日烟台大学毕业论文(设计)22烟台大学毕业论文(设计)评审表(答辩小组用)题目 基于单片机的数字电压表学生姓名 邱身文 学号 201257503229 指导教师姓 名 任承 职称 副教授得分评语:答辩委员会(小组)(全体成员签字): 年 月 日烟台大学毕业论文(设计)综合评定成绩表指导教师评分 评阅人评分 答辩评分综合评定成绩(按 4:2:4)答辩委员会负责人(签字): 年 月 日烟台大学毕业论文(设计)23烟台大学毕业论文(设计)24