51单片机和LCD1602显示的数字电压表,仿真,原理图PCB及C程序

设计要求
1.以MCS-51系列单片机为核心器件,设计一个简单的直流数字电压表;
2.电压量程:0~5V;
3.最小分辨率:0.01V;
4.所用元器件较少,成本低,且测量精度和可靠性较高;

系统概述
本设计是基于Atmel 51单片机开发平台和自动控制原理的基础上实现的一种数字电压表系统。该系统采用AT89C51单片机作为控制核心,以ADC0809为模数转换芯片,实现量程0到5V的被测电压数据采样;LCD1602字符液晶显示被测电压值。

同时,数字电压表测量精度为0.01V,能够满足一般测量要求,系统框架如下图所示。

系统框架

仿真电路图
数字电压表仿真电路图
操作说明

原理图
原理图

PCB图
PCB图

仿真结果分析
打开Proteus仿真文件,文件后缀名为DSN.双击单片机,加载DianYa.hex文件(位于C程序文件夹中),运行仿真,结果如下图所示。
LCD显示电压值1.84V
图中可以看出,LCD显示AD转换通道IN0电压(Voltage)的大小为1.84V,用Proteus软件自带的电压表(Volts)测量的结果为1.85V,两者偶有0.01V的偏差,属于仿真正常现象。

通过点击滑动变阻器RP2上下红色箭头,模拟被测电压值的改变(0~5V之间),LCD实时跟踪显示电压的变化。

下图为调整滑动变阻器后,LCD显示的电压值为4.25V,与Volts电压表显示结果一致。
电压测量值均为4.25V

综上所述,数字电压表Proteus仿真设计运行效果满足设计要求。

部分C程序

#include"include.h"
#define TIME0H 0x3C
#define TIME0L 0xB0
uchar uc_Clock=0;       //定时器0中断计数
bit b_DATransform=0;

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('.');
    }
}
void main()
{
    TMOD=0x01;          //定时器0,模式1。
    TH0=TIME0H;
    TL0=TIME0L;
    TR0=1;              //启动定时器。
    ET0=1;              //开定时器中断。
    EA=1;               //开总中断
    vdInitialize();
    vWriteCMD(0x84);       //写入显示起始地址(第一行第4个位置)
    vShowChar("voltage");
    vWriteCMD(0xC9);     
    vShowChar("(V)");
    while(1)
    {
        if(b_DATransform==1)
        {
            b_DATransform=0;
            vWriteCMD(0xC4);
            vShowVoltage(uiADTransform());
        }
    }
}

分享的内容有
(1)基于51单片机的数字电压表设计论文完整版;
(2)C程序;
(3)Proteus仿真文件;
(4)原理图及PCB文件;
(5)Visio流程图;
(6)元器件清单;
(7)参考资料;

资源截图

全套资源
仿真文件
原理图及PCB
C程序文件
Visio流程图文件

资源获取方法
资源获取方法
资源获取方法
重要的事情说三遍!!!!!!!!!!!
由于本设计为我的原创设计,
获取以上所有资源内容,请搜索关注我的公-众-号:交院小智

你可能感兴趣的:(51单片机和LCD1602显示的数字电压表,仿真,原理图PCB及C程序)