找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8236|回复: 13
收起左侧

单片机数字万用表制作 adc0809 带仿真和源码

  [复制链接]
ID:140725 发表于 2017-3-7 03:05 | 显示全部楼层 |阅读模式
希望对51黑电子论坛的朋友有帮助,精度还可以,能满足一般需求,AD芯片用的是便宜的adc0809,如果能用好一点的比如MAX197,精度可以更高!
0.png 0.png


单片机数字万用表仿真原理图:
0.png


数字万用表的单片机源码:
  1. #include <AT89X52.H>  
  2. unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f};
  3. unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00};
  4. unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};
  5. unsigned char dispcount;
  6. unsigned char getdata;
  7. unsigned int temp;
  8. long int  i;
  9. unsigned int R1;

  10. sbit ST=P3^0;
  11. sbit OE=P3^1;
  12. sbit EOC=P3^2;
  13. sbit CLK=P3^3;
  14.   
  15. void main(void)
  16. {
  17.   ST=0;
  18.   OE=0;
  19.   ET0=1;
  20.   ET1=1;
  21.   EA=1;
  22.   TMOD=0x12;
  23.   TH0=216;
  24.   TL0=216;
  25.   TH1=(65536-5000)/256;
  26.   TL1=(65536-5000)%256;
  27.   TR1=1;
  28.   TR0=1;
  29.   ST=1;
  30.   ST=0;
  31.   while(1)
  32.     {
  33.       if(EOC==1)
  34.         {
  35.           OE=1;
  36.           getdata=P0;
  37.           OE=0;
  38.                     i=getdata*196;
  39.                         dispbuf[5]=i/10000;
  40.                         i=i%10000;
  41.                         dispbuf[6]=i/1000;
  42.                         i=i%1000;
  43.                         dispbuf[7]=i/100;         
  44.           ST=1;
  45.           ST=0;
  46.         }
  47.     }
  48. }
  49.   
  50. void t0(void) interrupt 1 using 0           //定时器0  中断服务
  51. {
  52.   CLK=~CLK;
  53. }
  54.   
  55. void t1(void) interrupt 3 using 0          //定时器1  中断服务
  56. {
  57.   TH1=(65536-6000)/256;
  58.   TL1=(65536-6000)%256;
  59.   P2=0xff;
  60.   P1=dispcode[dispbuf[dispcount]];
  61.   P2=dispbitcode[dispcount];
  62.   if(dispcount==5)
  63.     {
  64.       P1=P1 | 0x80;
  65.     }
  66.   dispcount++;
  67.   if(dispcount==8)
  68.     {
  69.       dispcount=0;
  70.     }  
  71. }
复制代码

0.png

下载:
数字万用表.zip (139.9 KB, 下载次数: 141)

评分

参与人数 4黑币 +18 收起 理由
网易音乐 + 5 很给力!
zhjabc + 3 很给力!
zhhufe + 8 赞一个!
sky日耀 + 2 很给力!

查看全部评分

回复

使用道具 举报

ID:137767 发表于 2017-3-7 10:49 | 显示全部楼层
谢谢分享。功能及及过程在详细介绍下。收藏了。
回复

使用道具 举报

ID:237755 发表于 2017-10-8 10:36 | 显示全部楼层
代码运行不能生成hex文件,是ram不够吗?
回复

使用道具 举报

ID:240424 发表于 2017-10-17 23:07 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:271874 发表于 2018-1-5 15:41 来自手机 | 显示全部楼层
怎么换测量的对象呢,仿真的时候还会一直闪
回复

使用道具 举报

ID:280268 发表于 2018-1-27 20:15 | 显示全部楼层
不错的  我的毕设也是错不多的
回复

使用道具 举报

ID:298247 发表于 2018-3-28 13:51 | 显示全部楼层
楼主,焊接电路图,元器件清单有吗,做毕设用
回复

使用道具 举报

ID:125150 发表于 2018-3-31 16:06 | 显示全部楼层
下载看看!
回复

使用道具 举报

ID:311928 发表于 2018-4-19 19:45 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:351739 发表于 2018-6-15 06:29 | 显示全部楼层
标记了,慢慢学习
回复

使用道具 举报

ID:305511 发表于 2018-6-24 21:27 | 显示全部楼层
太棒了,非常感谢!
回复

使用道具 举报

ID:216043 发表于 2018-6-29 09:20 | 显示全部楼层
q872482931 发表于 2017-10-8 10:36
**** 作者被禁止或删除 内容自动屏蔽 ****

你仿真也报错了吗?解决了吗
回复

使用道具 举报

ID:216043 发表于 2018-6-29 09:22 | 显示全部楼层
仿真的时侯出现这个错误是什么?  该如何解决?
111.jpg
回复

使用道具 举报

ID:424067 发表于 2018-11-10 14:30 | 显示全部楼层
q872482931 发表于 2017-10-8 10:36
**** 作者被禁止或删除 内容自动屏蔽 ****

请问你现在做好了吗?求资料
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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