找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14978|回复: 30
打印 上一主题 下一主题
收起左侧

基于ICL7135和51单片机的数字电压表proteus仿真及源码

  [复制链接]
跳转到指定楼层
楼主
给51黑电子论坛的朋友们分享一个ICL7135和51单片机实现的数字电压表,下面是仿真原理图:



数字电压表的仿真工程文件和源码下载:
51单片机的数字电压表.rar (28.94 KB, 下载次数: 433)


  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. uchar code tab[]={
  6.                                           0x3F,
  7.                                 0x06,
  8.                                 0x5B,
  9.                                 0x4F,
  10.                                 0x66,
  11.                                 0x6D,
  12.                                 0x7D,
  13.                                 0x07,
  14.                                 0x7F,
  15.                                 0x6F,      //字形码
  16.                                  };
  17. uint V=0;
  18. uchar flag=3;                 
  19. sbit point=P0^7;
  20. sbit s1=P2^0;                    
  21. sbit s2=P2^1;
  22. sbit s3=P2^2;

  23. void delay(uint ms)
  24.         {
  25.         uchar i;
  26.         while(ms--)
  27.         for(i=0;i<123;i++);     //延时
  28.         }

  29. void main()
  30. {
  31.         TMOD=0x0D;      //00001101
  32.         TR0=1;
  33.         IT0=1;
  34.         TL0=0;
  35.         TH0=0;
  36.         EA=1;
  37.         EX0=1;
  38.         s1=1;s2=1;s3=0;
  39.         while(1)
  40.         {
  41.                 uchar temp=0xFE,a[4],i;
  42.                 a[0]=V/10000;                        
  43.                 a[1]=V%10000/1000;
  44.                 a[2]=V%1000/100;
  45.                 a[3]=V%100/10;       //取位
  46.                 for(i=0;i<4;i++)
  47.                 {
  48.                         P0=tab[a[i]];
  49.                         if(i==1&&flag==3)        //小数点位置
  50.                         point=1;
  51.                         if(i==0&&flag==2)
  52.                         point=1;
  53.                         if(i==0&&flag==1)
  54.                         point=1;
  55.                         P1=temp;
  56.                         delay(1);
  57.                         P1=0xff;               
  58.                         temp=_crol_(temp,1);    //显示
  59.                 }
  60.                
  61.         }
  62. }

  63. void ADC_7135() interrupt 0                 
  64. {                              
  65.         V=TH0;               
  66.         V<<=8;
  67.         V+=TL0;               
  68.         V-=10001;
  69.         TL0=0;
  70.         TH0=0;
  71.         switch(flag)                //选档
  72.         {
  73.                 case 3:                 //缩小档
  74.                 {                        
  75.                         if((V>=200)&&(V<2000))
  76.                         {
  77.                                 s1=1;s2=0;s3=1;
  78.                                 flag=2;
  79.                         }
  80.                         if(V<200)
  81.                         {
  82.                                 s1=0;s2=1;s3=1;
  83.                                 flag=1;
  84.                         }
  85.                         break;
  86.                 }
  87.                 case 2:                 //一倍档
  88.                 {
  89.                         if(V>=20000)
  90.                         {
  91.                                 s1=1;s2=1;s3=0;
  92.                                 flag=3;
  93.                         }               
  94.                         if(V<2000)
  95.                         {
  96.                                 s1=0;s2=1;s3=1;
  97.                                 flag=1;
  98.                         }
  99.                         break;
  100.                 }
  101.                 case 1:                 //放大档
  102.                 {
  103.                         if(V>=20000)
  104.                         {
  105.                                 s1=1;s2=1;s3=0;
  106.                                 flag=3;
  107.                         }
  108.                         break;
  109.                 }
  110.         }
  111. }
复制代码

评分

参与人数 3黑币 +13 收起 理由
求助哦 + 5 很给力!
a33063246 + 5
a455914479 + 3 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏7 分享淘帖 顶4 踩
回复

使用道具 举报

沙发
ID:165822 发表于 2017-2-21 20:53 | 只看该作者
好呀 很有用 帮助很大
回复

使用道具 举报

板凳
ID:183480 发表于 2017-3-26 10:50 | 只看该作者
此例非常好,我需要学习一下!
回复

使用道具 举报

