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

下载本文档

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

文档简介

1、茨西理2号名电子制作课程考核报告课程名称 简易数字直流电压表的设计学生姓名 贾晋学号 1313014041所在院(系)物理与电信工程专业班级电子信息工程1302指导教师秦伟完成地点完proteus2015年 6月 13日简易数字直流电压表的设计简易数字直流电压表的设计摘要 本文介绍一种基于at89c51单片机的简易数字电压表的设计。该设计主要 由三个模块组成:a/d转换模块,数据处理模块及显示模块。a/d转换芯片为 adc0808,它主要负责把采集到的模拟量转换为数字量再传送到数据处理模块。数 据处理则是由芯片at89c51来完成,主要负责把adc0808传送来的数字量经过一 定的数据处理,产

2、生相应的显示码送到显示模块进行显示;并且,它还控制着 adc0808芯片工作。该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可 靠性较高。此数字电压表可以测量0-200v的模拟直流输入电压值,并通过数码管 显示。关键词 单片机;数字电压表;at89c51; adc0808目录1引言2总体设计方案2.1 设计要求2.2 设计思路2.3 设计方案3详细设计3.1 a/d转换模块3.2 单片机系统3.3 时钟电路3.4 led显示系统设计3.5 总体电路设计4程序设计4.1 程序设计总方案4.2 系统子程序设计5仿真5.1 软件调试5.2 显示结果及误差分析结论参考文献附录简易数字

3、直流电压表的设il1引言数字电压表简称dvm,它是采用数字化测量技术,把连续的模拟量转换成不连 续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度 高、误差小、测量速度快等特而得到广泛应用卬。最近的几十年来,随着半导体技术、集成电路(ic)和微处理器技术的发展, 数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展, 并不断出现新的类型。数字电压表从1952年问世以来,经历了不断改进的过程, 从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(ic化),另 一方面,精度也从0. 01%-0. 005%。目前,数字电压表的内部核心部件是a/d转

4、换器,转换的精度很大程度上影响 着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这 两个方面。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块: 转换模块、数据处理模块及显示模块。其中,a/d转换采用adc0804对输入的模拟 信号进行转换,控制核心at89c51再对转换的结果进行运算处理,最后驱动输出装 置lcd显示数字电压信号【关键词】数字电压表;单片机;at89c51: adc08082设计总体方案2.1 设计要求以at89c51单片机为核心器件,组成一个简单的直流数字电压表。采用1路模拟量输入,能够测量0-200v之间的直流电压值。电压显示用7s

5、eg-mpx4-cc-blue,至少能够显示一位小数。2.2 设计思路根据设计要求,选择at89c51单片机为核心控制器件。a/d转换采用adc0808实现,与单片机的接口为p1 口和p2 口的高四位引脚。电压显示采用7seg-mpx4-cc-blue数码管显示。led数码的段码输入,由并行端口 p0产生:位码输入,用并行端口 p2低四位产 生。2.3 设计方案硬件电路设计由6个部分组成;a/d转换电路,at89c51单片机系统,led显示 系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。图1数字电压表系统硬件设计框图简易数字直流电压表的设计3硬件电路设计3.1 a/

6、d转换模块现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换 器(a/d转换器),a/d转换器是单片机数据采集系统的关键接口电路,按照各种a/d 芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式a/d转换器具有抗 干扰能力强、转换精度高、价格便宜等优点。与双积分相比,逐次逼近式a/d转换 的转换速度更快,而且精度更高,比如adc0809、adc0808等,它们通常具有8路模 拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到 单片机进行分析和显示。一个n位的逐次逼近型a/d转换器只需要比较n次,转换 时间只取决于位数和时钟周期,逐次逼近型a/d

7、转换器转换速度快,因而在实际中 广泛使用。3.1.1 逐次逼近型a/d转换器原理逐次逼近型a/d转换器是由一个比较器、a/d转换器、存储器及控制电路组成。 它利用内部的寄存器从高位到低位一次开始逐位试探比较。转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入a/d转换器转 换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保 留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上 述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量。 其原理框图如图2所示:图2逐次追近式a/d转换器原理图3.1.2 adc0808主要

