设为首页收藏本站优领域

优领域

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
优领域 优领域 电子领域 技术文库 开发工具 查看内容

基于Proteus 的LCD 数字电压表的设计与仿真

2014-12-31 10:12| 发布者: dzly| 查看: 567| 评论: 0|原作者: 张玲丽

摘要: 本文中数字电压表的控制系统采用AT89C51 单片机,A/D 转换器采用ADC0809 为主要硬件,实现数字电压表的硬件电 路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化。还可以方便地进行8 路A / D 转换量的测量,远程测量结果传送等功能。数字电压表可以测量0 ~ 5V 的8 路输入电压值,并在LCD 液晶显示屏上显示出来。
  一、总体框图
  设计电压表的总体框图如图1 所示。被测电压经A/D 转
  换器转换由模拟值变为数字值,在单片机的逻辑控制下输出到液晶屏上显示出来。

  图1 电压表总体框图
  二、电压表硬件设计
  本设计要实现基于单片机的LCD 电压表,计划以51单片机为核心,以ADC0809为A/D 转换器,实现模拟电压的数字化测量及显示。输入电压为直流电压,设计电压表的显示位数为3½ 位,工作电压为5V,最大测量值为5V,测量速率约为2.5 次/ 秒,准确度±0.1%,分辨率0.05%,显示
  容量16×2 个字符。
  采用ADC0809作为A/D 转换器,AT89S51单片机作为控制部分,把测得的模拟电压值经A/D 转换后显示在液晶显示屏上。设计中用ADC0809进行8 路数据的采样。
  该电压表可测量0 ~ 5V 直流电压,通过电位器调节产
  生,显示位数3½ 位,工作电压5V。A/D 转换器将采集到的电压值进行A/D 转换后,输出到AT89S51的P2 口,再由
  AT89S51的P3 口将电压值送入液晶显示器显示出来。
  三、A/D 转换模块程序设计
  ADC0809START 端为A/D 转换启动信号,ALE 端为通道选择地址的锁存信号。实验电路中将其相连,以便同时锁存通道地址并开始A/D 采样转换。
  ADC0809是8 位A/D 芯片, 数字量表示最大为16进
  制#FFH,也就是10进制的255.5V 对应的是255数字量,3V 就是255×3/5。每个数字量表示的模拟量为5/255V,约0.02V,也就是说精度( 最小分辨率) 为0.02V。如果想提高精度,可以适当降低基准电压。例如降为3V,精度就可以达到0.0118V,但是超过3V 的就没有办法表示了。因此,实际电压值应等于测量到的数值乘以5,然后除以255。
  本设计中,把AT89S51的P0.0 ~ P0.3 作为控制端,P3
  口作为A/D 转换数据的接收端。
  四、液晶显示模块程序设计
  4.1 1602的初始化设置
  控制器内部设有一个数据地址指针,用户可以通过它们来访问全部80字节RAM。
  4.2 1602的初始化过程
  1602的初始化过程即复位过程。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。
  初始化过程如下:写指令38H:显示模式设置;写指令08H:显示关闭;写指令01H:显示清屏;写指令06H:显示光标移动设置;写指令0CH:显示开关及光标设置。
  4.3 数据采集部分
  中断方式使用EOC 信号作为向AT89C51的中断申请。
  在主程序中,向ADC 发出首次启动转换信号。当检测到EOC 的请求后,转去执行中断服务程序,读取转换结果,并启动下一次转换,后继续执行。
  五、模块的仿真
  利用C51语言设计波形产生程序,并采用Proteus 进行模块化仿真,仿真图如下图2 所示。

  图2 电压表仿真结果图
  当改变连接在AD 转换器上的滑动变阻器时,模拟电压源的电压发生了变化,液晶显示屏上的电压也随之改变(两者的值基本上是一致的,准确度±0.1%)。
  六、结束语
  数字电压表对A/D 转换的速度要求不高,因此采用了精度、速度、价格适中的逐次逼进式A/D 转换方式。在实时性要求不高的应用领域中,是一种低价格,高性能的A/D 转换方法,达到了设计要求。
  在本次设计中,通过使用Proteus 绘制电路图,制图绘制流程图,汇编语言编写程序,程序运行完毕后,电压表的显示屏上就可以显示出电压数值来。调节电位器,显示数值就会发生变化。
  刚开始总是无法正确显示出实际电压值来。后来经过调试,并根据ADC0809的转换特性,修改了程序。再调节电位器的时候,电压表的就可以正确显示实际电压值了。电压表的最小显示值是0V,最大显示值是5V,这与设计目的是一致。电压表显示的电压值精确到小数点后2 位,精度为0.02V,一秒钟内大约可以测量2 次电压值。液晶显示屏上
  显示出电压值后,断开电源,再接通电源时,还是会出现电压值,经过实验才发现,是忘了擦除实验板上的程序而引起的,每次擦除程序后,再复位就可以清屏了。
  参 考 文 献
  [1] 周润景,张丽娜,刘映群.PROTEUS 入门使用教程. 机械工业出版社.2007
  [2] 马俊,刘晓林. 智能键盘字符输入及LCD 显示系统设计.2009
  [3] 柳金龙. 浅谈数字电压表的特点. 北京:中国计量,2004
  [4] 王韬.3 位半积分式A/D 转换DC 电压表. 北京:电子世界,2002
  
    

网站统计|优领域|优领域 ( 粤ICP备12011853号-1 )  

GMT+8, 2019-6-17 16:59 , Processed in 0.039454 second(s), 12 queries .

Copyright © 2008-2014 优领域

回顶部