423【畢設課設】基於51微控制器智慧檯燈節能燈熱釋人體自動感應照明燈
阿新 • • 發佈:2020-12-05
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
51微控制器智慧檯燈節能燈熱釋人體自動感應照明燈23
本系統由STC89C52微控制器、光照檢測、A/D取樣ADC0832、高亮LED燈
、按鍵、液晶LCD1602顯示、人體熱釋紅外模組及電源組成。
1、系統有自動模式和手動模式,按下切換開關,在手動模式,可以通
過手動開燈關燈。
2、再次按下切換開關,系統進入自動模式,如果檢測到有人,且光敏
電阻檢測到的光線強度低於手動設定的光照閾值,則燈亮,否則,不亮。
光照閾值可以手動調節。
3、液晶第一行顯示切換模式,第二行顯示環境光照強度和設定的閾值。
4、人體檢測只有在自動模式下起作用,人體檢測有狀態指示燈指示,
檢測到人指示燈亮否則不亮。
#define DOWN P1_7 //減 sbit led_hot = P3^4;//人體指示燈 sbit SCL=P3^1; //SCL定義連線ADC0832SCL腳 sbit DO=P3^0; //DO定義連線ADC0832DO腳 sbit CS=P3^2; //CS定義連線ADC0832CS腳 sbit renti=P3^7; #define rs P2_4 //LCD1602 #define rw P2_5 //LCD1602 #define e P2_6 //LCD1602 bit Auto_flg; //自動模式標誌位,=1表示手動模式,=0是自動模式 bit TIMER30S_flg; //倒計時30s標誌位 unsigned long time_20ms=0; //定時器計數 uchar dat=0x00; //AD值 uchar CH; //通道變數 uchar Light; //光線強度 char LIGHT_SET=6; //設定光線強度 預設為4 uint Timer_Counter; //倒計時10s中斷計數 uchar Miao; //倒計時10s uchar code table1[]="MODE: Automatic"; uchar code table2[]="LIGHT:0 SET_L:0"; void delay_lcd(uint z) //延時函式約1ms {