智能燈光晚上有人+晚上有聲音防盜報警
(1)利用單片機作為中央處理器;
(2)實現了室內無人或者關照充足時燈光自動光燈,有人到來且光照不足時自動開啟燈光或者光線不足有聲音時自動開啟燈光。
(3)延時關燈;
(4)所設計的智能燈光控制系統具有防盜報警功能,布防后如果檢測到人具有聲光報警功能。
(5)所設計的開關系統應做到節(jié)能、智能、耐用、可靠性高以及維護方便。
(6)在硬件設計時,結構要盡量簡單實用、易于實現,使系統電路盡量簡單。(7)根據硬件電路圖,在開發(fā)板上完成器件的焊接。
(8)根據設計的硬件電路,編寫控制STC89C52芯片的單片機程序。
(9)通過編程、編譯、調試,把程序下載到單片機上運行,并實現本設計的功能。
部分源程序如下: #include "std_for_wym.h"
sbit Ji_D_Qi = P1^0; //繼電器接口 sbit Rsd = P1^1; //紅外熱釋電接口 sbit Led = P1^2; //紅外熱釋電信號指示接口 sbit Light = P1^3; //光敏電阻接口 sbit shengyin= P1^4;
#define TIMEMIN 6 //檢測到一次吸合2分鐘 sbit bufang=P2^0; //布防按鍵 sbit beep = P2^1; //蜂鳴器定義 sbit green = P2^5; //綠色發(fā)光二極管定義 sbit yellow = P2^4; //黃色發(fā)光二極管定義 sbit hw = P2^6; //紅外熱釋傳感器定義 bit flag_300ms = 0;
uchar flag_alarm ; //報警標志位 uchar flag_bufang ; //布防標志位 uchar flag_bufang_en ; //布防標志位使能 uint flag_value,flag_value2; //用做定時器的變量 uchar flag_deng_en ; //燈標志位使能 /*************定時器0初始化程序***************/ void time_init() { EA = 1; //開總中斷 TMOD = 0X01; //定時器0工作方式1 ET0 = 1; //開定時器0中斷 TR0 = 1; //允許定時器0定時 }
/******************紅外報警處理**********************/ void hongwai_dis() { if(flag_alarm == 1) //報警 { beep = ~beep; //蜂鳴器報警 } if(flag_bufang_en == 1) //準備開始布防 { green = ~green; //綠燈閃
} if(flag_bufang == 1) //確認布防 { green = 0; //如果延時布防成功 綠燈長亮 if(hw == 1) //紅外有輸出 { flag_alarm = 1; } }
}
|