• 基于51单片机的人体红外探测防盗报警


    资料编号: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;
            }             
        }
    }

     下面是该资料的分享下载链接:

    https://pan.baidu.com/s/1GiqM0tVs-28QaOMzt8tCaQ?pwd=09oy

  • 相关阅读:
    原生js--封装点击上传附件
    sqlserver系统存储过程添加用户学习
    浏览器本地储存
    【STL】用一棵红黑树封装map和set
    STM32人脸识别系统设计(程序代码+论文)
    [C进阶] 数据在内存中的存储——浮点型篇
    【数学基础】P问题-NP问题-NP-c问题-NP-hard问题常见辨析
    使用策略模式优化多重if/else
    JAVA代码审计-XSS漏洞分析
    canvas绘制刮涂层抽奖效果
  • 原文地址:https://blog.csdn.net/m0_74295839/article/details/127836714