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

下载本文档

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

文档简介

项目名称: 数字电压表设计 班 级: 电子201004班 姓 名: 黄洁 学 号: 201003041406 指导教师: 温锦辉 日 期: 2012年6月4日 摘要: 在电路设计中我们时常会用到电压表,过去大部分电压表还是模拟的,虽然精度较高但模拟电压表采用用指针式,里面是磁电或电磁式结构,所以响应较慢。为适应许多高速信号领域目前已广泛使用数字电压表。本设计是基at89c51单片机开发平台和自动控制原理的基础上实现的一种数字电压表系统。该系统采用at89c51单片机作为控制核心,以adc088为数据采样系统,实现被测电压的数据采样;使用系列比较器检测输入电压的范围,并通过继电器阵列实现了输入量程的自动转换;使用共阴极数码管显示被测电压。关键词: 单片机、电压检测、模数转换、 目 录第一章 设计要求及目的- 4 -1.1 实训要求- 4 -1.2 实训目的- 4 -1.3 实训意义- 4 -1.4 总体实训方案- 4 -第二章 硬件设计思想和原理图- 4 -2.1 原理及功能- 4 -2.2 系统总体设计框图- 5 -2.3单片机引脚特性及性能- 5 -2.3 单片机系统- 7 -2.4 adc0809引脚图及功能- 8 -2.5 adc0808的内部结构及工作流程- 10 -2.5 ad转换电路- 11 -第三章 软件设计与流程- 11 -3.1 程序流图- 11 -3.2 功能介绍- 12 -第四章 软件仿真及测试数据- 12 -4.1 仿真结果- 12 -总结- 14 -致谢- 14 -参考文献:- 15 - 第一章 设计要求及目的1.1 实训要求 基本要求:(1)以51单片机为设计核心,组成一个简易的数字电压表(2)测量电压范围0-5v(3)电压用四位数码管显示,能够显示三位小数(4)尽量使用较少的元件1.2 实训目的(1) 进一步熟悉和掌握单片机的结构和工作原理;(2) 掌握单片机的借口技术及,adc0808芯片的特性,控制方法;(3) 通过这次实训设计,掌握以单片机为核心的电路设计的基本方法和技术;(4) 通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。1.3 实训意义 通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。1.4 总体实训方案 测量一个05v的直流电压,通过输入电路把信号送给ad0808,转换为数字信号再送至at89c51单片机,通过其p1口经数码管显示出测量值。第二章 硬件设计思想和原理图2.1 原理及功能8路数字电压表主要利用a/d转换器,其过程为如下:先用a/d转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成比例关系运算得到相应的模拟电压值,然后把模拟值通过数码管显示出来。设计时假设待测的输入电压为8路,电压值的范围为05v,要求能在4位led数码上轮流显示或单路显示。测量的最小分辨率为0.019v。根据系统的功能要求,控制系统采用at89s51单片机,a/d转换器。当输入电压为5v时,输出的数据值为255(0ffh),因此最大分辨率为0.0196v(5/255)。adc0808具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。led数码管显示采用软件译码动态显示。通过按键选择可8路循环显示,也可以单路循环。单路显示可通过按键选择所要显示的通道数。2.2 系统总体设计框图 本系统采样atmel89c51单片机作为控制核心,以adc0808为数据采样系统,实现被测电压的数据采样;使用系列比较器检测输入电压的范围,用共阴极数码管显示结果。 显示电路 输入电压 51单片机 极性检测 ad转换 电压检测 图1电压表硬件设计2.3 单片机引脚特性及性能at89c51是美国atmel公司生产的低电压,高性能cmos8位单片机,片内含有4kb的可反复擦写的只读程序存储器和128字节的随机存储器。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容,由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 at89c51功能性能:与mcs-51成品指令系统完全兼容;4kb可编程闪速存储器;寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24mhz;三级程序存储器锁定;128*8b内部ram;32个可编程i/o口线;2个16位定时/计数器;5个中断源;可编程串行uart通道;片内震荡器和掉电模式6。 at89c51提供以下标准功能:4kb的flash闪速存储器,128b内部ram,32个i/o口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,at89c51可降至0hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存ram中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。at89c51采用pdip封装形式,引脚配置如图2所示。图2 at89c51的引脚图at89c51芯片的各引脚功能为:p0口:这组引脚共有8条,p0.0为最低位。这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89c51不带外存储器,p0口可以为通用i/o口使用,p0.0-p0.7用于传送cpu的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89c51带片外存储器,p0.0-p0.7在cpu访问片外存储器时先传送片外存储器的低8位地址,然后传送cpu对片外存储器的读/写数据。p0口为开漏输出,在作为通用i/o使用时,需要在外部用电阻上拉。p1口:这8个引脚和p0口的8个引脚类似,p1.7为最高位,p1.0为最低位,当p1口作为通用i/o口使用时,p1.0-p1.7的功能和p0口的第一功能相同,也用于传送用户的输入和输出数据。p2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用i/o口使用,它的第一功能和p0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像p0口那样传送存储器的读/写数据。p3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表1所示:p3口各位第二功能p3.0 rxt(串行口输入)p3.1 txd(串行口输出)p3.2/int0(外部中断0输入)p3.3/int1(外部中断1输入)p3.4t0(定时器/计数器0的外部输入)p3.5t1(定时器/计数器1的外部输入)p3.6/wr(片外数据存储器写允许) p3.7/rd(片外数据存储器读允许)表1 p3口各位的第二功能vcc为+5v电源线,vss接地。ale:地址锁存允许线,配合p0口的第二功能使用,在访问外部存储器时,89c51的cpu在p0.0-p0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89c51自动在ale线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/ea:片外存储器访问选择线,可以控制89c51使用片内rom或使用片外rom,若/ea=1,则允许使用片内rom, 若/ea=0,则只使用片外rom。/psen:片外rom的选通线,在访问片外rom时,89c51自动在/psen线上产生一个负脉冲,作为片外rom芯片的读选通信号。rst:复位线,可以使89c51处于复位(即初始化)工作状态。通常89c51复位有自动上电复位和人工按键复位两种。xtal1和xtal2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89c51片内osc(震荡器)的定时反馈回路。2.3 单片机系统单片机最小系统包括复位电路,晶振电路,电源电路,仿真时需搭建复位电路和晶振电路。单片机在启动运行时都需要复位,使cpu和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。mcs-51单片机有一个复位引脚rst,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位1。复位完成后,如果rst端继续保持高电平,mcs-51就一直处于复位状态,只要rst恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图3是51系列单片机统常用的上电复位和手动复位组合电路,只要vcc上升时间不超过1ms,它们都能很好的工作。 图3 复位电路 单片机最小系统如下所示,其中p1口用于驱动数码管,p0口用于接收adc0808转换的数据。p2口用于控制adc0808。单片机中cpu每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。cpu执行一条指令的各个微操作所对应时间顺序称为单片机的时序。mcs-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,xtal1为该放大器的输入端,xtal2为该放大器输出端,但形成时钟电路还需附加其他电路1。 本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2个电容即可,如图4所示。图4 时钟电路电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器c1和c2对震荡频率有微调作用,通常的取值范围是3010pf,在这个系统中选择了33pf;石英晶振选择范围最高可选24mhz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12mhz,因而时钟信号的震荡频率为12mhz。 单片机最小系统: 图5 单片机最小系统2.4 adc0809引脚图及功能图6 adc0808引脚图内部结构adc0808是cmos单片型逐次逼近式a/d转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型a/d转换器。adc0808各个管教功能:15和2628(in0in7):8路模拟量输入端。 8、14、15和1721:8位数字量输出端。 22(ale):地址锁存允许信号,输入,高电平有效。 6(start): a/d转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动a/d转换)。 7(eoc): a/d转换结束信号,输出,当a/d转换结束时,此端输出一个高电平(转换期间一直为低电平)。 9(oe):数据输出允许信号,输入,高电平有效。当a/d转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 10(clk):时钟脉冲输入端。要求时钟频率不高于640khz。 12(vref(+)和16(vref(-):参考电压输入端 11(vcc):主电源输入端。 13(gnd):地。 2325(adda、addb、addc):3位地址输入线,用于选通8路模拟输入中的一路 表 2 adc0808模拟通道选择2.5 adc0808的内部结构及工作流程adc0808由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型a/d转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图4所示。图7 adc0808的内部结构其中:(1)8路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比较器进行比较。(2)地址锁存与译码器用于当ale信号有效时,锁存从adda、addb、addc 3根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择当前模拟通道。(3)比较器,8位开关树型a/d转换器,逐次逼近型寄存器,定时和控制电路组成8位a/d转换器,当start信号有效时,就开始对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送出转换结束信号。(4)三态输出锁存器保存当前模拟通道转换得到的数字量,当oe信号有效时,把转换的结果送出。adc0808的工作流程为:(1)输入3位地址,并使ale=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道中选通1路模拟量送给比较器。(2)送start一高脉冲,start的上升沿使逐次寄存器复位,下降沿启动a/d转换,并使eoc信号为低电平。(3)当转换结束时,转换的结果送入到输出三态锁存器中,并使eoc信号回到高电平,通知cpu已转换结束。(4)当cpu执行一读数据指令时,使oe为高电平,则从输出端d0-d7读出数据。2.5 ad转换电路利用adc0808作为ad数据采样器件, adc0808是cmos单片型逐次逼近式ad转换器它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型da转换器、逐次逼近。adc0808的工作过程是:首先输入3位地址,并使ale=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。start上升沿将逐次逼近寄存器复位。下降沿启动 ad转换,之后eoc输出信号变低,指示转换正在进行。直到ad转换完成,eoc变为高电平,指示ad转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当oe输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 第三章 软件设计与流程3.1 程序流图软件部分采用模块化程序设计的方法,由单片机控制主程序、a/d转换子程序、电压检测及继电器控制程序、液晶显示组成。系统软件设计是在keilc编译环境下进行的,由于c语言程序可移植性好,所以提高了编程的效率。 图8模拟转换程序的流程图3.2 功能介绍p0首先接收数据,据此控制pc6,pc7实现电压转换,保证正电压输出。pb0,pb1,pb2,pb3,pa6的输入值通过pa1,pa2,pa3,pa4,pa5控制继电器1,2,3,4,5实现电压增减并输入a/d转换器max187进行测量。最后输入pb4,pb6,pb7并由输入数码管显示。 第四章 软件仿真及测试数据4.1 仿真结果将写好的程序下载到仿真软件中的单片机中,点击运行,观察数码管显示数值与图中输入电压进行比较。理解其误差有多大。由于仿真软件缺少相应器材,故而未能进行彻底仿真。总体电路图如图9所示: 图9 总结本次项目基于单片机at89c51采用8位逐次逼近式a/d转换器adc0809设计的电压检测装置。用单片机进行数据控制、处理,送到显示器显示

温馨提示

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

评论

0/150

提交评论