8、特性adc0808是cmos单片型逐次逼近式a/d转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5v愉入模拟电压信号分时进行转换,由 于adc0808设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微 控制器输入通道的接口电路,智能仪器和机床控制等领域。adc0808主要特性:8路8位a/d转换器,即分辨率8位;具有锁存控制的8路模拟开关;易 与各种微控制器接口:可锁存三态输出,输出与ttl兼容;转换时间:128us:转换精度:0.2%; 单个+5v电源供电:模拟输入电压范围0-+5v,无需外部零点和满度调整;低功耗,约15mw

9、dak秋野地址做存startclockiniadc0808的内部结构in5 第6 in7adda八路模m升美寄存得三宓帖出修存豁eoc3.2 单片机系统3.2.1 at89c51 性能at89c51是美国atmel公司生产的低电压,高性能cm0s8位单片机,片内含有 4kb的可反复擦写的只读程序存储器和128字节的随机存储器。该器件采用atmel 高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼 容,由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是 一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。at89c51

10、功能性能:与mcs-51成品指令系统完全兼容;4kb可编程闪速存储器; 寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24mhz;三级程序 存储器锁定;128*8b内部ram; 32个可编程i/o 口线;2个16位定时/计数器;5 个中断源;可编程串行uart通道;片内震荡器和掉电模式。3.2.2 at89c51各引脚功能at89c51提供以下标准功能:4kb的flash闪速存储器,128b内部ram, 32个 i/o 线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通 信口,片内震荡器及时钟电路,同时., at89c51可降至0hz静态逻辑操作,并支持

11、两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数 器,串行通信口及中断系统继续工作,掉电方式保存ram中的内容,但震荡器停止 工作并禁止其他所有工作直到下一个硬件复位。at89c51采用pdip封装形式,引脚 配置如图5所示。p1.oc p1.1 匚p12c p13匚 p1.4 匚(mosi) p15c (miso) p1.6 c(sck) p1.7c rstc(rxd)p3.0c (txd) p3.1 匚 (into) p32 匚 (inti) p33 c(to) p3.4 c (t1) p35 c(wr) p3.6 c(rd) p3.7 cxtal2c xta

12、l1 匚gndc12345678910111213141516171819204039383736笛348323130292827262524232221 vcc po.o (ado) po.1 (adi) po2(ad2) po(ad3) po.4 (ad4) pos(ads) po.6(ad6) po.7 (ad7) eaa/pp ale/prog psen p2.7 (a15) p2.6(a14) p25(a13) p2.4 (a12) p23(a11) p22(a1o) p2.1 (a9) p2.0(a8)图4 at89c51的引脚图at89c51芯片的各引脚功能为:p0 ci:这组引

13、脚共有8条,p0.0为最低位。这8个引脚有两种不同的功能,分 别适用于不同的情况,第一种情况是89c51不带外存储器,p0 口可以为通用i/o 口 使用,p0.0-p0.7用于传送cpu的输入/输出数据,这时输出数据可以得到锁存,不 需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;笫二种 情况是89c51带片外存储器,p0. 0-p0. 7在cpu访问片外存储器时先传送片外存储 器的低8位地址,然后传送cpu对片外存储器的读/写数据。p0 口为开漏输出,在 作为通用i/o使用时.,需要在外部用电阻上拉。pl n:这8个引脚和p0 口的8个引脚类似,p1. 7为最高位,pl0为

14、最低位, 当p1 作为通用i/o 使用时,p1.0-p1.7的功能和p0 口的第一功能相同,也用 于传送用户的输入和输出数据。p2 :这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用 i/o 使用,它的第一功能和p0 口引脚的第二功能相配合,用于输出片外存储器的 高8位地址,共同选中片外存储器单元,但并不是像p0 口那样传送存储器的读/写 简易数字直流电压表的设计数据。p3 1=1:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制 功能,每个引脚并不完全相同,如下表2所示:表2 p3 各位的第二功能p3 口各位第二功能p3. 0rxt (串行口输入)p3. 1txd

