基于51单片机数字电压表的设计 仿真、程序、原理图(转发)

摘 要

数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。

本次设计的作品要求制作数字电压表的量程为0到5v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v。同时设计的精度为小数点后两位,满足要求的两位小数的精度,在不考虑AD芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。

【关键词】AT89C51 ADC0809 LCD1602液晶

以AT89C51单片机为核心,起着控制作用。系统包括LCD1602液晶显示电路、复位电路、时钟电路、模数转换电路电路。设计思路分为五个模块:复位电路、晶振电路模块、AT89C51、LCD1602液晶显示电路、模数转换器电路这五个模块。

总设计框图

硬件设计分析

电源的设计

系统电源使用直流5伏。

由电脑USB接口提供电源。

USB是通用串行总线(Universal Serial Bus)接口的简称。它是目前使用比较广泛的电脑接口之一,主要版本有1.0、1.1和最新的2.0三种版本。根据USB总线的工业标准,它可以提供额定功率为5V/500mA的电源供USB设备使用。

软件设计的组成

该系统由延时子函数、LCD1602液晶忙检测子函数、LCD1602液晶写命令/写数据子函数、汉字显示子函数、LCD1602液晶显示字符串子函数、LCD1602液晶初始化子函数、ADC0809转换子函数、主函数和数据定义这几部分组成。

1664【毕设课设】基于51单片机数字电压表的设计(仿真、程序、原理图、论文)

文章转自电设屋,完整资料百度网盘下载地址www.aiesst.cn/share.html

程序

//<程序名>:数字电压表                                                                          **
//<功能>:使用LCD显示被检测电压,精度为0.05V,范围是0~5V。                                     **
#include"includes.h"
#define TIME0H 0x3C
#define TIME0L 0xB0
uchar uc_Clock=0;        //定时器0中断计数
bit b_DATransform=0;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把电压显示在LCD上>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vShowVoltage(uint uiNumber)
{
    uchar ucaNumber[3],ucCount;
    if(uiNumber>999)                    
        uiNumber=999;
    ucaNumber[0]=uiNumber/100;                                //把计算数字的每个位存入数组。
    ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10;                            
    ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];
    for(ucCount=0;ucCount<3;ucCount++)
    {
        vShowOneChar(ucaNumber[ucCount]+48);                //从首位到末位逐一输出。
        if(ucCount==0)
            vShowOneChar('.');
    }
}

内容

原理图

仿真图

  • 6
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
介绍了一种基于STC89C51单片机数字电压表设计方法。该方案根据数据采集的工作原理来实现数字电压的测量, 然后完成单片机与PC的通信, 以将所测量的电压值通过串口传送给PC, 并在PC上进行显示。   数字电压表设计和开发已有很多类型和款式, 传统的数字电压表有自己的特点, 它们适合在现场做手工测量, 而要完成远程测量并对测量的数据做进一步处理, 运用传统的数字电压表是无法完成的。为此, 本文设计了基于PC通信的数字电压表, 该表既可以完成测量数据的传递, 又可借助PC进行测量数据的处理。所以, 这种类型的数字电压表无论在功能和实际应用上, 都具有传统数字电压表无法比拟的优点, 这使得它的开发和应用都具有良好的前景。   本系统主要由硬件和软件两部分构成, 硬件主要包括数据采集电路, 单片机最小数据采集系统, 单片机与PC机的接口电路等。软件主要有单片机数据采集程序单片机与上位机通信程序,以及上位机数据处理程序。   该新型数字电压表测量的电压类型为直流,测量范围为0 ~5 V, 下位机采用的单片机为STC89C51, AD转化采用的是最常见的ADC0809,可通过RS232串行口与PC机进行通信, 以传送所测量的直流电压数据。图1所示是该数字电压表的数据采集电路。电路的设计已做到了最小化,即没有用任何附加逻辑器件做接口电路, 便可实现单片机对ADC0809转换芯片的操作。图1中的ADC0809是8位的模数转化芯片, 片内有8路模拟选通开关以及相应的通道锁存译码电路, 转化时间大约为100 μs左右。在电路应用中, 首先要指定ADC0809的数据通道, 当外部电压进入芯片后, STATR 信号由高到低, 在脉冲的下降沿ADC0809开始转换, 同时管脚EOC电平变低, 表示转化正在进行, 转化完成之后, 管脚EOC的电平变高, 表示一次转化结束。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值