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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3612|回復: 1
打印 上一主題 下一主題
收起左側(cè)

基于51單片機的adc0809自動切換量程

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:374056 發(fā)表于 2018-7-19 20:32 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
adc0809測量范圍為5V,如果大于5V,就要分壓;
自動切換量程,就是先采集分壓之后的電壓,如果過小,就通過繼電器換路,進行直接測量

電路原理圖如下:


單片機源碼:
  1. #include<regx51.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. #define Duan P2
  6. #define Wei P1
  7. sbit START=P0^0;
  8. sbit EOC=P0^1;
  9. sbit max=P0^2;

  10. unsigned char code smg_duan[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  11. unsigned char code smg_duan1[] ={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
  12. unsigned char code smg_wei[] ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

  13. void delay_ms(int t){
  14.         int i;
  15.         for(t;t>0;t--)
  16.                 for(i=110;i>0;i--);
  17. }        

  18. void display(long num)
  19. {
  20.         long num1[8],i;
  21.         num1[7] = num/10000000;
  22.         num1[6] = (num/1000000)%10;
  23.         num1[5] = (num/100000)%10;
  24.         num1[4] = (num/10000)%10;
  25.         num1[3] = (num/1000)%10;
  26.         num1[2] = (num/100)%10;
  27.         num1[1] = (num/10)%10;
  28.         num1[0] = num%10;
  29.         for(i=0;i<8;i++){
  30.         Wei = smg_wei[i];
  31.         if(i==4)
  32.                 Duan = smg_duan1[num1[i]];        
  33.         else
  34.                 Duan = smg_duan[num1[i]];
  35.         delay_ms(1);
  36.         }
  37. }
  38. void main(){
  39.         uint ad_value;
  40.         long dis;
  41.         while(1){
  42.                 max=0;
  43.                 display(dis);
  44.                 START = 0;
  45.                 START = 1;
  46.                 _nop_();
  47.                 _nop_();
  48.                 START = 0;    //產(chǎn)生下降沿,啟動AD
  49.                 while(!EOC);
  50.                 P3=0xff;
  51.                 ad_value=P3;
  52.                 dis=(ad_value)*196.0784*20;
  53.                 if(dis<=5)    //直接測量
  54.                 {
  55.                         max=1;
  56.                         display(dis);
  57.                         START = 0;
  58.                         START = 1;
  59.                         _nop_();
  60.                         _nop_();
  61.                         START = 0;    //產(chǎn)生下降沿,啟動AD
  62.                         while(!EOC);
  63.                         P3=0xff;
  64.                         ad_value=P3;
  65.                         dis=(ad_value)*196.0784;
  66.                 }
  67.                
  68.                 //display(dis);
  69.                 //delay_ms(10);
  70.         }
  71. }
復制代碼



評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:247623 發(fā)表于 2020-6-26 21:00 | 只看該作者
沒有下載的資料?
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表