找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8396|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)ADC0808兩路輸入的數(shù)字電壓表設(shè)計 Proteus仿真程序

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


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. unsigned char a[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71},b[4],c=0x01;

  3. sbit  START=P2^4;
  4. sbit  OE=P2^6;
  5. sbit  EOC=P2^5;
  6. sbit  add_a=P2^2;
  7. sbit  add_b=P2^1;
  8. sbit  add_c=P2^0;
  9. sbit  led=P2^7;
  10. sbit  buzzer=P2^3;

  11. void Delay1ms(unsigned int count)
  12. {
  13.         unsigned  int i,j;
  14.         for(i=0;i<count;i++)
  15.         for(j=0;j<120;j++);
  16. }

  17. void show()    //顯示函數(shù)
  18. {
  19.         unsigned int r;
  20.         for(r=0;r<4;r++)
  21.         {
  22.                 P1=(c<<r);
  23.                 P3=b[r];
  24.                 if(r==2)    //顯示小數(shù)點
  25.                 P3=P3|0x80;
  26.                 Delay1ms(1);
  27.         }
  28. }


  29. void main(void)
  30. {
  31.         unsigned int addata=0,i;
  32.         while(1)
  33.   {              //采集第一路信號
  34.     add_a=0;
  35.     add_b=0;
  36.     add_c=0;               
  37.                 START=1;
  38.                 START=0;
  39.                 while(EOC==0)
  40.                 {
  41.                         OE=1;
  42.                 }
  43.         addata=P0;
  44.         if(addata>=0x40)    //當(dāng)大于1.25v時,則使用LED和蜂鳴器報警
  45.         {
  46.                 for(i=0;i<100;i++)
  47.                 {
  48.                         led=~led;
  49.                         buzzer=~buzzer;
  50.                 }
  51.                 led=1;   //控制發(fā)光二極管D2閃爍,發(fā)出光報警信號
  52.                 buzzer=1;     //控制蜂鳴器發(fā)聲,發(fā)出聲音報警信號
  53.         }
  54.         else     //否則取消報警
  55.         {
  56.                 led=0;     //控制發(fā)光二極管D2滅
  57.                 buzzer=0;  //控制蜂鳴器不發(fā)聲
  58.         }
  59.         addata=addata*1.96;  //將采集的二進(jìn)制數(shù)轉(zhuǎn)換成可讀的電壓值
  60.         OE=0;
  61.         b[0]=a[addata%10];
  62.         b[1]=a[addata/10%10];
  63.         b[2]=a[addata/100%10];
  64.         b[3]=a[addata/1000];
  65.         for(i=0;i<=200;i++)
  66.         {
  67.                 show();
  68.         }
  69.         
  70.         
  71.           add_a=1;     //采集第二路信號
  72.     add_b=0;
  73.     add_c=0;               
  74.                 START=1;     //啟動ADC0808開始轉(zhuǎn)換
  75.                 START=0;
  76.                 while(EOC==0)
  77.                 {
  78.                         OE=1;
  79.                 }
  80.         addata=P0;
  81.         if(addata>=0x80)    //當(dāng)大于2.5v時,則使用LED和蜂鳴器報警
  82.         {
  83.                 for(i=0;i<100;i++)
  84.                 {
  85.                         led=~led;
  86.                         buzzer=~buzzer;
  87.                 }
  88.                 led=1;   //控制發(fā)光二極管D2閃爍,發(fā)出光報警信號
  89.                 buzzer=1;     //控制蜂鳴器發(fā)聲,發(fā)出聲音報警信號
  90.         }
  91.         else     //否則取消報警
  92.         {
  93.                 led=0;     //控制發(fā)光二極管D2滅
  94.                 buzzer=0;  //控制蜂鳴器不發(fā)聲
  95.         }
  96.         addata=addata*1.96;  //將采集的二進(jìn)制數(shù)轉(zhuǎn)換成可讀的電壓值
  97.         OE=0;
  98.         b[0]=a[addata%10];
  99.         b[1]=a[addata/10%10];
  100.         b[2]=a[addata/100%10];
  101.         b[3]=a[addata/1000];
  102.         for(i=0;i<=200;i++)
  103.         {
  104.                 show();
  105.         }
  106. }
  107. }
復(fù)制代碼


所有資料51hei提供下載:
源程序 仿真.rar (93.63 KB, 下載次數(shù): 206)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:747282 發(fā)表于 2020-5-25 19:05 | 只看該作者
protues仿真圖的左邊是什么圖畫呀,看不完整
回復(fù)

使用道具 舉報

板凳
ID:761092 發(fā)表于 2020-5-26 10:58 | 只看該作者
感謝大佬
回復(fù)

使用道具 舉報

地板
ID:756407 發(fā)表于 2020-5-28 23:22 | 只看該作者
實在是太棒了
回復(fù)

使用道具 舉報

5#
ID:756438 發(fā)表于 2020-6-3 23:29 | 只看該作者
感謝大佬
回復(fù)

使用道具 舉報

6#
ID:137643 發(fā)表于 2020-6-6 09:02 | 只看該作者
仿真用不了
回復(fù)

使用道具 舉報

7#
ID:787695 發(fā)表于 2020-6-23 14:47 | 只看該作者

你是自己畫的圖還是下載作者的安裝包?我自己畫的沒毛病啊,就是仿真不對
回復(fù)

使用道具 舉報

8#
ID:839953 發(fā)表于 2020-11-8 13:51 | 只看該作者

轉(zhuǎn)換以下格式
回復(fù)

使用道具 舉報

9#
ID:284050 發(fā)表于 2020-12-16 22:53 | 只看該作者
實際應(yīng)用中,基準(zhǔn)電壓怎么獲得?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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