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

下载本文档

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

文档简介

任务书学生姓名学号班级专业设计(或论文)题目数字电压表设计指导教师姓名职称工作单位及所从事专业联系方式备注设计内容:1设计一款数字电压表将模拟的电压信号转换出来显示在数码管上。2主要功能:(1)将模拟电压转换为数字电压;(2)可测量0-25V直流电压,分辨率0.5V;(3)显示被测电压数值。主要参考文献、资料(写清楚参考文献名称、作者、出版单位):全国大学生电子设计竞赛训练教程黄智伟北京电子工业出版社电子测量技术基础扬吉祥东南大学出版社电子技术基础康华光北京高等教育出版社实用电子电路基础刘维恒北京电子工业出版社通用集成电路速查手册王新贤济南科学技术出版社审批意见教研室负责人:年月日备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。摘要本设计主要研究的是以AT89C51单片机为核心的电压测量系统,该系统能够在单片机的控制下完成对电压信号采集,能够根据采样值进行量程自动转换,并且测量结果可通过四个数码管显示出来。整个系统的设计完成了硬件电路的设计及软件程序的编写,通过最终硬件电路的调试及软件程序的仿真,使该系统能够在要求的条件下达到正常的测量及显示功能。在整个系统的设计过程中,主要采用了模块化的设计方法。关键词:AT89C51;AD转换器ADC0808;显示器目录绪论1第一章硬件部分的设计21.1量程转换模块设计21.1.1电路选择21.1.2工作原理及换算关系21.2逐次逼近式A/D转换模块设计21.2.1ADC0808简介31.2.1.1ADC0808引脚功能31.2.1.2ADC0808内部结构图31.2.2A/D转换电路设计41.3AT89C51单片机引脚功能介绍51.3.1电源51.3.2时钟信号51.3.3控制线61.3.4I/O线61.4显示模块设计91.4.1LCD1602的引脚功能101.4.2LCD1602的显示操作101.4.2.1四种基本操作101.4.2.2LCD显示程序设计15第二章软件设计162.1主程序设计162.2A/D转换程序设计172.3中断服务程序设计17设计总结18参考文献18附录119附录221绪论在电气测量中,电压是一个很重要的参数。如何准确地测量模拟信号的电压值,一直是电测仪器研究的内容之一。数字电压表是通用仪器中使用较广泛的一种测试仪器,很多电量或非电量经变化后都用可数字电压表完成测试。因此,数字电压表被广泛地应用于科研和生产测试中。本文将介绍一种以单片机为核心的电压测量仪表,它能够测量电压量,能够自动进行量程选择,并且测量结果能够通过数码管显示,从而具有一定的智能性。本文将就这一系统的硬件电路部分和软件程序部分分别作以介绍。在硬件部分,本文就系统的各个组成模块的原理作了详细的介绍。另外,在每一模块电路中都对元器件的选择作了简单的介绍,其中包括有关数值的计算和分析。在软件部分,详细阐述了各个模块电路的软件设计方法和设计中的细节。分析本设计,可以看出其主要任务就是对电压信号能够自动选择合适的量程进行测量并显示。本设计要求采用单片机进行控制,由于单片机的有效输入输出信号均为数字信号,而对于整个系统的前向通道有效信号均应为模拟信号,所以在设计过程中必然包括模拟量转换为数字量单元的设计。根据要求本设计中采用的是V/F转换电路。对于V/F转换电路,要使其转换具有良好的线性度和精度必须使其输入电压变化范围较小。而本系统中要求测量的电压范围是05V,无法满足V/F转换的要求。所以,前向模拟通道的设计要包括量程转换部分,即对大信号进行分压变小,对小信号进行放大,显然,这样不仅能满足V/F转换电路的要求,而且也能有效的防止超量程测量。另外,前向通道的设计还应包括对模拟信号的采集部分。本设计框图如图1-1所示第一章硬件部分的设计1.1量程转换模块设计1.1.1电路选择图3-3量程转换开关图3-4衰减输入电路输入电路的作用是把不同量程的被测电压,规范到A/D转换器所要求的电压值。数字电压表所采用的是逐次逼近式A/D转换芯片ADC0808,它要求输入电压0-2V。本仪表设计的是0-50V电压,灵敏度高所以可以不加前置放大器,只需衰减器,如图所示9M、900K、90K、和10K电阻构成1/10、1/100、1/1000的衰减器。衰减输入电路可由开关来选择不同的衰减率,从而切换档位。1.1.2工作原理及换算关系如上图通过电阻网络实现电压衰减测量的输入阻抗约为R4、R5、R6。1端、2端单独合上时,Vout的大小分别是:1脚单独合上Vout=Vin1;2脚单独合上Vout=Vin(R4+R5+R6)/(R3+R4+R5+R6)。由上式可以看出,Vout在一定范围时电阻网络衰减程度越大其可输入电压Vin。量程调节,只要把R5,R6的参数选好然后,由开关1端、2断选择测量电压输出端即完成量程选定。1.2逐次逼近式A/D转换模块设计逐次逼近型A/D转换器属于直接型A/D转换器,它能把输入的模拟电压直接转换为输出的数字代码,而不需要经过中间变量。主要由比较器、环形分配器、控制门、寄存器与D/A转换器组成。1.2.1ADC0808简介1.2.1.1ADC0808引脚功能2-1MSB21ADDB24ADDA25ADDC23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START62-58EOC7OUTPUTENABLE9CLOCK10VCC112-220GND132-7142-6152-8LSB172-4182-319IN228IN127IN026ALE22图3-5ADC0808引脚图IN0IN7:8路模拟量输入。A、B、C:3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。D0D7:八位数据输出线,A/D转换结果由这8根线传送给单片机。OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。1.2.1.2ADC0808内部结构图逐次逼近型A/D转换器ADC0808由八路模拟开关、地址锁存与译码器、比较器、D/A转换器、寄存器、控制电路和三态输出锁存器等组成。其内部结构如图3-6所示。图3-6ADC0808内部结构1.2.2A/D转换电路设计集成摸数转换芯片ADC0808实现的A/D转换电路如图3-7所示,被测信号由ADC0808模拟输入端输入,完成A/D转换后送入单片机,经相应处理后送出显示。图3-7ADC0808与单片机的连接1.3AT89C51单片机引脚功能介绍首先我们来连接一下单片机的引脚图,如果,具体功能在下面都有介绍。单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。1.3.1电源VCC-芯片电源,接+5V;VSS-接地端;1.3.2时钟信号单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XYAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器和对1C2振荡频率有微调作用,通常取(3010)pF石英晶体选择6MHz或12MHz都可以。时钟电路如图3-1所示。图3-1系统时钟电路图3-2系统复位电路XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。1.3.3控制线控制线共有4根。ALE/PROG:地址锁存允许/片内EPROM编程脉冲ALE功能:用来锁存P0口送出的低8位地址PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。PSEN:外ROM读选通信号。RST/VPD:复位/备用电源。RST(Reset)功能:复位信号输入端。VPD功能:在Vcc掉电情况下,接备用电源。EA/Vpp:内外ROM选择/片内EPROM编程电源。EA功能:内外ROM选择端。Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。1.3.4I/O端口80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。51单片机引脚图及引脚功能拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。(1)电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。(2)振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图1接上即可。(3)复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。(4)EA管脚:EA管脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流电阻)按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不能由我们来更改。单片机接线图图1名字有了,我们又怎样让它变高或变低呢?叫人做事,说一声就能,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个管脚输出高电平的指令是SETB,让一个管脚输出低电平的指令是CLR。因此,我们要P1.0输出高电平,只要写SETBP1.0,要P1.0输出低电平,只要写CLRP1.0就能了。现在我们已经有办法让计算机去将P10输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。要解决这个问题,还得有几步要走。第一,计算机看不懂SETBCLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西数字。因此我们得把SETBP1.0变为(D2H,90H),把CLRP1.0变为(C2H,90H),至于为什么是这两个数字,这也是由51芯片的设计者-INTEL规定的,我们不去研究。第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具编程器。如果你还不知道是什么是编程器,我来介绍一下,就是把你在电脑上写出来来的代码用汇编器等编译器生成的一个目标烧写到单片机的eprom里面去的工具,80c51这种类型的单片机编程是一件很麻烦的事情,必要要先装到编程器上编程后才能在设备上使用,而目前最新的89s51单片机居然在线编程(isp)功能,不用拔出来利用简单的电路就可以实现把代码写入单片机内部,本站有详细的at89s51编程器制作教程我们将编程器与电脑连好,运行编程器的软件,然后在编缉区内写入(D2H,90H)见图2,写入好,拿下片子,把片子插入做好的电路板,接通电源什么?灯不亮?这就对了,因为我们写进去的指令就是让图2P10输出高电平,灯当然不亮,要是亮就错了。现在我们再拨下这块芯片,重新放回到编程器上,将编缉区的内容改为(C2H,90H),也就是CLRP1.0,写片,拿下片子,把片子插进电路板,接电,好,灯亮了。因为我们写入的()就是让P10输出低电平的指令。这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就能改变电路的输出效果。1.4显示模块设计LCD显示器分为字段显示和字符显示两种。其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个汉字。1.4.1LCD1602的引脚功能LCD1602模块的引脚如图3-8所示,其引脚功能如下:RS:数据和指令选择控制端,RS=0命令状态;RS=1数据R/W:读写控制线,R/W=0写操作;R/W=1读操作A:背光控制正电源K:背光控制地E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机间将进行一次数据交换DB0DB7:数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源。VDD:电源端VEE:亮度控制端(1-5V)VSS:接地端图3-8LCD1602模块1.4.2LCD1602的显示操作1.4.2.1四种基本操作LCD有四种基本操作,具体如表3-1所示。表3-1LCD与单片机之间有四种基本操作VSSVDDVORSR/WEDB0DB1DB2DB3DB4DB5DB6DB7AKLCD模块12345678910111213141516(1)读状态字执行读状态字操作,如表3-1满足RS=0,R/W=1。根据管脚功能,当为有效电平时,状态命令字可从LCD模块传输到数据总线。同时可以保持一段时间,从而实现读状态字的功能。读状态字流程如图3-9所示。图3-9读入状态字流程图(2)命令字表3-2所示为命令字,其主要介绍了指令名称、控制信号及控制代码。其指令名称是指要实现的功能;控制代号是采用的十六进制的数值表示的。1)清零操作是指输入某命令字后即能将整个屏幕显示的内容全部清除;RSR/W操作00写命令操作(初始化,光标定位等)01读状态操作(读忙标志位)10写数据操作(要显示内容)11读数据操作(可以把显示存储区中的数据反读出来)2)归home位:将光标送到初始位;其中的号为任意,高低电平均可;3)输入方式:设光标移动方向并指定整体显示,是否移动。I/D=0:减量方式,S=1:移位方式,S=0:不移位;4)显示状态:D指设置整体显示开关;C指设置光标显示开关;B指设置光标的字符闪耀;5)光标画面滚动:R/L指右移或左移;S/C指移动总体或光标;6)功能设置:DL接口数位,L指显示行数,F显示字型;如DL=1:8位=0,4位N=1:2行=0:1行,G=1:510=0:57(点阵)7)CGRAM地址设制:相当于一个数据库,可以在其中选择所需要的符号;8)DDRAM地址设制:显示定位;9)读BF和AC:B为最高位忙的标志,F为标志位;10)写数据:将数据按要求写入到对应的单元;11)读数据:读相应单元内的数据;表3-2命令字控制信号控制代码指令名称RSRWD7D6D5D4D3D2D1D0清屏0000000001归HOME位000000001*输入方式设制00000001I/DS显示状态设制0000001DCB无标画面滚动000001S/CRL*功能设置00001DLNF*CGRAM地址设制0001A5A4A3A2A1A0DDRAM地址设制001A6A5A4A3A2A1A0读BF和AC01BFAC6AC5AC4AC3AC2AC1AC0写数据10数据读数据11数据(3)写命令字由表3-2可知当RS=0,R/W=0时,才可以通过单片机或用户指令把数据写到LCD模块,此时就对LCD进行调制。可采用查询方式:先读入状态字,再判断忙标志位,最后写命令字。图3-10所示为写命令字的流程图。图3-10写命令字流程图1)定义光标位置显示数据的某位,就是把显示数据写在相应的DDRAM地址中,DDRAM地址占7位。SetDDRAMaddress命令如表3-3所示。光标定位,写入一个显示字符后,DDRAM地址会自动加1或减1,加或减由输入方式设置。表3-3SetDDRAMaddress命令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0001AC6AC5AC4AC3AC2AC1AC0第1行DDRAM地址与第2行DDRAM地址并不连续,如表3-4所示。表3-4DDRAM地址row12345141516line180H81H82H83H84H8dH8eH8fHline20c0H0c1H0c2H0c3H0c4H0cdH0ceH0cfH2)LCD初始化从通电开始延时,先经过判忙后再进行功能设置,过一段时间后可以设制显示状态(如设制行、位或阵列)再经过延时清屏后才可以设置输入方式,具体实现过程如图3-11所示。图3-11LCD初始化流程图1.4.2.2LCD显示程序设计LCD显示程序的设计一般先要确定LCD的初始化、光标定位、确定显示字符后,显示流程如图3-12显示。图3-12LCD显示程序流程图第二章软件设计根据需要,可将系统软件按照功能划分为4个模块,分别是主程序模块、A/D转换模块、液晶显示模块、中断服务程序模块(改变显示的小数点位置),各模块的功能关系如图4-1所示。编写系统软件时,可首先编写各模块的底层驱动程序,而后是系统联机调试,编写上层主程序。系统主程序液晶管显示A/D转换中断服务.图4-1系统软件框图2.1主程序设计图4-2主程序流程图主程序主要负责各个模块的初始化工作:设置定时器、寄存器的初值,启动A/D转换,读取转换结果,处理量程转换响应,控制液晶实时显示等,其流程图如图4-2所示。2.2A/D转换程序A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统设置好后,单片机扫描转换结束管脚P2.6的输入电平状态,当输入为高电平则转换完成,将转换的数值转换并显示输出。若输入为低电平,则继续扫描。程序流程图如图4-3所示。图4-3A/D转换程序流程图2.3中断服务程序中断服务程序的功能是为ADC0808提供时钟信号,当中断发生时将AT89C51单片机的P2.4管脚将输出信号取反,为ADC0808提供12kHz时钟信号设计总结我的毕业设计以AT89C51单片机为控制核心,通过集成摸数转换芯片ADC0808将被测信号转换成数字信号,经单片机内部程序处理后,由液晶显示器LCD1602显示测量结果,下面是对毕设的总结:1、输入电压易发生干扰不稳定,且驱动能力可能存在不足,需在被测信号的输入端加上一部分驱动电路,比如将量程转换电路改成带放大能力的自动量程转换电路,将幅值较小的信号经适当放大后再测量,可显著提高精度;2、输出量可用平均值算法来改善,使测量准确度更高。3、若能将测量的电压值实时保存,使用时将更方便。4、ADC0808可实现对8个通道的输入信号轮流转换,本设计仅仅使用了其中一个通道,造成了较大的资源浪费。若能对电路稍加改进,实现对多路信号的轮流测量并自动保存相应结果,其应用价值将会更大参考文献1.黄智伟全国大学生电子设计竞赛训练教程北京电子工业出版社2005.12.扬吉祥电子测量技术基础东南大学出版社20043.康华光电子技术基础北京高等教育出版社19994.刘维恒实用电子电路基础北京电子工业出版社2004.

温馨提示

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

评论

0/150

提交评论