地板
ID:188206 发表于 2017-4-12 21:50 | 只看该作者
老哥能联系下我么?有问题想请教你QQ371413462!
回复

使用道具 举报

5#
ID:190848 发表于 2017-4-18 15:56 | 只看该作者
请问,有测交流的数字电压表资料吗
回复

使用道具 举报

6#
ID:65759 发表于 2017-5-7 17:15 | 只看该作者
请问,有测交流的数字电压表资料吗
回复

使用道具 举报

7#
ID:43600 发表于 2017-5-8 20:17 | 只看该作者
very good, nice job !!!
回复

使用道具 举报

8#
ID:103981 发表于 2017-5-11 23:09 | 只看该作者
感谢分享,努力学习
回复

使用道具 举报

9#
ID:198949 发表于 2017-5-12 10:50 | 只看该作者
老哥 我也有点问题想请教下  QQ897718042  谢谢
回复

使用道具 举报

10#
ID:148982 发表于 2017-8-9 17:14 | 只看该作者
币不够,下载不了呀,学习一下
回复

使用道具 举报

11#
ID:226225 发表于 2017-8-9 17:37 | 只看该作者
感谢分享,努力学习
回复

使用道具 举报

12#
ID:283207 发表于 2018-2-22 20:13 | 只看该作者
感谢分享,非常好的例子。
回复

使用道具 举报

13#
ID:289198 发表于 2018-3-8 15:00 | 只看该作者
老哥,想请教下,proteus仿真ovr总是显示高怎么破,就算输入电压都接地也不行啊
回复

使用道具 举报

14#
ID:66287 发表于 2018-3-9 09:52 | 只看该作者
ICL7135是双积分型AD转换,精度很高,配上单片机处理,功能更强更好!
回复

使用道具 举报

15#
ID:289198 发表于 2018-3-12 09:55 | 只看该作者
楼主想问下这个精度能达到多少呢?
回复

使用道具 举报

16#
ID:289512 发表于 2018-3-17 16:45 | 只看该作者
好文章,努力挣币当中。
回复

使用道具 举报

17#
ID:286719 发表于 2018-3-19 20:30 | 只看该作者
请问一下仿真我看不了,是需要什么软件吗?
回复

使用道具 举报

18#
ID:309792 发表于 2018-4-17 09:55 | 只看该作者
好呀 很有用 帮助很大, 币不够,下载不了呀,学习一下
回复

使用道具 举报

19#
ID:305342 发表于 2018-4-25 23:14 | 只看该作者
怎么调成0-500v啊?
回复

使用道具 举报

20#
ID:321855 发表于 2018-5-4 10:05 | 只看该作者

币不够,下载不了呀,学习一下
回复

使用道具 举报

21#
ID:258752 发表于 2018-5-30 20:29 | 只看该作者
呵..呵 发表于 2018-3-19 20:30
请问一下仿真我看不了,是需要什么软件吗?

你可以试下Proteus7.8 或者8.6
回复

使用道具 举报

22#
ID:383860 发表于 2018-8-7 16:11 | 只看该作者
好文章
回复

使用道具 举报

23#
ID:476021 发表于 2019-2-12 20:57 | 只看该作者
好文章
回复

使用道具 举报

24#
ID:438506 发表于 2019-4-19 09:19 | 只看该作者
我下载之后没有仿真文件...
回复

使用道具 举报

25#
ID:115061 发表于 2019-4-19 17:56 | 只看该作者
程序不对
回复

使用道具 举报

26#
ID:438506 发表于 2019-4-23 10:08 | 只看该作者
125khz   方波是怎么产生的???
回复

使用道具 举报

27#
ID:555778 发表于 2020-5-9 08:44 | 只看该作者
legendss13 发表于 2019-4-23 10:08
125khz   方波是怎么产生的???

在做仿真时,可以用仿真软件产生,做实物可以硬件电路搭建,芯片cd4060
回复

使用道具 举报

28#
ID:717697 发表于 2020-5-24 20:08 | 只看该作者
求助,我也想要
回复

使用道具 举报

29#
ID:935610 发表于 2021-10-9 15:55 | 只看该作者
虽然这么久了,也点赞一个。
回复

使用道具 举报

30#
ID:137736 发表于 2022-9-4 16:57 | 只看该作者
下了,研究研究
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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