15、 (串行口输出)p3. 2/into (外部中断0输入)p3. 3/int1 (外部中断1输入)p3. 4t0(定时器/计数器0的外部输入)p3. 5t1(定时器/计数器1的外部输入)p3. 6/wr (片外数据存储器写允许)p3. 7/rd (片外数据存储器读允许)vcc为+5v电源线,vss接地。ale:地址锁存允许线,配合p0 的第二功能使用,在访问外部存储器时,89c51 的cpu在po. 0-p0. 7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外 存储器时,89c51自动在ale线上输出频率为1/6震荡器频率的脉冲序列。该脉冲 序列可以作为外部时钟源或定时脉冲使用。/ea

16、:片外存储器访问选择线,可以控制89c51使用片内rom或使用片外rom, 若/ea=l则允许使用片内rom,若/ea=o,则只使用片外rom。/psen:片外rom的选通线,在访问片外rom时 89c51自动在/psen线上产生 一个负脉冲,作为片外rom芯片的读选通信号。rst:复位线,可以使89c51处于复位(即初始化)工作状态。通常89c51复位有 自动上电复位和人工按键复位两种。xtal1和xtal2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电 容,即用来连接89c51片内容c(震荡器)的定时反馈回路。3.3 时钟电路时钟电路设计adc0808在使用时,外闱电压的连接比较

17、简单,只需要对参考电压和时钟输入端进行设计 即可。通常情况下,时钟的输入可以选用rc谐振电路,adco8o8可以进行a/d转换的时钟频率为1001460khz,典型值为640khz,这里选用r=10k欧姆c=150pf的谐振电路,利用公 式1/(l1rc)计算后,此时的时钟频率约为606khz,与典型值十分接近。图5时钟电路3.4 led显示系统设计。一乐_p1. 口 ::_f 3_卜芋psp1.g 传:h ft吐三_ em ?,衽=*1ale adoc acdh accaeozstartclcxx8-w-ce图6 led与单片机接口间的设计电压值的显示:最常用到的二进制转换成bcd码的方法是

18、用除法。先用得到的16位二进制 数除以10000,得到的商就是模拟电压值的整数部分(模拟电压的输入为0-2v,所以整数部分只有1位),得到的余数是模拟电压值的小数部分:接下来用余数除以1000,商是十分位,余 数作为被除数再除以100,商为百分位,余数再除以10,商为千分位。这样就将16位的二进制 数转换成了 4位bcd码。最后在通过程序将小数点左移两位,扩大100倍。3.5总体电路设计经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原 理图如图11所示。图7简易数字电压表电路图简易数字直流电压表的设计4程序设计4.1 程序设计总方案根据模块的划分原则,将该程序划分初始化模块

19、,a/d转换子程序和显示子程 序,这三个程序模块构成了整个系统软件的主程序,如图12所示。初始化调用a/d转换子程序调用显示子程图8数字式直流电压表主程序框图4.2 系统子程序设计4.2.1 初始化程序所谓初始化,是对将要用到的mcs_51系列单片机内部部件或扩展芯片进行初始 工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开 中断和打开定时器等。4.2.2 a/d转换子程序a/d转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值 存入相应的内存单元,其转换流程图如图13所示。启动转换输出转换结果数值转换显示图9 a/d转换流程图4.2.3 显示子程序显示子

20、程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方 式时,要使得led显示的比较均匀,乂有足够的亮度,需要设置适当的扫描频率, 当扫描频率在70hz左右时,能够产生比较好的显示效果,一般可以采用间隔10ms 对led进行动态扫描一次,每一位led的显示时间为lmsc103o在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器。溢 出中断功能实现11 u s定时,通过软件延时程序来实现5ms的延时。5仿真5.1 软件调试软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有 些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。proteus软 件可

