找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4268|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)測量電壓及電流,ADC0809,asc712

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:423119 發(fā)表于 2021-1-7 14:46 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code table[]={ ~0x3F,/*0*/
  5.         ~0x06,/*1*/
  6.         ~0x5B,/*2*/
  7.         ~0x4F,/*3*/
  8.         ~0x66,/*4*/
  9.         ~0x6D,/*5*/
  10.         ~0x7D,/*6*/
  11.         ~0x07,/*7*/
  12.         ~0x7F,/*8*/
  13.        ~0x6F,/*9*/
  14. };
  15. uchar Tcount;
  16. uint wei3,wei2,wei1,wei0,num,wei4,wei5,wei6,wei7;
  17. bit timerflag,ADflag;
  18. sbit AD_end        =P3^2;
  19. sbit OE=P3^3;
  20. sbit ST=P3^4;
  21. sbit channel=P3^5;
  22. void AD_INT() interrupt 0
  23. {ADflag=1;
  24. AD_end=1;
  25. }
  26. void T0_int()interrupt 1
  27. {TL0|=0xb0;
  28. TH0=0x3c;
  29.    if(--Tcount==0)
  30.      {Tcount=20;
  31.       timerflag=1;}
  32.                   
  33. }
  34. void delay(uint z)
  35. {uint x,y;
  36. for(x=z;x>0;x--)
  37.     for(y=110;y>0;y--);
  38. }
  39. void main()
  40. {
  41. channel = 0;
  42. Tcount=20;
  43. TMOD=0x01;
  44. TL0=0xb0;
  45. TH0=0x3c;
  46. IT0=1;
  47. TR0=1;
  48. ET0=1;
  49. EX0=1;
  50. EA=1;

  51. while(1)
  52. {
  53.                         

  54.   if(timerflag==1)
  55.     {timerflag=0;
  56.      ADflag=0;
  57.      ST=1;
  58.            ST=0;
  59.         
  60.       while(!ADflag);
  61.          {
  62.                                         if(channel == 0)
  63.                                         {
  64.                                                 OE=1;
  65.                                                 num=P2*20-2500;                                       
  66.                                                 wei0=num/1000;
  67.                                                 wei1=num%1000/100;
  68.                                                 wei2=num%100/10;
  69.                                                 wei3=num%10;
  70.                                         }
  71.                                         else
  72.                                         {
  73.                                                 OE=1;
  74.                                                 num=P2*20/100*51;                                       
  75.                                                 wei4=num/1000;
  76.                                                 wei5=num%1000/100;
  77.                                                 wei6=num%100/10;
  78.                                                 wei7=num%10;                                
  79.                                         }

  80.           OE=0;
  81.           ADflag=0;
  82.                                         channel = ~channel;
  83.                                  }
  84.     }
  85.         
  86.                         //顯示電流
  87.         P1=0x01;
  88.   P0=table[wei0];
  89.   delay(1);
  90.   P1=0x02;
  91.   P0=table[wei1]&0X7F;
  92.   delay(1);
  93.   P1=        0X04;        
  94.   P0=table[wei2];
  95.   delay(1);
  96. //  P1=0x08;
  97. //  P0=table[wei3];
  98. //  delay(1);               
  99.                
  100.         //顯示電壓        
  101.         P1=0x10;
  102.   P0=table[wei4];
  103.   delay(1);
  104.   P1=0x20;
  105.   P0=table[wei5];
  106.   delay(1);
  107.   P1=0x40;
  108.   P0=table[wei6]&0x7f;
  109.   delay(1);
  110.   P1=0x80;
  111.   P0=table[wei7];
  112.   delay(1);
  113. }
  114. }

  115.   

復(fù)制代碼

全部資料51hei下載地址:
電流 (2).zip (97.16 KB, 下載次數(shù): 99)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:288629 發(fā)表于 2021-2-1 11:17 | 只看該作者
好東西,是需要的東西,謝了!
回復(fù)

使用道具 舉報

板凳
ID:905674 發(fā)表于 2021-4-19 21:32 | 只看該作者
我想請問一下怎么測量兩點(diǎn)之間的電壓,因為用您的電路貌似只能測出電位。求賜教。
回復(fù)

使用道具 舉報

地板
ID:428799 發(fā)表于 2021-5-15 15:24 | 只看該作者
謝大哥,不錯的好東西
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表