基于单片机的数字电压表_第1页
基于单片机的数字电压表_第2页
基于单片机的数字电压表_第3页
基于单片机的数字电压表_第4页
基于单片机的数字电压表_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 本科学生设计性实验报告 项目组长付江杰 学号 0093540 成 员 刘小宝0093522廖为国 0093512 专 业 电子信息工程 班级 09电信 实验项目名称基于单片机的数字电压表 指导教师及职称 朱华贵 (副教授) 开课学期 2011 至2012 学年一 学期 上课时间 2011 年 12 月 20 日摘 要本文介绍基于AT89C51单片机的一种电压测量电路,介绍了双积分电路的原理,AT89C51的特点, ADC0809的功能和应用,LCD1601的功能和应用。该电路设计新颖、功能强大、双积分A/D转换电路,测量范围直流0-±20伏,使用LCD液晶模块显示,可以与

2、PC机进行串行通信。正文着重给出了软硬件系统的各部分电扩展强目录前言1第1章 概述21.1 数字电压表的发展前景.2第2章 硬件电路设计32.1 单片机控制模块设计32.2 逐次逼近式A/D转换模块设计32.3 LCD显示模块62.4 键盘控制模块:8第3章 系统软件设计93.1 系统的软件设计93.2 软件调试103.3 硬件调试设计小结10附件一 电路原理图11附件二 部分参考程序12附录三 硬件实物图14前 言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功

3、能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。数字电压表与模拟电压表相比,具有读数直观、准确,显示范围宽、分辨力高,输入阻抗大,集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。数字电压表也是诸多数字化仪表的核心与基础。以数字电压表为核心扩展成的各种数字化仪表几乎覆盖了电子电工测量、工业测量、自动化系统等各个领域。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,

4、由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本文重点介绍通讯模块,单片机和A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。第1章 概述1.1 数字电压表的发展前景.数字电压表作为数字技术的成功应用,发展相当快。数字电压表(Digital VoIt Me-ter,DVM),以其功能齐全、精度高、灵敏度高、显示直观等突出优点深受用户欢迎。特别是以AD转换器为代表的集成电路为支柱,使DVM向着多功能化、小型化、智能化方向发展。DVM应用单片机控制,组成智能仪表;与计算机接口,组成自动测试系统。现代数字电压表按测量功能可分为直流数字电压表和交流

5、数字电压表。数字电压表一般由模拟部分和数字部分组成,模拟部分主要功能是获取电压并将其转换为相应的数字量,数字部分完成逻辑控制、译码和显示等功能。数字电压表的核心是A/D转换器,由A/D转换器工作原理的不同,数字电压表又可分为逐次比较型和双积分型。传统模拟式电压表具有电路简单、成本低、测量方便等特点,但测量精度较差,特别是受表头精度的限制,即使采用0.5级的高灵敏度表头,读测时的分辨力也只能达到半格。再者,模拟式电压表的输入阻抗不高,测高内阻源时精度明显下降。本设计为克服以上缺点选用ICL7135芯片实现双积分A/D转换,提高精度,它是一种四位半的双计分A/D转换器,具有精度高(精度相当于14位

6、二进制数)、价格低廉、抗干扰能力强等优点。本设计介绍用单片机并行方式采集ICL7135的数据以实现单片机电压表和小型智能仪表的设计方案。在当今的数字时代,从大到空间雷达,地球卫星定位系统,移动通信,计算机,医用断层扫描设备,小到家用计算机,数码影像设备,数字录音笔,数码微波炉等设备中,数字技术与数字电路组成的数字系统已经成为这些现代电子系统的重要组成部分。数字电压表正进入一个蓬勃发展的新时期,一方面它开拓了电子测量领域的先河,另一方面它本身正朝着高准确度、智能化、低成本的方向发展。此外,数字电压表在安装工艺、外观设计、安全性、可靠性等方面也在不断改进,日臻完善。第2章 硬件电路设计2.1 单片

7、机控制模块设计单片机控制模块设计单片机控制模块的作用是为控制各单元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组成。 图1 系统时钟电路 图2 系统复位电路2.2 逐次逼近式A/D转换模块设计数字电压表最终显示结果是数字信号,但输入时却是模拟量,故而需要转电路使模拟量转换成数字量。本设计采用A/D转换器实现此过程,主要芯片是AD0809。A/D转换器(ADC)的作用是把模拟量转换成数字量,以便于计算机进行处理。随着超大规模集成电路技术的飞跃发展,现在有很多类型的A/D转换器芯片,不同的芯片内部结构不一样,转换原理也不仅相同,各种转换芯片根据转换原理可分为:计数型A/D转换

