单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3429|回复: 17
收起左侧

基于51单片机的电压表制作资料 PCB+源码+原理图等

  [复制链接]
小衣 发表于 2018-6-11 21:30 | 显示全部楼层 |阅读模式
  本电路主要采用STC89C52单片机芯片和ADC0804芯片来完成一个简单的电压表,可以对输入在0—5V的模拟直流电压进行测量,并通过一个4位一体的LED数码管显示。制作的全部文件都在压缩包里面,谢谢大家的支持!

制作出来的实物图如下:
电压表3.png

Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
电压表2.png
一、电路原理
本电路主要采用STC89C52芯片和ADC0804芯片来完成一个简单的电压表,可以对输入在0—5V的模拟直流电压进行测量,并通过一个4位一体的LED数码管显示。(ADC0804是一款逐次逼近式8位单通道A/D转化芯片,可以将模拟量转化为数字量,其转换时间大约为100us)该电路由三个模块组成:A/D转化模块、数据处理模块和显示模块。A/D转化主要由ADC0804芯片来完成,它负责把采集到的模拟量转化成相应的数字量再传输到数据处理模块。数据处理则由芯片STC89C52来完成,其负责把ADC0804传来的数字量进行处理,产生相应的显示码并送到显示模块进行显示。

电压表.png

电路实测性能:通过USB接口给电路供电,再将外电源的正负极接到电路的2P接线端口,数码管则会显示外电源相应的电压值。
五、设计小结
1、画原理图和PCB时布线要整齐有序,便于检查电路问题。
2、画PCB图时元件摆放要紧凑,尽量画小一点,布完线后要检查有没有漏线的地方。
3、画PCB图时尽量减少跳线次数,以减小测量误差,使测量数据更准确。
4、焊接电路时要小心仔细,焊接好电路后检查有没有虚焊的地方。
5、在测量电压时注意外电源的电压值,防止电压过高而超出电压表的量程。
6、软件调试时应注意延时函数,防止数码管出现闪烁的情况。

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

  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define wei P2
  6. #define duan P0
  7. #define data P1
  8. sbit csad=P3^5;
  9. sbit adwr=P3^6;
  10. sbit adrd=P3^7;
  11.        
  12. uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  13.                 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  14. void delayms(uint xms)
  15. {
  16.         uint i,j;
  17.         for(i=xms;i>0;i--)
  18.                 for(j=110;j>0;j--);
  19. }

  20. void display(uchar qian,uchar bai,uchar shi,uchar ge)
  21. {
  22.         duan=table[qian]&0x7f;
  23.         wei=0xfe;
  24.         delayms(3);
  25.         duan=0x00;
  26.         wei=0x00;
  27.         delayms(5);
  28.        
  29.         duan=table[bai];
  30.         wei=0xfd;
  31.         delayms(3);
  32.         duan=0x00;
  33.         wei=0x00;
  34.         delayms(5);
  35.        
  36.         duan=table[shi];
  37.         wei=0xfb;
  38.         delayms(3);
  39.         duan=0x00;
  40.         wei=0x00;
  41.         delayms(5);
  42.        
  43.         duan=table[ge];
  44.         wei=0xf7;
  45.         delayms(3);
  46.         duan=0x00;
  47.         wei=0x00;
  48.         delayms(5);
  49. }
  50. void main()
  51. {
  52.         uchar a,A1,A2,A3,A4,adval;
  53.         csad=0;
  54.         while(1)
  55.         {
  56.                 adwr=1;
  57.                 _nop_();
  58.                 adwr=0;
  59.                 _nop_();
  60.                 adwr=1;
  61.                 for(a=10;a>0;a--)
  62.                 {
  63.                         display(A1,A2,A3,A4);
  64.                 }
  65.                 data=0xff;
  66.                 adrd=1;
  67.                 _nop_();
  68.                 adrd=0;
  69.                 _nop_();
  70.                 adval=P1;
  71.                 adrd=1;
  72.                 A1=adval/51;  //求余,去整留余
  73.                 A2=adval%51*10/51;
  74.           A3=adval%51*10%51*10/51;  
  75.                 A4=adval%51*10%51*10%51*10/51;
  76.         }
  77. }
复制代码
0.png

所有资料51hei提供下载:
电压表制作.zip (12.65 MB, 下载次数: 149)

评分

参与人数 2黑币 +55 收起 理由
szzy + 5 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

987589383 发表于 2018-10-21 11:17 | 显示全部楼层
板子是自己画的吗?
回复

使用道具 举报

 楼主| 小衣 发表于 2018-11-28 09:04 来自手机 | 显示全部楼层
是的啊
回复

使用道具 举报

 楼主| 小衣 发表于 2018-11-28 09:09 来自手机 | 显示全部楼层
有什么疑问吗?
回复

使用道具 举报

玲天生 发表于 2018-11-28 13:13 | 显示全部楼层
大佬,我想问一下,第三张图片有完整一点的吗?我刚学单片机,那个PCB图看不懂啊,求求大佬了
回复

使用道具 举报

玲天生 发表于 2018-11-28 14:31 | 显示全部楼层
就是那张仿真图
回复

使用道具 举报

 楼主| 小衣 发表于 2018-12-24 11:56 | 显示全部楼层

那个是完整的图,只不过我用的标识符表示的,你仔细看看
回复

使用道具 举报

ken009988 发表于 2018-12-24 13:43 来自手机 | 显示全部楼层
不错不错
回复

使用道具 举报

5imxuser 发表于 2019-1-16 19:51 | 显示全部楼层
电压测量范围可以更宽些吗?几十伏的可以测量吗?
回复

使用道具 举报

jiangnaibo 发表于 2019-2-26 13:44 | 显示全部楼层
我想要单片机的符号库,求大佬恩赐
回复

使用道具 举报

教教我单片机把 发表于 2019-3-12 14:12 来自手机 | 显示全部楼层
为啥没有AD转换步骤啊
回复

使用道具 举报

hylinzhi 发表于 2019-3-13 09:09 来自手机 | 显示全部楼层
好资料,正好想设计一个,谢谢
回复

使用道具 举报

阿伟死了 发表于 2019-3-18 14:26 | 显示全部楼层
为啥没看到C1。。。
回复

使用道具 举报

 楼主| 小衣 发表于 2019-3-21 19:35 | 显示全部楼层
5imxuser 发表于 2019-1-16 19:51
电压测量范围可以更宽些吗?几十伏的可以测量吗?

可以啊,不过要串联电阻,用分压的方法计算
回复

使用道具 举报

15#
无效楼层,该帖已经被删除
 楼主| 小衣 发表于 2019-3-21 19:41 | 显示全部楼层
阿伟死了 发表于 2019-3-18 14:26
为啥没看到C1。。。

仔细看
回复

使用道具 举报

 楼主| 小衣 发表于 2019-3-21 19:46 | 显示全部楼层
有问题的直接留言
回复

使用道具 举报

HNZ666 发表于 2019-4-12 11:15 来自手机 | 显示全部楼层
能测多少V的
回复

使用道具 举报

 楼主| 小衣 发表于 2019-4-17 20:19 | 显示全部楼层

0到5
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛5群 联系QQ:125739409;技术交流QQ群174280738

Powered by 单片机教程网

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