21、以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实 时采用诸如led/lcd,键盘、rs232终端等动态外设模型来对设计进行交互仿真。 proteus支持的微处理芯片包括8051系列、avr系列、pic系列、hc11系列及z80 等等。proteus可以完成单片机系统原理图电路绘制、pcb设计,更为显著点的特点 是可以与u visions3 ide工具软件结合进行编程仿真调试。本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是 proteus软件,而程序方面,采用的是c语言,用keil软件将程序写入单片机。5.2 显示结果及误差分析5.2.1 显示结果1.当i

22、n0 口输入电压值为0v时,显示结果如图14所示,测量误差为0v。简易数字直流电压表的设计朝二is :3 匚:hiim 10输入电压为0v时,led的显示结果2.当10输入电压值为87v时,显示结果如图15所示。测量误差为0. iv。3.当: c: . 3,s3 0 !j vm f %!2 -m f a:x j:j,14:aj2 14*sa ; 4imi4:*s 1 f 13 k*: , ue1-4tx不*s-!图11输入电压为86v时,led的显示结果ino 口输入电压值为156v时,显示结果如图16。测量误差为0.0v。rp-n!*sax-简易数字直流电压表的设il图12输入电压为156v

23、时,led的显示结果5.2.2 误差分析通过以上仿真测量结果可得到简易数字电压表与“标准”数字电压表对比测试 表,如下表4所示:表4简易数字电压表与“标准”数字电压表对比测试表标准电 压值/v简易电压表 测量值/v绝对误差 /v00.003635. 90. 18484. 00124124. 10. 1200200. 00由于单片机at89c51为8位处理器,当输入电压为5. 00v时,adc0808输出数 据值为255 (ffh),因此单片机最高的数值分辨率为0.0196v(5/255)。这就决定了 电压表的最高分辨率只能到0.0196v,因为量程扩大20倍,所以分辨率减小,从上 表可看到,测

24、试电压一般以0. iv的幅度变化。从上表可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0. iv, 这可以通过校正adc0808的基准电压来解决。因为该电压表设计时采用分压使2v 作为电压,所以电压可能有偏差。名吉论经过一段时间的努力,基于单片机的简易数字电压表基本完成。但设计中的不 足之处仍然存在。这次设计是我第一次设计电路,并用proteus实现了仿真。在这 过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了 proteus和keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的 划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。本文设

25、计主要 实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图 的仿真再到软件的调试。其中有苦也有乐。苦的是自己的知识太贫乏,到处找资料, 问同学;乐的是在付出过程中,我学到了许多的东西。在整个设计过程中,经常经常出现这样那样的问题,但是最后还是都得以解决, 这个过程是值得我回味的,尤其是当看到自己的设计课题成功时,心中有一种成就 感。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常 美好的回忆!通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理 论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结 论,才能真正为社会服务,从

26、而提高自己的实际动手能力和独立思考的能力。此次 课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随 机应变,都受益非浅,今后的课程设计应该更轻松,自己也都能扛的起并高质量的 完成项目。鉴与参考,在这次课程设计中我的程序和设计原理是网上查了些相关的资料, 这样提高了效率,才使我在规定的时间内顺利地完成了设计的任务。简易数字直流电压表的设il参考文献1郭吕超.a/d转换器设计数字电压表.武汉大学,20011,.2宋凤娟,孙军,李国忠.基于89c51单片机的数字电压表设计j.工业控制计算机,2007, (04).3adc0808工作原理其程序,百度文库,20124数码时钟电路的设计,/view/d511174aa8956bec0975e3f4.html 5at89c51中文资料,百度文库程序代码#include#include#define uchar unsignedchar#define uchar unsigned char#define uint unsigned int sbit start=p3-0;sbit oe二p3;sbit eoc=p32;sbit p07二p(t7;sbit clk=p3a4;uchar data led4;uint

温馨提示

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

评论

0/150

提交评论