8、器,逐次逼近型A/D转换器,双重积分型A/D转换器,和并行式A/D转换器等,按转换方法可分为直接A/D转换器和间接A/D转换器;按其分辨率分为4-16位转换器。逐次逼近型A/D转换器属于直接型A/D转换器,它能把输入的模拟电压直接转换为输出的数字代码,而不需要经过中间变量。主要由比较器、环形分配器、控制门、寄存器与D/A转换器组成。 ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构    由下图可知,ADC0809由

9、一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。图3 ADC0809的内部结构 (2)ADC0809引脚结构ADC0809各脚功能如下:D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种

10、信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。图4 ADC0809硬件以及引脚图    ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4条    ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译

11、码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表1所示。CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表1通道选择表数字量输出及控制线11条,ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数

12、据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(),VREF()为参考电压输入。2.3 LCD显示模块LCD显示器分为字段显示和字符显示两种。其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示

13、模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个汉字。如图4所示。VSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A KLCD 模 块1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16图5 LCD1602模块1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)

14、接口,各引脚接口说明如表2所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表2:引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/

15、W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表3所示:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制

16、0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容表3液晶模块内部的控制器控制指令2.4 键盘控制模块通过键盘切换,实现对直流信号和交流信号电压值的测量,并把电压值实时显示在LCD显示屏上。对直流信号电压值,测量误差小于1%;对交流信号电压值,测量误差小于2%。可通过键盘切换实现多级量程的直流电压测量,其范围是200Mv、2V、20

17、V。可通过键盘切换实现多级量程的交流电压测量,其范围是200Mv、2V、20V。键盘模块如图5所示。图6键盘接口电路仿真图第3章 系统软件设计多路液晶显示数字电压表系统软件程序由主程序,A/D转换子程序和显示子程序等组成。3.1 主程序设计根据需要,可将系统软件按照功能划分为4个模块,分别是主程序模块、A/D转换模块、液晶显示模块、键盘程序程序模块,各模块的功能关系如图6所示。编写系统软件时,可首先编写各模块的底层驱动程序,而后是系统联机调试,编写上层主程序。系统主程序液晶管显示A/D转换键盘程序.45 图7 系统软件框图3.2 软件调试软件调试可以先编写显示程序并进行硬件的正确性检验,然后分

18、别进行主程序、A/D转换子程序、液晶显示子程序、键盘控制子程序的编译和调试,由于液晶显示有交流电压的一部分,故液晶显示必须有时时刷新的功能,这样电路才可以实现正常功能。 3.3硬件调试硬件调试相对较为简单,首先用万用表检查硬件电路的焊接是否正确,是否有短路、断路、虚焊等。在检查无误后,可通电检测LCD显示器显示状况。如果不理想,继续调整程序,直到得到正确结果。设计小结电压测量通过不同的接口电路可实现温度、湿度、压力等测量,广泛应用于工业领域。本电路设计别具一格,是一种高精度、低功耗、宽量程、智能化的电压表。可扩展键盘、EEPROM、报警电路,实现电压异常记录、报警。我们小组通过完成一个包括电路

19、设计和程序开发的完整过程,了解了开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。由于水平有限,我们认为系统还有需要改进的地方。今后的学习中还需要继续努力,深入的学习和思考问题。本次实验我们采用C语言编程实现,程序分为三个模块,通过主函数进行调用,简单可读写性强。实验是团体配合的工作,团体各成员取长补短,优势互补,最终圆满的完成了此次实验,下面是三位同学各主要负责部分。付江杰:此次实验,我主要参与设计了LCD上电压值的刷新显示程序和键盘接口电路。当输入新的电压值时,在LCD上需要同步更新显示,通过三个函数来实现此功能。键盘接口电路主要是实现切换量程的功能,由CPU读取键

20、盘值,然后调用刷新显示函数,切换到对应的量程,编写了实验报告。刘小宝:在此次实验中我设计了A/D转换电路,编写部分程序,调试电路。A/D转换是将连续变化的模拟量转化成数字量,我们用芯片ADC0808来实现转换功能。在开始的过程中,模拟电压输入,转换成数字电压,编写函数输入到P1端口,从P0口输出,编写了实验报告。廖为国:在这次实验中我参与了设计硬件电路以及部分软件的编程,设计了交流电压变为直流电压,交流电压不便于直接测量,通过整流桥进行整流变成直流,然后用电容进行滤波。焊接电路,一同调试电路,编写了实验报告。附件一 电路原理图附件二 部分参考程序Main.c主程序A/D转换程序#include

21、<reg52.h>#include <intrins.h>unsigned long dat_adc0808; uint adc0808_init() START=0; OE=0; START=1; START=0; while(EOC=0); OE=1; dat_adc0808=P1; OE=0; return dat_adc0808; void Refresh_show() /刷新显示 uint t=dat_adc0808*500.0/255; display_buffer17 = t/100+'0' display_buffer19 = t/10%10+'0' display_buffer110 = t%10+'0'液晶显示程序 /-LCD

温馨提示

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

评论

0/150

提交评论