简易数字电压表的设计与制作毕业设计论文_第1页
简易数字电压表的设计与制作毕业设计论文_第2页
简易数字电压表的设计与制作毕业设计论文_第3页
简易数字电压表的设计与制作毕业设计论文_第4页
简易数字电压表的设计与制作毕业设计论文_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

目录第一部分设计任务与调研……………………11、毕业设计的主要任务………………12、设计的思路、方法…………………13、调研相关的资料……………………24、调研的目的和总结…………………2第二部分设计说明………………31、理论分析………………31.1AT89C51单片机概述……………31.2AD转换器工作原理………………51.3ADC0809介绍……………………71.4四位LED数码管介绍…………92、系统硬件设计………………………102.1单片机晶振电路……………………102.2单片机复位电路……………………102.3LED显示电路………………………112.4数字电压表硬件接线……………122.5焊接元件元件介绍………………13第一部分设计任务与调研1、毕业设计的主要任务本课题要求设计一个能正确测量模拟电压0-5v,误差<1%,利用ADC0809采样输入的模拟量,转换后的电压值显示在4位数码管上。具体要求如下。(1)采用51单片机进行控制,显示采用LED显示,设计硬件电路。(2)设计硬件结构框图,在proteus仿真系统上搭建设计平台。(3)下载程序至设计平台,调试程序,实现程序功能。(4)购买元器件焊接制作电路板。(5)下载烧录程序至电路板中进行测试。(6)撰写毕业设计成果报告,进行毕业答辩。2、设计的思路、方法用ADC0809作为采样输入,经过模数转换后送到单片机,然后有单片机给数码管输入数字信号,控制数码管显示。通过优化程序、提高硬件精度等级、校正基准电压等方法使得测量误差<1%。进行根据设计任务的要求,选用合适的单片机型号和其他元件,然后在proteus仿真软件上画出电路原理图,利用keil软件编写控制程序后下载程序到仿真软件进行调试,通过调试结果反馈信息再修改调整控制程序和硬件电路,最后制作基于单片机控制的数字电压表电路板,电路板制作完成后进行测试和测量。硬件结构框图如图1-1所示:图1-1硬件结构框图3、调研相关的资料在现代检测技术中,常需用高精度数字电压表进行现场检测,将检测到的数据送入微计算机系统,完成计算、存储、控制和显示等功能。数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便。目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。目前数字万用表的内部核心部件是A/D转换器,转换器的精度很大程度上影响着数字万用表的准确度。4、调研的目的和总结通过前期调研可以了解数字电压表的性能指标和选取合适的设计方案,了解不同种类元件的优缺点。通过查找资料和市场调查发现,基于单片机控制且采用ADC0809作为A/D转换元件的简易数字电压表,控制效果较好,所用元件较少,大大降低了制作成本。软件采用C语言实现,程序简单可读写性强,效率高。与传统的电路相比,具有方便操作、处理速度快、稳定性高、性价比高的优点,具有一定的使用价值。因此本设计采用基于单片机控制的简易数字电压表方案。

第二部分设计说明1、理论分析本文中数字电压表的控制系统采用AT89c51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化。还可以方便地进行8路A/D转换量的测量,远程测量结果传送等功能。数字电压表可以测量0到5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。1.1AT89C51单片机概述

