欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10282|回復: 7
收起左側

單片機防盜報警器仿真與程序 按鍵控制實現報警、布防、撤防

  [復制鏈接]
ID:198608 發表于 2017-10-26 11:31 | 顯示全部樓層 |閱讀模式

采用51單片機控制,用按鍵代替人體感應模塊如果按下感應到人體綠燈亮,否則滅

3個按鍵:
緊急報警按鍵
布防按鍵
取消報警/布防按鍵

操作說明:
1、按下緊急報警按鍵,緊急報警燈閃爍,蜂鳴器報警
2、按下布防按鍵,布防指示燈開始閃爍,閃爍大約30秒,保持亮的狀態,進入布防模式
3、按下取消報警/布防按鍵,取消布防和緊急報警功能

0.png 0.png

單片機源程序如下:
  1. //51單片機簡人體紅外報警器設計,手動按鍵控制實現緊急報警、布防、撤防、關閉報警)//
  2. #include <reg52.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int

  5. uchar Mode=1,Mode1=0;
  6. uchar t;

  7. sbit s1=P1^0;
  8. sbit s2=P1^2;
  9. sbit s3=P1^1;

  10. bit alarm=1,kai=1;

  11. sbit LR=P2^0;//紅燈報警燈
  12. sbit LY=P2^2;//布防燈
  13. sbit LG=P2^1;//紅外信號檢測燈

  14. sbit Feng=P1^3;//蜂鳴器報警
  15. sbit HR=P0^3;//紅外模塊接入端口

  16. void delay(uint x) //毫秒級延時函數
  17. {
  18.   uint i,j;
  19.   for(i=x;i>0;i--)
  20.      for(j=110;j>0;j--);
  21. }

  22. void di()
  23. {
  24.         LR=0;//蜂鳴器報警,紅燈跟隨閃爍
  25.         Feng=0;
  26.         delay(80);
  27.         LR=1;
  28.         Feng=1;
  29.         delay(200);       
  30. }
  31. void main()
  32. {
  33.         LR=1;//初始化三個燈都是滅
  34.         LG=1;
  35.         LY=1;
  36.         delay(5);
  37.         while(1)
  38.         {
  39.                 if(s1==0)                                //緊急手動報警
  40.                 {
  41.                                 delay(5);           //延時消抖
  42.                                 if(s1==0)       
  43.                                 {
  44.                                         delay(5);
  45.                                         while(!s1);
  46.                                         kai=0;
  47.                                         LY=1;            
  48.                                         LG=1;
  49.                                         alarm=0; //進入報警狀態
  50.                                         Mode1=1; //Mode1置1:緊急報警過程中以防按了布防鍵取消緊急報警
  51.                                         delay(5);
  52.                                 }                         

  53.                 }
  54.                 if(s3==0)                        //取消報警
  55.                 {
  56.                                                                
  57.                                 delay(5);
  58.                                 if(s3==0)                               
  59.                                 {
  60.                                         delay(5);
  61.                                         while(!s3);
  62.                                         LR=1;
  63.                                         LY=1;
  64.                                         Mode=1;
  65.                                         Mode1=0;
  66.                                         alarm=1;
  67.                                         delay(5);
  68.                                 }
  69.                 }
  70.                 if(s2==0)                        //布防
  71.                 {
  72.                         if(Mode1==1) //判斷Mode1的狀態,如果是緊急報警狀態就保持,否則進入布防設置
  73.                         {
  74.                                 alarm=0;
  75.                         }
  76.                         else
  77.                         {
  78.                                 for(t=0;t<200;t++)
  79.                                 {
  80.                                   LY=~LY;
  81.                                   delay(200);
  82.                                 }
  83.                                 LR=1;
  84.                                 LY=0;
  85.                                 Mode=0;        //布防狀態標識
  86.                                 kai=1;
  87.                                 delay(5);
  88.                         }
  89.                                
  90.                 }                
  91.                 if(alarm==0)
  92.                 {
  93.                         di();
  94.                         delay(100);
  95.                         di();
  96.                         delay(100);
  97.                 }
  98.                 if(HR==1&&Mode==0)
  99.                 {
  100.                         alarm=0;//開始進入報警
  101.                 }
  102.                 else
  103.                 {
  104.                         if(kai)
  105.                         {
  106.                                 alarm=1;
  107.                                 LR=1;
  108.                         }
  109.                 }
  110.                 if(HR==1)  //檢測紅外模塊有信號,綠燈亮,否則滅
  111.                 {          
  112.                         LG=0;
  113.                         delay(200);
  114.                 }
  115.                 else
  116.                 {
  117.                         LG=1;
  118.                 …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
單片機防盜報警器.rar (104.7 KB, 下載次數: 209)


點擊鏈接加入【單片機資源共享】jq點qq點com/?_wv=1027&k=5Y9ttWk群號293194307
回復

使用道具 舉報

ID:221012 發表于 2017-10-31 19:34 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:318313 發表于 2018-5-9 14:41 來自觸屏版 | 顯示全部樓層
這個有沒得 hex文件
回復

使用道具 舉報

ID:293762 發表于 2018-5-9 21:57 | 顯示全部樓層
謝謝樓主的分享!努力學習中……
回復

使用道具 舉報

ID:469192 發表于 2019-1-18 17:53 | 顯示全部樓層
謝謝分享!
回復

使用道具 舉報

ID:313118 發表于 2019-3-21 12:33 | 顯示全部樓層
謝謝樓主的分享
回復

使用道具 舉報

ID:755944 發表于 2020-5-19 18:34 | 顯示全部樓層
謝謝樓主的分享學習一下
回復

使用道具 舉報

ID:762192 發表于 2020-5-27 09:45 | 顯示全部樓層
有PCB么
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表