|
5黑幣
/*********************************************************************************************
接口說明: LED指示燈=15,斷電器=32,人體傳感器=36
/*********************************************************************************************
說明:
上電:指示燈和主燈亮2秒后滅
有人來時立即主燈亮。人離開2分鐘后主燈滅。
主燈滅前30秒時指示燈閃爍。如果閃爍期間有人移動則閃爍停,主燈再亮。
!注意:為了節(jié)約電能,請將一次開燈的延時設(shè)置在2分鐘以內(nèi),同時也可延長燈具的壽命。
/*********************************************************************************************/
#include <reg51.h> //51頭文件
sbit LED = P1 ^ 5;//指示燈
sbit J = P3 ^ 2;//繼電器控制端
sbit IN = P3 ^ 6;//人體傳感器輸入
sbit LI = P1 ^ 1;//光敏電阻
/*********************************************************************************************/
void DELAY_MS (unsigned int a){//MS延時
unsigned int i;
while( a-- != 0){
for(i = 0; i < 600; i++);
}
}
/**********************************************************************************************/
void main (void){
unsigned char i;
LED = 0;
DELAY_MS (2000);//延時2秒防止主燈的干擾
while(1){ //無限循環(huán)程序
J = 0;//斷電器關(guān)
LED = 0;//LED開
DELAY_MS (2000);//延時2秒防止主燈的干擾
for(i=120;i>0;i--){//開關(guān)總延時時間
if(i < 30 && J==1){//當(dāng)計時小于設(shè)置值時閃爍
LED = ~LED;//LED閃爍
}
DELAY_MS (500);
if(IN == 1 && LI == 1){//收到傳感器信號,同時無光
i=120;//重新計時
LED = 1;//LED關(guān)
J=1;//斷電器吸合
}
}
}
}
/**********************************************************************************************/
/**********************************************************************************************/
移植過來后不能正常工作,感應(yīng)模塊關(guān)掉1分半后LED也不閃,2分鐘后繼電器也不停,高手請指點下怎么改程序,謝謝
|
|