找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5314|回复: 6
收起左侧

红外报警器单片机程序与电路图

[复制链接]
ID:234347 发表于 2017-9-23 23:19 | 显示全部楼层 |阅读模式
电路原理图如下:

总电路图

总电路图

红外报警器源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char  
  3. #define uint  unsigned int
  4. uchar Mode=1,t;   
  5. sbit s1=P1^2;
  6. sbit s2=P1^3;
  7. sbit s3=P1^4;   
  8. bit alarm=1,kai=1;
  9. //LED  
  10. sbit LR=P0^0;
  11. sbit LY=P0^1;
  12. sbit LG=P0^2;
  13. //蜂鸣器  
  14. sbit Feng=P2^7;
  15. //人体热释电传感器
  16. sbit HR=P2^4;   
  17. void delay(uint x) //毫秒级延时函数
  18. {   
  19.   uint i,j;   
  20.   for(i=x;i>0;i--)      
  21.        for(j=110;j>0;j--);
  22. }   
  23. void di()
  24. {   
  25.   Feng=0;   
  26.   delay(100);  
  27.   Feng=1;
  28. }   
  29. void main()
  30. {   
  31.     LR=1;  
  32.     LG=1;  
  33.     LY=1;  
  34.     while(1)  
  35.     {   
  36.         if(s1==0)    //紧急手动报警   
  37.         {      
  38.               delay(5);      
  39.               if(s1==0)    //紧急手动报警     
  40.               {      
  41.                 delay(5);      
  42.                 while(!s1);      
  43.                 di();      
  44.                 //开启指示灯   报警红灯      
  45.                 kai=0;      
  46.                 LR=0;      
  47.                 LY=1;      
  48.                 LG=1;      
  49.                 alarm=0;      
  50.                 delay(200);     
  51.               }      
  52.          }   
  53.        if(s3==0)   //取消报警
  54.        {               
  55.             delay(5);      
  56.             if(s3==0)         
  57.             {      
  58.                delay(5);      
  59.                while(!s3);      
  60.                di();     
  61.                //关闭模式     
  62.                // Mode=1;      
  63.                   LR=1;      
  64.                   alarm=1;      
  65.                   delay(200);     
  66.              }   
  67.         }   
  68.         if(s2==0)   //布防   
  69.         {      
  70.                delay(5);      
  71.                if(s2==0)         
  72.                {      
  73.                  delay(5);      
  74.                  while(!s2);      
  75.                  di();      

  76.                   //开启指示灯    布防绿灯      
  77.                   LR=1;      
  78.                   LY=0;      
  79.                   LG=1;      
  80.                   Mode=0;      
  81.                   kai=1;     
  82.                }   
  83.         }        
  84.     if(alarm==0)   
  85.     {     
  86.          //报警   
  87.          di();     
  88.          delay(100);     
  89.          di();
  90.          delay(100);   
  91.     }     
  92.       //判断红外状态   
  93.    if(HR==0&&Mode==0)   
  94.    {     
  95.           LR=0;   //报警红灯   
  96.           alarm=0;   
  97.     }   
  98.    else   
  99.    {     
  100.          if(kai)   
  101.          {      
  102.              alarm=1;     
  103.              LR=1;   
  104.           }   
  105.        }   
  106.        if(HR==0)   
  107.        {     
  108.           LG=0;     
  109.           delay(200);   
  110.         }   
  111.         else   
  112.         {     
  113.             LG=1;   
  114.          }      
  115.      }  
  116. }
复制代码


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:364407 发表于 2018-7-12 19:19 | 显示全部楼层
关键的传感器呢
回复

使用道具 举报

ID:99341 发表于 2018-7-29 21:33 来自手机 | 显示全部楼层
如果楼主发个全套资料就好了。
回复

使用道具 举报

ID:412495 发表于 2018-10-19 22:15 | 显示全部楼层
研究研究
回复

使用道具 举报

ID:410791 发表于 2018-10-20 01:07 | 显示全部楼层
没有红外部分呀
回复

使用道具 举报

ID:726183 发表于 2020-4-17 15:01 来自手机 | 显示全部楼层
缺少东西
回复

使用道具 举报

ID:1034506 发表于 2022-12-25 22:03 | 显示全部楼层
aa1996 发表于 2018-10-20 01:07
没有红外部分呀

这是仿真所以用按键代替检测人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表