久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1838|回復: 1
收起左側

單片機模擬感應燈程序Proteus仿真 ADC0832采集光敏電阻自動燈光控制

[復制鏈接]
ID:129825 發表于 2024-1-20 11:36 | 顯示全部樓層 |閱讀模式
模擬感應燈仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif

用普通電位器來模擬光敏電阻

單片機源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>

  3. /*********************************************************/
  4. // 宏定義
  5. /*********************************************************/

  6. #define uchar unsigned char                // 以后unsigned char就可以用uchar代替
  7. #define uint  unsigned int                // 以后unsigned int 就可以用uint 代替

  8. /*********************************************************/
  9. // 端口定義
  10. /*********************************************************/

  11. sbit ADC_CS  = P2^5;                                         // ADC0832的CS引腳
  12. sbit ADC_CLK = P2^6;                                         // ADC0832的CLK引腳
  13. sbit ADC_DAT = P2^7;                                         // ADC0832的DI/DO引腳

  14. sbit LED = P2^1;
  15. sbit Induction  = P3^2;                                        // 人體紅外檢測模塊


  16. /*********************************************************/
  17. // ADC0832的時鐘脈沖
  18. /*********************************************************/
  19. void WavePlus()
  20. {
  21.         _nop_();
  22.         ADC_CLK = 1;
  23.         _nop_();
  24.         ADC_CLK = 0;
  25. }

  26. /*********************************************************/
  27. // 獲取指定通道的A/D轉換結果
  28. /*********************************************************/
  29. uchar Get_ADC0832()
  30. {
  31.         uchar i;
  32.         uchar dat1=0;
  33.         uchar dat2=0;
  34.         
  35.         ADC_CLK = 0;                                // 電平初始化
  36.         ADC_DAT = 1;
  37.         _nop_();
  38.         ADC_CS = 0;
  39.         WavePlus();                                        // 起始信號
  40.         ADC_DAT = 1;
  41.         WavePlus();                                        // 通道選擇的第一位
  42.         ADC_DAT = 0;      
  43.         WavePlus();                                        // 通道選擇的第二位
  44.         ADC_DAT = 1;
  45.         
  46.         for(i=0;i<8;i++)                // 第一次讀取
  47.         {
  48.                 dat1<<=1;
  49.                 WavePlus();
  50.                 if(ADC_DAT)
  51.                         dat1=dat1|0x01;
  52.                 else
  53.                         dat1=dat1|0x00;
  54.         }
  55.         
  56.         for(i=0;i<8;i++)                // 第二次讀取
  57.         {
  58.                 dat2>>= 1;
  59.                 if(ADC_DAT)
  60.                         dat2=dat2|0x80;
  61.                 else
  62.                         dat2=dat2|0x00;
  63.                 WavePlus();
  64.         }
  65.         
  66.         _nop_();                                                // 結束此次傳輸
  67.         ADC_DAT = 1;
  68.         ADC_CLK = 1;
  69.         ADC_CS  = 1;   

  70.         if(dat1 == dat2)                        // 返回采集結果
  71.                 return dat1;
  72.         else
  73.                 return 0;
  74. }

  75. /*********************************************************/
  76. // 自動燈光控制
  77. /*********************************************************/
  78. void AutoControl()
  79. {
  80.         uchar ret;
  81.         ret=Get_ADC0832();                // 獲取AD采集結果(環境光照強度)
  82.         if(ret <= 29 && Induction == 1)        
  83.         {
  84.                 LED = 0; //點亮LED
  85.         }        
  86.         else
  87.         {
  88.                 LED = 1;
  89.         }               
  90. }

  91. /*********************************************************/
  92. // 主程序
  93. /*********************************************************/
  94. void main()
  95. {
  96.         while(1)
  97.         {
  98.                 AutoControl();
  99.         }
  100. }
復制代碼

仿真程序51hei附件下載:
感應燈.zip (128.08 KB, 下載次數: 49)


評分

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

查看全部評分

回復

使用道具 舉報

ID:291549 發表于 2024-1-22 20:05 | 顯示全部樓層
感謝這么好的仿真程序
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲色图图片 | 久久99精品久久久久久国产越南 | 超碰97人人人人人蜜桃 | 亚洲精品免费视频 | 亚洲视频精品 | 在线视频中文字幕 | 欧美激情视频一区二区三区免费 | 一区二区三区久久 | 麻豆一区二区三区 | www.欧美.com| 久久在线 | 欧美一级片在线看 | 中文字幕在线一区 | 91久久久精品国产一区二区蜜臀 | 嫩草网| 伊色综合久久之综合久久 | 国产伦精品一区二区三区精品视频 | 久久久久久久一区二区三区 | 精品视频一区二区 | 天天操天天射综合 | 99影视| 男人天堂网址 | 丁香婷婷久久久综合精品国产 | 九色在线观看 | 亚洲国产成人av好男人在线观看 | 精品欧美一区二区在线观看欧美熟 | 毛片韩国 | 国产精品免费一区二区三区 | 亚洲精品一区二区三区中文字幕 | 日韩精品一区二区三区中文在线 | 亚洲情综合五月天 | 精品国产乱码一区二区三区 | www.久久久久久久久久久久 | 五月婷婷婷 | 大吊一区二区 | 国产韩国精品一区二区三区 | 日韩欧美在线视频一区 | 91在线中文字幕 | 亚洲免费在线视频 | 久久久精彩视频 | 欧美中文字幕一区二区 |