找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)遠(yuǎn)近光燈切換及下雨檢測(cè)Proteus仿真程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg52.h>                 //庫(kù)文件
  2. #define uchar unsigned char//宏定義無(wú)符號(hào)字符型
  3. #define uint unsigned int  //宏定義無(wú)符號(hào)整型

  4. /********************************************************************
  5.                             I/O定義
  6. *********************************************************************/
  7. sbit yushui=P2^1;         //定義雨水傳感器
  8. sbit guang=P2^0;         //定義光敏傳感器接口
  9. sbit led1=P2^4;  //定義近光燈接口
  10. sbit led2=P2^5;  //定義遠(yuǎn)光燈接口

  11. sbit key=P3^2; //定義按鍵接口
  12. sbit LED=P2^6; //定義示廓燈接口

  13. uchar flag,date;//定義變量
  14. /********************************************************************
  15.                             延時(shí)函數(shù)
  16. *********************************************************************/
  17. void delay(uint ms)                //延時(shí)函數(shù),大約延時(shí)25us
  18. {
  19.         uchar x;
  20.         for(ms;ms>0;ms--)
  21.                 for(x=10;x>0;x--);
  22. }


  23. void Daytime()//設(shè)置白天模式
  24. {
  25.         led2=1;
  26.         if(guang==0) //當(dāng)有光時(shí)
  27.         {
  28.                 led1=1;//燈滅
  29.                
  30.                 delay(100);//延時(shí)
  31.         }
  32.         else//無(wú)光時(shí)
  33.         {
  34.                 led1=0;//燈亮
  35.                 delay(100);//延時(shí)
  36.         }
  37. }

  38. void Night()//設(shè)置夜晚模式
  39. {
  40.         led2=0;//遠(yuǎn)光燈亮
  41.         led1=1;//近光燈滅
  42.         if(guang==0)//當(dāng)有光時(shí)
  43.         {
  44.                 led2=1;//遠(yuǎn)光燈滅
  45.                 led1=0;//近光燈亮
  46.                 delay(100);//延時(shí)
  47.                
  48.         }
  49.         else//無(wú)光時(shí)
  50.         {
  51.           led2=0;//遠(yuǎn)光燈亮
  52.                 led1=1;//近光燈滅
  53.                 delay(100);//延時(shí)
  54.         }
  55. }


  56. /********************************************************************
  57.                             主函數(shù)
  58. *********************************************************************/
  59. void main()
  60. {
  61.         Night();//啟動(dòng)時(shí)默認(rèn)為夜間模式
  62.      while(1)   //無(wú)限循環(huán)
  63.        {
  64.         if(key==0)                                                          //模式切換設(shè)置
  65.                                 {
  66.                                         delay(10);                                                  //延時(shí)去抖
  67.                                         if(key==0)flag=~flag;                                  //再次判斷按鍵,按下的話進(jìn)入自動(dòng)狀態(tài)
  68.                                         while(key==0);//松手檢測(cè)        按鍵釋放
  69.                           }
  70.                                 if(flag)//模式按鍵沒(méi)有按下
  71.                                 {
  72.                                         Night();//夜間模式
  73.                                 }
  74.                                 else//模式按鍵按下
  75.                                 {
  76.                                         Daytime();//白天模式
  77.                                 }       
  78.                                 if(yushui==0)//有雨水時(shí)
  79.                     {
  80.                                         delay(100);          //消抖動(dòng)
  81.                                         if(yushui==0)          //確認(rèn)觸發(fā)
  82.                             {
  83.                                                 LED=0;//示廓燈亮

  84.                                         }
  85.           
  86.                     }
  87.                                 else//沒(méi)有雨水時(shí)
  88.                                 {
  89.                                         LED=1;//示廓燈滅
  90.                                 }
  91.                  

  92.                        
  93.                          }
  94.                                        

  95. }        
復(fù)制代碼

所有資料51hei提供下載:
汽車車燈控制.zip (519.88 KB, 下載次數(shù): 50)


評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:783334 發(fā)表于 2020-6-25 09:36 | 只看該作者
很有用
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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