普遍来说,单片机又称单片微控制器,是在一块芯片中集成了CPU(中央处理器)、RAM(数据存储器)、ROM(程序存储器)、定时器/计数器和多种功能的I/O(输入/输出)接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。引脚图如图2-1所示:图2-1AT89C51引脚图AT89C51单片机引脚介绍:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P2口:P2口为一个内部上拉电阻的8位双向I/O口,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。如想禁止ALE的输出可在SFR8EH地址上置0。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。1.2A/D转换器工作原理A/D转换电路是把模拟量(通常是模拟电压)信号转换为n位二进制数字量信号的电路。这种转换通常分4步进行:采样→保持→量化→编码。前两步在采样保持电路中完成,后两步在A/D转换过程中同时实现。采样。所谓采样是将一个时间上连续变化的模拟量转换为时间上断续变化的(离散的)模拟量。或者说,采样是把一个时间上连续变化的模拟量转换为一个串脉冲,脉冲的幅度取决于输入模拟量,时间上通常采用等时间间隔采样。采样过程的示意图如图2-2所示。图2-2采样过程(2)保持。所谓保持,就是将采样得到的模拟量值保持下来,最基本的采样—保持电路如图2-3所示。它由MOS管采样开关T、保持电容Cb和由运算放大器做成的跟随器三部分组成。实际中,进行A/D转换时所用的输入电压,就是这种保持下来的采样电压,也就是每次采样结束时的输入电压。图2-3保持电路量化和编码。所谓量化,就是用基本的量化电平q的个数来表示采样—保持电路得到的模拟电压值。这一过程实质上是把时间上离散而数字上连续的模拟量以一定的准确度变为时间上、数字上都离散的、量级化的等效数字值。量级化的方法通常有两种:只舍不入法和有舍有入法(四舍五入法)。编码就是把已经量化的模拟数值(它一定是量化电平的整数倍)用二进制数码、BCD码或其他码来表示。逐次逼近法A/D转换器工作原理:逐次逼近法A/D转换是一个具有反馈回路的闭路系统。A/D转换器可划分成3大部分:比较环节、控制环节、比较标准(D/A转换器)。图2-4所示就是逐次逼近法A/D转换器的原理电路。其主要原理为:将一个待转换的模拟输入信号VIN与一个“推测”信号V1相比较,根据推测信号是大于还是小于输入信号来决定减小还是增大该推测信号,以便向模拟输入信号逼近。推测信号由D/A变换器的输出获得,当推测信号与模拟输入信号“相等”时,向D/A转换器输入的数字即为对应的模拟输入的数字。图2-4逐次逼近法A/D转换器的原理电路1.3ADC0809概述ADC0809是National半导体公司生产CMOS材料的A/D转换器。它是具有8个通道的模拟量输入线,可在程序控制下对任意通道进行A/D转换,得到8位二进制数字量。ADC0809属于逐次逼近法A/D转换器,引脚图如图2-5所示,其主要技术指标如下:①8路输入通道,8位A/D转换器,即分辨率为8位。②具有转换起停控制端。③转换时间为100μs(时钟为640kHz),130μs(时钟为500kHz时)。④单个+5V电源供电。⑤模拟输入电压范围0~+5V,不需零点和满刻度校准。⑥工作温度范围为-40℃~+85℃。⑦低功耗,约15mW。 图2-5ADC0809引脚图ADC0809引脚功能如下:①IN0~IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC选通一路。②D7~D0:A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。

③ADDA、ADDB、ADDC:模拟通道选择地址信号,ADDA为低位,ADDC为高位。

④VR(+)、VR(-):正、负参考电压输入端,用于提供片内D/A电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。⑤ALE:地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。

⑥START:A/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清0,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。

