欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)+adc0804 AD轉(zhuǎn)換

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:137190 發(fā)表于 2016-9-8 20:30 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
系統(tǒng)采集到的信號,幾乎都是模擬信號。學(xué)習(xí)單片機(jī)的模擬數(shù)字ad轉(zhuǎn)換是必須的。
這個仿真就是利用adc0804把模擬電壓轉(zhuǎn)換為數(shù)字信號,然后再輸出到數(shù)碼管。
由于最大電壓不超過5v,所以數(shù)碼管顯示只有個位,和小數(shù)點后面,我只顯示小數(shù)點后3位,沒有四舍五入。
仿真電路圖:


  1.     #include<reg52.h>
  2. #include<intrins.h>
  3.     #define uchar unsigned char
  4.     #define uint unsigned int
  5.     sbit duan=P3^0;    //u1
  6.     sbit wei=P3^1;
  7.     sbit ADC_CS=P3^2;
  8.     sbit ADC_RD=P3^3;
  9.     sbit ADC_WR=P3^4;
  10.     uchar code table[]={
  11.     0x3f,0x06,0x5b,0x4f,
  12.     0x66,0x6d,0x7d,0x07,
  13.     0x7f,0x6f,0x77,0x7c,
  14.     0x39,0x5e,0x79,0x71 };
  15.     void delay(uint xms)
  16.     {
  17.       uint i,j;
  18.       for(i=xms;i>0;i--)
  19.       for(j=80;j>0;j--);
  20.     }

  21.     void show6led(float num)
  22.     {
  23.     unsigned char i;
  24.       P2=0xff;
  25.     P3=0xff;
  26.     i=num;
  27.     duan=1;
  28.     P2=table+0x80;  //顯示個位和小數(shù)點
  29.     duan=0;
  30.     P2=0xff;   //先關(guān)閉led
  31.     wei=1;
  32.     P2=0xfb;             //段選3
  33.     wei=0;
  34.     delay(5);

  35.       P2=0xff;
  36.     P3=0xff;
  37.     num=num-i;
  38.     num=num*10;
  39.     i=num;
  40.     duan=1;
  41.     P2=table;
  42.     duan=0;
  43.       P2=0xff;
  44.       wei=1;
  45.     P2=0xf7;          //段選4,十分位
  46.     wei=0;
  47.     delay(5);
  48.        P2=0xff;
  49.     P3=0xff;
  50.     num=num-i;
  51.     num=num*10;
  52.     i=num;
  53.     duan=1;
  54.     P2=table;
  55.     duan=0;
  56.     P2=0xff;
  57.     wei=1;
  58.     P2=0xef;          //段選5,百分位
  59.     wei=0;
  60.     delay(5);
  61.       P2=0xff;
  62.     P3=0xff;
  63.     num=num-i;
  64.     num=num*10;
  65.     i=num;
  66.     duan=1;
  67.     P2=table;
  68.     duan=0;
  69.     P2=0xff;
  70.     wei=1;
  71.     P2=0xdf;          //段選6,千分位
  72.     wei=0;
  73.     delay(5);
  74.       
  75.       
  76.     }

  77.     void main()
  78.     {
  79.     uchar val;
  80.     ADC_CS=0;

  81.       ADC_WR=1;
  82.       _nop_();
  83.       ADC_WR=0;
  84.       _nop_();
  85.       ADC_WR=1;
  86.       delay(50);
  87.       P1=0xff;
  88.       ADC_RD=1;
  89.     _nop_();
  90.       ADC_RD=0;
  91.       _nop_();
  92.        val=P1;
  93.        ADC_RD=1;
  94.       
  95.       while(1)
  96.       {
  97.        show6led(val*0.02);//adc0832是8位,5v/256=0.02v
  98.       
  99.        }

  100.     }
復(fù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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