毕业设计(论文)-基于单片机的直流数字电压表的设计.doc_第1页
毕业设计(论文)-基于单片机的直流数字电压表的设计.doc_第2页
毕业设计(论文)-基于单片机的直流数字电压表的设计.doc_第3页
毕业设计(论文)-基于单片机的直流数字电压表的设计.doc_第4页
毕业设计(论文)-基于单片机的直流数字电压表的设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文题目:直流电压表的设计摘要数字电压表(digital voltmeter)简称dvm,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表.传统的指针式电压表功能单一、精度低,不能满足现代测量的需求,采用单片机的数字电压表,它的精度高、抗干扰能力强。可扩展性强、集成方便,还可与pc进行实时通信。目前,有各种单片a/d转换器构成的数字电压表,以被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能测量领域,与此同时,也能把电量及非电量测量技术提高到崭新水平。该系列产品是一种高精度的安装式仪表.本设计为简易直流数字电压表, a/d转换器部分采用普通元器件构成模拟部分,利用mcs-51单片机借助软件实现数字显示功能,自动校零、led显示等功能时采用at89c51单片机编程实现直流电压表量程的自动转换。关键词:at89c51 a/d转换 电压测量前言尽管单片机不断向纵深发展,但目前乃至今后若干年,8位机仍旧是实际应用中的主导产品。mcs-51系列是目前8位单片机的主流机型,在实时控制、智能化仪表等方面应用最广。因此,本设计将主要介绍mcs-51系列单片机。mcs-51系列单片机以片内有无程序存储器及存储的形式,分为3种基本产品:8051,8751和8031。随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。在军事、娱乐、海洋开发、工农业生产、社会服务等各个领域。在家庭方面,相关于电器方面都离不开电压表的使用。在电子显示方面也采用电压表的测量。数字电压表灵活多变的测量方式,使用方便.特别是大型的电机,在使用安装、检测时必然所需要的。是电压表的应用才使得电子、电气行业成为有方圆的规矩。在国内外,微控制系统主要采用单片机作为控制核心。因此,单片机的发展将有助于简单实用电子产品的开发。在本设计中,采用比较先进的at89c51单片机为控制核心,它的功能很强大。与此同时单片机技术在社会各领域中得到了广泛的应用。在直流数字电压表系统中,单片机更是取代了由齿轮调节延迟时间的表盘旧式市发展速度,成为日后此系统中的核心部分。由于单片机具有一些突出的优点:体积小、重量轻、电源单一、功能强、价格低;数据大都在单片机内部传送,运行速度快、抗干扰能力强、可靠性高,所以单片机被广泛的应用于测控系统、数据采集、智能仪器仪表、机电一体化产品、智能接口、计算机通信以及单片机的多级系统等领域。本文主要讲的是单片机,课题名称为简易直流数字电压表的设计,它使我们学会了如何使用单片机控制我们日常生活中的多设备设施的应用。通过本课题的设计以后,使我了解到了单片机的许多方面的应用。1 总体设计思路 1.1总体电路构成(1)要求简易直流数字电压表可以测量0-5v的2路输入电压值。(2)轮流显示或单路选择显示。(3)测量最小误差约为 0.05v。(4)另加测量温度值。(5)数字电压表(数字面板表)的具体应用电路是何止千万的,只要掌握了一些最基本的应用,就可以举一反三地越来越熟练,熟就能生巧,就能按照您的构思去得心应手地用好它。(6)尽管数字电压表的输入阻抗可以达到 1000 兆欧姆,但是,这个阻抗仅仅是对输入信号而言的,与通常电力系统泛称的“绝缘电阻”有着天壤之别!因此,千万不能把高于芯片供电电压的任何电压输入到电路中!以免造成损失或者危险。(7)数字电压表(数字面板表)属于一种测量工具,其本身的好坏直接影响到测量结果,因此,上面所有例子中,其使用的电阻要求精度均不能低于 1% ,在分流、分压和标准电阻链中,最好能够使用 0.5% 或者 0.1% 精度的电阻。电路中使用的电容器也要求使用一种俗称为 cbb 的电容,除各别地方之外,一般是不能使用瓷介电容的。(8)不要在电路本身没有送上工作电源的时候就加上信号,这很容易损坏芯片。断掉工作电源前也必须先把信号撤掉。输入放大与量程转换电路a/d转换电路单片机控制电路led数字显示器电源图1-1 总体结构框图本系统由输入放大与量程转换电路、a/d转换电路、单片机计数控制电路、led数字显示器构成。电路内部总体结构框图如图1-1所示。1.2单元电路设计(1)输入放大与量程自动转换电路的设计输入放大与量程自动转移电路的主要自用是提高输入阻抗和完成量程转换,本设计采用mcs-51集成运算放大器构成同相比例放大电路,以提高电路的输入阻抗,以达到题目要求,模拟开关以滑动变阻器为主,在单片机的控制下形成不同的通断组合,实现量程的自动转换和自动校零功能。 (2) a/d转换器的设计 a/d转换器具有抗干扰能力强的特点,在采用零点校准的前提下,其转换精度也可以做得很高,但显著的不足是转换速度较慢,并且分辨率越高,其转换速度也就越慢,因此本设计采用了a/d转换器,可以较好的改善转换速度慢的缺点,它的转换速率分辨率的乘积比传统的双积分式a/d转换器提高至少两个数量级。 (3)单片机计数、控制电路设计 通过对a/d转换器的方案分析,本设计采用的单片机编程实现a/d转换,脉冲的计数功能由单片机实现,所以对单片机的速度提出了较高的要求,基本要求分辨率为11位,转换速度不低于2次/s,发挥部分要求分辨率15位,采用mcs-51单片机实现控制和脉冲计数,采用16mhz晶振,完全能满足分辨率15位和转换速度2次/s的要求。(4)显示电路 显示是电路采用数码管显示器,可显示各种字体的数字、字母,还可以自定义内容,增加了显示的美观性与直观性,是重要的是提供了友好的人机界面。同时led 8段数码管有静态显示和动态显示两种方式。静态显示方式的各位数码管相互独立,公共端恒定接地或接正电源。每一个字段都要独占一条i/o口只要有断码输出,显示器就可以显示出所要显示的字符,如果cpu不改写,则一直保持下去。动态显示方式下各位数码管的段选线相应并连在一起,由一个8位的i/o口控制;各位的为选线有另外的i/o口控制。2 系统硬件电路2.1硬件电路本次设计是以单片机at89c51芯片、a/d转换器为核心设计了一个简易的电压测电压电路,在硬件方面,通过一个可变电阻调节输入电压的变化来反映所检测到的电压变化。此变化的电压通过adc0809的一个通道(ino)送入并进行a/d转换后的数字靓仔单片机at89c51中进行处理,在转换成相应的实际电压值,最后通过四位led数码管显示,精确到十分位,led采用的是动态扫描显示,使用74hc02p芯片进行驱动,软件方面采用汇编编程。使得整个系统完成一个简易的数字电压表的功能。mcs-51单片机的结构与工作原理(1) mcs-51单片机(此处以8051为例)芯片的基本组成如图2-1所示图2-1 8051芯片的内部组成框图现简要介绍图中各组成部分。1)中央处理器(cpu)。它是单片机的核心,包括运算器和控制器两个主要组成部分,用于实现运算和控制功能。运算器主要包括算术逻辑运算部件(alu)、位处理器、累加器a、寄存器b、缓存器tmp1和tmp2、程序状态字寄存器psw以及十进制调整电路等。其主要功能是实现数据的算术运算、逻辑运算、位操作及数据传送等。控制器主要由时钟和时序电路以及一些控制寄存器组成。其主要功能是协调整个单片机的工作,产生时序脉冲和提供控制信号等。2)数据存储器。mcs-51系列单片机芯片数据存储器共有128个存储单元,用于存放可读写的数据。为了与外部扩展的数据存储器相区别,通常称芯片内部的数据存储器为内部数据存储器,简称内部ram。3)程序存储器。8051芯片内部有4kb掩膜rom,8751芯片内部有4kb eprom,用来存放程序和原始数据。通常称之为内部程序存储器或内部rom。4)定时器/计数器。mcs-51共有两个16位的定时器/计数器,以实现定时和计数功能。5)并行i/o口。mcs-51共有四个8位的i/o口(即p0、p1、p2和p3),用以完成数据的并行输入/输出。6)串行i/o口。mcs-51有一个全双工串行口,以实现单片机和其他计算机或设备之间的串行数据传送。7)中断控制系统。mcs-51共有5个中断源,分高和低两个优先级别。 (2)mcs-51的信号引脚mcs-51是标准的40引脚双列直插式集成电路,其引脚排列如图2-2所示。图2-2 mcs-51引脚图1)主电源引脚vss-(20脚):地线vcc-(40脚):+5v电源2)外接晶振或外部振荡器引脚xtal1-(19脚):当采用芯片内部时钟信号时,接外部晶振的一个引脚;当采用外部时钟信号时,此脚应接地。xtal1-(18脚):当采用芯片内部时钟信号时,接外部晶振的一个引脚;当采用外部时钟信号时,外部信号由此脚输入。3)控制、选通或电源复用引脚rst/vp0-(9脚):复位信号输入;vcc掉电后,此脚可接上备用电源,在低功耗条件下保持内部ram中的数据。ale/prog-(30脚):ale即允许地址锁存信号输出,当单片机访问外部存储器时该脚的输出信号用于锁存p0的低8位地址,其输出的频率为时钟振荡频率的1/6。prog为编程脉冲输入端,当选用8751单片机时,由此脚输入编程脉冲。psen-(29脚):访问外部程序存储器选通信号,低电平有效,用于实现外部程序存储器的读操作。/vpp-(31脚):ea为访问内部或外部程序存储器选择信号,ea=0,单片机只访问外部程序存储器,故对8031此脚只能接地;ea1,单片机访问内部程序存储器,固对8051和8751此脚应接高电平,但若程序指针pc值超过4kb(offfh)范围,单片机将自动访问外部程序存储器。4)多功能i/o引脚p0口-(3239脚):p0数据/地址复用总线端口。p1口-(18脚):p1静态通用端口。p2口-(2128脚):p2动态端口。p3口-(1017脚):p3双功能静态端口。除作i/o端口外,它还提供特殊的第二功能,其具体含义为:p3.0-(10脚)rxd:串行数据接收端。p3.1-(11脚)txd:串行数据发送端。p3.2-(12脚)int0:外部中断0请求端,低电平有效。p3.3-(13脚)int1:外部中断1请求端,低电平有效。p3.4-(14脚)t0:定时器/计数器0计数输入端。p3.5-(15脚)t1:定时器/计数器1计数输入端。p3.6-(16脚)wr:外部数据存储器写选通,低电平有效。p3.7-(17脚)rd:外部数据存储器读选通,低电平有效。2.2 a/d转换器 (1)模数转换器即a/d转换器如图2-3所示,或简称adc,通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。 模数转换器最重要的参数是转换的精度,通常用输出的数字信号的位数的多少表示。转换器能够准确输出的数字信号的位数越多,表示转换器能够分辨输入信号的能力越强,转换器的性能也就越好。 a/d转换一般要经过采样、保持、量化及编码4个过程。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中是同时实现的。 一般来说,ad比da贵,尤其是高速的ad,因为在某些特殊场合,如导弹的摄像头部分要求有高速的转换能力。一般那样ad要上千美元。还有通过ad的并联可以提高ad的转换效率,多个ad同时处理数据,能满足处理器的数字信号需求了。图2-3 a/d转换器(2)模数转换过程包括量化和编码。量化是将模拟信号量程分成许多离散量级,并确定输入信号所属的量级。编码是对每一量级分配唯一的数字码,并确定与输入信号相对应的代码。最普通的码制是二进制,它有2n个量级(n为位数),可依次逐个编号。模数转换的方法很多,从转换原理来分可分为直接法和间接法两大类。 直接法是直接将电压转换成数字量。它用数模网络输出的一套基准电压,从高位起逐位与被测电压反复比较,直到二者达到或接近平衡(见图)。控制逻辑能实现对分搜索的控制,其比较方法如同天平称重。先使二进位制数的最高位dn-11,经数模转换后得到一个整个量程一半的模拟电压vs,与输入电压vin相比较,若vinvs,则保留这一位;若vinvs还是vin1:给ale和start上升沿 ;锁存输入通道地址、内部寄存器清零nop ;空操作nop setb p2.6 ;10;置下降沿0809开始a/d转换nop nopnopclr p2.6 ;恢复低电平,为直地次动作作准备jnb p2.0,$ ;检测转换结束(eoc)信号,为“0”时,等待setb p2.7 ;置0809输出允许nopnopmov a,p0 ;从p0口读a/d转换后的数据(二进制)lcall smxs ;送显示lcall delay ;延时sjmp loop ;循环执行(2)四位显示子程序:程序名称:amxs.程序功能:p1、p3口各接一个8段led数码管(共阴).入口参数:a=显示数据(2位十六进制).出口参数:无占用资源:累加器a、dptr、p1、p3、堆栈3字节。使用字符:smxs、tab.smxs:push acc ;压栈,保存要显示的数据anl a,#0f0h ;取高4位swap amov dptr,#tabmovc a,a+dptr ;取显示段码mov p1,a ;送p1口显示pop acc ;取出保存的数据anl a,#0fh ;屏蔽高4位movc a,a+dptr ;限显示段码mov p3,a ;送p3口显示ret(3)延时子程序:程序名称:delay。程序功能:利用执行指令的时间产生延时,软件延时。入口参数:无。出口参数:无。占用资源:r7、r6.使用字符:delay、del0、del1.延时时间:1+(+2564+2)256+2=262915(s) 260(ms) delay:mov r7,#00h ;执行时间1s del1:mov r6,#00h ;执行时间1sdel0:nop ;执行时间1s nop ;执行时间1sdjnz r6,del0 ;执行时间2s,256次循环 djnz r7,del1 ;执行时间2s,256次循环 ret ;执行时间2stab:db 0c0h,0f9h,0a4h,0b0h ;0,1,2,3显示段码 db 99h,92h,82h,0f8h ;8,9,a,b显示段码db 0c6h,0a1h,86h,8eh ;4,5,6,7显示段码 db 80h,90h,88h,83h ;c,d,e,f显示段码end4 调试与性能分析4.1加入仿真辅助信号05v电压测试仪的仿真实现操作步骤如下。进入proteus isis集成环境。加入仿真辅助信号,单击左键,单击工具栏的某图标,选择dclock,在绘图区单击,然后输入名称“clock”,设定时钟频率500khz,通常adc0808的工作频率为599khz。设置完成单击“ok”. 将设定的时钟信号接在adc0808的时钟输入端clock上,为asc0808仿真时提供工作时钟。 为了能够更好地观察模拟的电压量与数字量之间的关系,选择数字直流电压表放在电阻的两端,观察7号通道的输入量的值。选择工具栏中的某图标,选择“dc voltmeter”(数字电压表),加入到绘图区。连线并加上需要的说明,完成a/d转换仿真电路。 仔细观察会发现,仿真所画的电路原理图与前面描述的05v电压测试仪的项目电路有区别,这是由于仿真的adc0808器件要求所致。原项目中描述的电路原理图采用i/o端口控制的方式,其相应程序在实际应用中调试通过。 adc0808的仿真器件要求严格的控制信号,即ale的上升沿,读入要转换的通道号,在stsrt的上升沿adc0808内部清零,在stsrt的下降沿启动a/d转换,oe为高电平时输出转换好数字信号。 这时采用总线方式控制,利用movx指令产生/rd,/wr信号产生信号的上升沿和下降沿。据此源程序也有所修改。4.2加载程序加载程序。加载到单片机中的程序,由于硬件电路的不同,程序有所修改,修改后的源程序如下:org 0000hloop:mov dptr,#7fffh movx dptr,a mov r7,#100 djnz r7,$movx a,dptr lcall smxs sjmp loop smxs:mov b,apush acc anl a,#0f0h swap amov dptr,#tabmovc a,a+dptr mov p1,a pop acc anl a,#0fh movc a,a+dptr mov p2,a mov a,brettab:db 0c0h,0f9h,0a4h,0b0h db 99h,92h,82h,0f8h db 80h,90h,88h,83h db 0c6h,0a1h,86h,8eh end 首先要校对零点,将a/d转换器的模拟输入端口接地,让电压为0v,此时可以调整rv1的值,直至,直至显示电压为0v时为止,校准零点之后,就可以进行调试了.(1)单击仿真键,观察仿真结果,调节可调用电阻rv1,观察电压表及显示值。(1)设adc0808的clock频率不给会产生怎样显示。(2)设不用ale信号又会产生什么效果。(3)如果不给start信号会怎样呢。(4)现在转换好的数字量采用的是定时传送方式,若改为查询方式如何实现。(5)现在转换好的数字量采用的是定时传送方式,若改为中断方式如何又实现。当 dc voltmeter 所测量到的电压值为0.25时,led数码管显示出0.1,则为其转换运行后的结果。表4-1

温馨提示

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

评论

0/150

提交评论