⑦EOC:转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。⑧OE:输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。1.4四位LED数码管介绍在单片机系统中,常常用LED数码管显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。8段数码管一般由8个发光二极管组成,每一个位段就是一个发光二极管。一个8段数码管分别由a、b、c、d、e、f、g位段,外加上一个小数点位段h(或记为dp)组成。根据公共端所接电平的高低,可分为共阳极和共阴极两种,引脚图如图2-6所示图2-6数码管引脚图共阴极8段数码管的信号端高电平有效,只要在各个位段上加上相应的信号即可使相应的位段发光,比如:要使a段发光,则在a段加上高电平即可。共阳极的8段数码管则相反,在相应的位段加上低电平即可使该位段发光。因此,一个8段数码管就必须有8位(即一个字节)数据来控制各个位段的亮灭。共阴和共阳结构的LED数码管显示器各笔划段名和安排位置是相同的。当二极管导通时,对应的笔划段点亮,由发亮的笔划组合而显示各种字符。8个笔划段hgfedcba对应于一个字节(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二进制码就能表示想要显示字符的字形代码。例如,对于共阴LED数码管显示器,当共阴极接地(为低电平),而阳极hgfedcba各段为01110011时,数码管显示器显示“P”字符,即对于共阴级LED数码管显示器,“P”字符的字形码是73H。 2、系统硬件设计2.1单片机晶振电路单片机内部的高增益的反相放大器与单片机的XTAL1、XTAL2引脚外接的晶体构成一个振荡电路作为CPU的时钟脉冲。见图2-7所示,XTAL1为振荡电路输入端,XTAL2为振荡电路的输出端,同时XTAL2也作为内部时钟发生器的输入端。片内时钟发生器对振荡频率进行二分频,为控制器提供一个两相的时钟信号,产生CPU的操作时序。51单片机时钟电路常用的晶体有6MHz,12MHz,11.0592HMz等。图2-7单片机晶振电路2.2单片机复位电路图2-8所示,单片机复位能使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。复位后PC=0000H,单片机从第一个单元取指令,在实际应用中,无论在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位,复位操作通常有上电自动复位、手动复位和看门狗复位三种方式。图2-8单片机复位电路2.3LED显示电路如图2-9所示,显示电路采用一个共阴极LED数码管和一个上拉排阻构成,排阻就是由8个电阻组成的,他们在电路中起到“上拉”的作用,又称上拉电阻。上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用,下拉同理。接上拉电阻的原因有以下几点:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加上拉电阻,才能使用。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。6、提高总线抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。图2-9LED显示电路2.4数字电压表硬件接线图图2-10所示。由于ADC0809在proteus仿真软件中没有仿真模型,因此采用ADC0808代替ADC0809在proteus软件中仿真,但要注意ADC0809和ADC0808的OUT1到OUT8输出端口在封装时刚好相反,接线时需注意。图2-10数字电压表硬件接线图2.5焊接元件元件介绍自锁开关电路中起到电源的开关作用,常开的其中一脚接DC电源插口电源脚,常开的另一脚接电路的VCC。图2-11所示:图2-11自锁开关三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。常见的三极管为9012、s8550、9013、s8050。其中9012与8550为pnp型三极管,可以通用。9013与8050为npn型三极管,可以通用。图2-12所示:三极管的使用有电流放大、作偏置电路、开关作用等,单片机应用电路中三极管主要的作用就是开关作用。区别引脚:三极管向着自己,引脚从左到右分别为ebc。图2-12三极管3、系统软件设计3.1程序流程图根据模块的划分原则,将该程序划分为初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图2-13所示。所谓初始化,是对将要用到的89C51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。图2-13程序流程图3.2A/D转换子程序A/D转换子程序用于对ADC0809的8路输入模拟电压进行A/D转换,并将转换的数值存入8个相应的存储单元中,如图2-14所示。A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。

图2-14A/D转换程序流程图2.3显示子程序LED数码管采用软件译码动态扫描方式。在显示子程序中包含多路循环显示和单路显示程序。多路循环显示把8个存储单元的数值依次取出送到4位数码管上显示,每一路显示1秒。单路显示程序只对当前选中的一路数据进行显示。每路数据显示需经过转换变成十进制BCD码,放于4个数码管的显示缓冲区中。单路显示或多路循环显示通过标志位00H控制。在显示控制程序中加入了对单路或多路循环按键和通道选择按键的判断。第三部分设计成果1、数字电压表仿真程序/* 名称:ADC0808数模转换与显示 说明:ADC0808采样通道3输入的模拟量,转换后的结果显示在数码管上。*/#include"reg51.h"#defineucharunsignedchar#defineuintunsignedint//各数字的数码管段码(共阴)ucharcodedsycode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbitCLK=P2^3; //时钟信号sbitST=P2^2; //启动信号sbitEOC=P2^1; //转换结束信号sbitOE=P2^0; //输出使能//延时voiddelay(uintms){uchari;while(ms--)for(i=0;i<120;i++); }//显示转换结果voiddiplay(unsignedintd) { P1=0xf7; //第4个数码管显示个位数 P0=dsycode[(d/100)%10]; delay(5); P1=0xfb;//第3个数码管显示十位数 P0=dsycode[(d/100)/10%10]; delay(5); P1=0xfd;//第2个数码管显示百位数 P0=dsycode[d/100/100]|0x80;/*显示小数点*/ delay(5);}//主程序voidmain(){ unsignedinta; TMOD=0x02; //T1工作模式2 TH0=0x14; TL0=0x00; IE=0x82; TR0=1;P2=0x3f; //选择ADC0809的通道3(10111111)(P2.7~P2.0) while(1) { ST=0;ST=1;ST=0; //启动A/D转换 while(EOC==0); //等待转换完成 OE=1; a=P3*196; //255显示转换为5V显示5/255=0.1960784可调节电压表精度 diplay(a); OE=0; }}//T0定时器中断给ADC0808提供时钟信号voidTimer0_INT()interrupt1{ CLK=~CLK;}2、软件调试2.1Keil软件调试程序图3-1所示图3-1Keil软件调试程序2.2Proteus软件仿真调试如图3-2所示:图3-2Proteus软件仿真调试3、硬件调试数字电压表硬件测试,测量干电池电压,如图3-3所示:图3-3数字电压表硬件测试

第四部分结束语本次毕业设计通过查阅资料、独立思考和自己动手制作硬件电路,我设计了一个基于单片机AT89S52采用8位逐次逼近式A/D转换器ADC0809设计的简易数字电压表。采用单片机进行数据控制、处理,送到显示器显示,硬件结构简单,所用元件较少,大大降低了制作成本。软件采用keil软件编程、proteus软件仿真,用C语言实现,程序简单可读写性强,效率高。以89C51单片机、ADC0809转换元件为核心部件,利用软件编程,实现了对直流电压值的测量。本设计所测的电源范围为0—5V,如果想改装大量程范围,

温馨提示

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

评论

0/150

提交评论