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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2274|回復: 0
收起左側

51單片機光照強度檢測系統程序Proteus仿真電路圖 電位器分壓來代替光敏電阻

[復制鏈接]
ID:1028184 發表于 2023-3-4 21:22 | 顯示全部樓層 |閱讀模式
用滑動電位器分壓來代替采集的電壓信號光敏電阻
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif

電路原理圖如下:
原理圖_00.png

僅參考,文件中包括仿真,文檔和程序,有問題評論下工程文件可到本帖附件中下載)

  1. //程序名:ADC0804 模/數轉換

  2. #include <reg51.h>
  3. #include <intrins.h>           //包含頭文件

  4. sbit adc_rd=P3^7;    //RD
  5. sbit adc_wr=P3^6;    //WR

  6. sbit s1=P2^0;
  7. sbit s2=P2^1;
  8. sbit s3=P2^2;
  9. sbit s4=P2^3;        //四個數碼管位選端
  10. sbit key=P2^4;        //按鍵控制輸出(選配)
  11. sbit out=P2^5;        //輸出控制(選配)

  12. unsigned char Disbuf[]={0,0,0};        //顯示暫存空數組

  13. unsigned char code tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//數字顯示編碼


  14. void display();         //聲明函數
  15. void dsxms()         //延時
  16. {
  17.   unsigned char i;
  18.   for(i=0;i<250;i++);
  19. }

  20. void display() //顯示函數
  21. {
  22.   unsigned char i;
  23.   for(i=0;i<10;i++)        //每次循環10次
  24.     {
  25.      P1=tab[Disbuf[2]];        //顯示個位
  26.      s4=0;                                //打開位
  27.      dsxms();                        //延時
  28.      s4=1;                                //關閉位
  29.   
  30.      P1=tab[Disbuf[1]];//顯示十位,&0x7f是顯示小數點
  31.      s3=0;                                          //打開位
  32.      dsxms();                                  //延時
  33.      s3=1;                                          //關閉位
  34.   
  35.          if(Disbuf[0]==0)                  //如果百位是0時
  36.          P1=0xff;                                  //該位不顯示
  37.          else                                          //百位不為0時
  38.      P1=tab[Disbuf[0]];                  //顯示百位數據
  39.      s2=0;                                          //打開位
  40.      dsxms();                                  //延時
  41.      s2=1;                                          //關閉位

  42.          P1=0xff;           //顯示空白
  43.      s1=0;                                //打開位
  44.          dsxms();                        //延時
  45.          s1=1;                                //關閉位
  46.    }  
  47. }

  48. void adc()                                          //adc的初始化函數
  49. {
  50.     adc_wr=0;
  51.     _nop_();
  52.     adc_wr=1;
  53. }

  54. unsigned char read()                  //讀AD轉換值
  55. {
  56.    unsigned char r;
  57.    P0=0xff;                                   //P0口復位
  58.    _nop_();                                          //延時
  59.    adc_rd=0;                                  //rd拉低
  60.    _nop_();                                          //延時
  61.    r=P0;                                           //讀取P0口數據
  62.    _nop_();                                          //延時
  63.    adc_rd=1;                                  //rd拉高
  64.    return(r);                                  //返回讀到的數據
  65. }
復制代碼

Keil代碼與Proteus8.13仿真下載: 基于51單片機的光照強度檢測系統 .zip (290.72 KB, 下載次數: 48)

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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