找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4325|回复: 1
收起左侧

单片机+ADC0804数字电压表PCB文件+源程序

[复制链接]
ID:467450 发表于 2019-3-23 11:35 | 显示全部楼层 |阅读模式

基于51单片机的数字电压表设计
一、     电路原理
该数字电压表电路由三个模块组成:A/D转化模块、数据处理模块和显示模块。利用51单片机作为主控芯片,模拟量输入范围为直流0v-5v。模拟量经A/D(ADC0804)模数转换芯片,把模拟量转换为数字量输入到单片机的P0口,再由单片机控制LCD1602液晶显示模拟量输入的电压值。(其中ADC0804是一款逐次逼近式8位单通道A/D转化芯片,可以将模拟量转化为数字量,其转换时间大约为100us)
二、电路原理图
QQ图片20190320085621.png


三、PCB
QQ图片20190320085743.png

Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
0.png

四、电路实物照片与实测性能

IMG_20190320_090345.jpg
IMG_20190320_090207.jpg

电路实测性能: 通过USB接口给电路供电,再将外电源的正负极接到电路的接线端口,LCD1602液晶则会显示外电源相应的电压值。

五、设计小结

1、画原理图和PCB时布线要整齐有序,便于检查电路问题。
2、画PCB图时元件摆放要紧凑,尽量画小一点,布完线后检查有没有漏线的地方。
3、画PCB图时尽量减少跳线次数,以减小测量误差,使测量数据更准确。
4、焊接电路时要小心仔细,焊接好电路后检查有没有虚焊的地方。
5、在测量电压时注意外电源的电压值,防止电压过高而超出电压表的量程。

单片机源程序如下:
  1. #include <adc.h>

  2. u8 adc0804()
  3. {
  4.         u8 ind;
  5.         
  6.         C_S = 1;
  7.         W_R = 1;
  8.         
  9.         C_S = 0;
  10.         W_R = 0;
  11.         
  12.         _nop_();
  13.         
  14.         W_R = 1;
  15.         
  16.         P1 = 0xff;
  17.         
  18.         R_D = 1;
  19.         R_D = 0;
  20.         
  21.         _nop_();
  22.         
  23.         ind = P1;
  24.         
  25.         R_D = 1;
  26.         C_S = 1;
  27.         
  28.         return ind;
  29. }

  30. u16 V_out()
  31. {
  32.         u8 rnd;
  33.         u16 end;
  34.         
  35.         rnd = adc0804();
  36.         end = rnd * 50000 / 256;

  37.         return end;
  38. }
复制代码

所有资料51hei提供下载:
电压表.zip (5.39 MB, 下载次数: 79)

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2019-3-29 05:33 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表