• 基于51单片机数字电压表仿真设计_数码管显示


    本设计

    基于51单片机数字电压表仿真设计_数码管显示

    (程序+仿真+原理图+pcb+报告)

    原理图:Altium Designer

    仿真版本:proteus 7.8

    程序编译器:keil 4/keil 5

    编程语言:C语言

    设计编号:S0005

    资料下载链接(可点击)

    功能说明

    1、以单片机为控制核心设计数字电压表;

    2、可以测量0~5V输入电压值;

    3、LED数码管显示;

    4、最小分辨率为0.01V,测量误差约为±0.01V。

    设计要求

    本课题是利用单片机设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。然后由单片机给数码管数字信号,控制其发光,从而显示数字。

    选择AT89C51作为单片机芯片,选用四位8段共阴极LED数码管实现电压显示,利用ADC0809作为数模转换芯片。将数据采集接口电路输入电压传入ADC0809数模转换元件,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。P2口接数码管位选,P1接数码管,实现数据的动态显示,

    image-20220902223951064

    仿真图

    img

    原理图

    img

    PCB

    img

    程序(提供源文件)

    img

    系统上电后,配置数码管个引脚,然后对其进行初始化,再调用的读写函数,可将采集处理后的电压数值实时显示。其程序流程图如图所示。

    img

    ​ 由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是连接在AT89C51单片机的40管脚,也就是要求从40管脚输出CLK信号供ADC0809使用。因此产生CLK信号的方法就等于从软件产生。电压表系统有主程序,A/D转换子程序、按键子程序和显示子程序。

    image-20220902224221690

    显示函数

    code unsigned char seven_seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
    char i;
    void display0()
    {
    	P0 = 0xff;
    	switch(i)
    	{
    		case 0:P2 = 0x10;P0 = seven_seg[shuju / 1000 % 10];break;
    		case 1:P2 = 0x20;P0 = seven_seg[shuju / 100 % 10]&0x7f;break;
    		case 2:P2 = 0x40;P0 = seven_seg[shuju / 10 % 10];break;
    		case 3:P2 = 0x80;P0 = seven_seg[shuju  % 10];break;
    		case 4:P2 = 0x01;P0 = seven_seg[1];break;
    		case 5:P2 = 0x02;P0 = seven_seg[2];break;
    		case 6:P2 = 0x04;P0 = 0xff;break;
    		case 7:P2 = 0x08;P0 = seven_seg[shuju / 10000 % 10];break;
    
    	}
    	i++;if(i >= 8)i = 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    设计报告

    img

    资料清单

    img

  • 相关阅读:
    中国高产水稻促粮食增产 国稻种芯:为碳减排做出重要贡献
    CPP 核心编程8-模板
    启山智软/多商户商城源码优势
    MySQL 在线模式迁移工具gh-ost用法
    【C++11】lambda匿名函数和包装器
    cookie、session、token的关系及测试
    图文详解PhPStudy安装教程
    emqx broker安装
    Python(八十八)函数的参数传递
    无法安装ensp ?各种报错解决方案(virtualbox无法运行,启动AR失败,错误代码40等)
  • 原文地址:https://blog.csdn.net/weixin_52733843/article/details/126671622