标题:
杜洋DB1的人体感应模块延时控制程序修改C51单片机
[打印本页]
作者:
hcflair
时间:
2017-7-5 13:41
标题:
杜洋DB1的人体感应模块延时控制程序修改C51单片机
/*********************************************************************************************
接口说明: LED指示灯=15,断电器=32,人体传感器=36
/*********************************************************************************************
说明:
上电:指示灯和主灯亮2秒后灭
有人来时立即主灯亮。人离开2分钟后主灯灭。
主灯灭前30秒时指示灯闪烁。如果闪烁期间有人移动则闪烁停,主灯再亮。
!注意:为了节约电能,请将一次开灯的延时设置在2分钟以内,同时也可延长灯具的寿命。
/*********************************************************************************************/
#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){ //无限循环程序
J = 0;//断电器关
LED = 0;//LED开
DELAY_MS (2000);//延时2秒防止主灯的干扰
for(i=120;i>0;i--){//开关总延时时间
if(i < 30 && J==1){//当计时小于设置值时闪烁
LED = ~LED;//LED闪烁
}
DELAY_MS (500);
if(IN == 1 && LI == 1){//收到传感器信号,同时无光
i=120;//重新计时
LED = 1;//LED关
J=1;//断电器吸合
}
}
}
}
/**********************************************************************************************/
/**********************************************************************************************/
移植过来后不能正常工作,感应模块关掉1分半后LED也不闪,2分钟后继电器也不停,高手请指点下怎么改程序,谢谢
作者:
lzl12399
时间:
2021-6-3 19:23
请问楼主有DB-12的程序吗?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1