资料编号:128 下面是相关功能视频演示:
128-基于51单片机的人体红外探测防盗报警(仿真+源码+全套资料)
功能说明:
1、按下紧急报警按键,紧急报警灯闪烁,蜂鸣器报警
2、按下布防按键,布防指示灯开始闪烁,闪烁大约30秒,保持亮的状态,进入布防模式
3、按下取消报警/布防按键,取消布防和紧急报警功能
用按键代替人体感应模块如果按下感应到人体,绿灯亮,否则灭
下面是部分程序展示:
void main()
{
LR=1;//初始化三个灯都是灭
LG=1;
LY=1;
delay(5);
while(1)
{
if(s1==0) //紧急手动报警
{
delay(5); //延时消抖
if(s1==0)
{
delay(5);
while(!s1);
kai=0;
LY=1;
LG=1;
alarm=0; //进入报警状态
Mode1=1; //Mode1置1:紧急报警过程中以防按了布防键取消紧急报警
delay(5);
}
}
if(s3==0) //取消报警
{
delay(5);
if(s3==0)
{
delay(5);
while(!s3);
LR=1;
LY=1;
Mode=1;
Mode1=0;
alarm=1;
delay(5);
}
}
if(s2==0) //布防
{
if(Mode1==1) //判断Mode1的状态,如果是紧急报警状态就保持,否则进入布防设置
{
alarm=0;
}
else
{
for(t=0;t<200;t++)
{
LY=~LY;
delay(200);
}
LR=1;
LY=0;
Mode=0; //布防状态标识
kai=1;
delay(5);
}
}
if(alarm==0)
{
di();
delay(100);
di();
delay(100);
}
if(HR==1&&Mode==0)
{
alarm=0;//开始进入报警
}
else
{
if(kai)
{
alarm=1;
LR=1;
}
}
if(HR==1) //检测红外模块有信号,绿灯亮,否则灭
{
LG=0;
delay(200);
}
else
{
LG=1;
}
}
}
下面是该资料的分享下载链接: