找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 28470|回復: 40
收起左側

單片機+人體紅外感應的防盜系統(tǒng)設計(仿真+源碼+PCB文件+報告)

  [復制鏈接]
ID:419380 發(fā)表于 2018-11-1 21:04 | 顯示全部樓層 |閱讀模式
1.根據(jù)系統(tǒng)功能要求并且考慮產品的性價比進行系統(tǒng)的整體方案設計,包括系統(tǒng)  的選型、所選芯片的功能、芯片外圍電路的合理設計等。
2.系統(tǒng)硬件抗干擾技術與軟件抗干擾技術的研究與實現(xiàn)。
3.系統(tǒng)硬件與軟件的聯(lián)合仿真與調試。

本設計是針對普通的家庭防盜而設計,與相似功能的系統(tǒng)相比,具有如下的創(chuàng)新:
(1)移植性高。本設計考慮現(xiàn)代家居的特點,參考了大多數(shù)的被盜情況,適合任何家庭使用。
(2)成本低。本設計采用單片機作為控制芯片,所需要的外圍電路較少,且所有子電路均能從市場上購買,制造成本低。
(3)功能擴展性好。本設計稍加修改就可增加檢查火災或煤氣泄漏等功能,發(fā)展前景很大。
(4)安全性高。本設計考慮到其安全性,采用全封閉安裝,致使竊賊無法破壞其裝備,具有良好的安全性。

制作基于51單片機和人體紅外感應模塊的的防盜系統(tǒng)電路原理圖如下:
0.png

制作出來的實物圖如下:
0.png IMG_20151008_203001.jpg 0.jpg

防盜系統(tǒng)仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png 0.png 0.png

Altium Designer畫的防盜系統(tǒng)電路原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png 0.png


防盜系統(tǒng)的單片機源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit huang=P2^0;//黃燈
  5. sbit lv=P2^2;//綠燈
  6. sbit hong=P2^4;//紅燈

  7. sbit hongwai=P1^0;//熱釋電
  8. sbit butter=P2^6;//蜂鳴器低電平開蜂鳴器

  9. sbit  baojing=P1^1//直接報警按鍵;
  10. sbit  bufang=P1^7;//布防按鍵
  11. sbit  quxiao=P3^4;//取消按鍵
  12. uchar tt=0;//定時器變量
  13. uchar num=0;//定時的計時變量
  14. uchar flag=0;//標志位
  15. void timer1init(void)//定時器1,16位方式2
  16. {        EA=0;
  17.        TMOD=0x11;//設置定時器0為工作方式1
  18.         TH0=(65536-10000)/256;
  19.         TL0=(65536-10000)%256;
  20.         ET0=1;//開定時器0中斷
  21.         TR0=1;//啟動定時器0
  22.         tt=0;//
  23.         EA=0;//關總中斷
  24. }
  25. void delay(uint z)//延時函數(shù)
  26. {
  27.         uint x,y;
  28.         for(x=z;x>0;x--)
  29.                 for(y=110;y>0;y--);
  30. }
  31. void main()//主函數(shù)
  32. {      
  33.                  huang=0;//初始黃燈亮
  34.                  lv=0;//初始綠燈亮
  35.                  hong=0;//初始紅燈亮
  36.                  timer1init();//初始化定時器
  37.                  while(1)
  38.                  {
  39.                   
  40.             if(!baojing)//如果直接報警鍵被按下
  41.                                 {
  42.                                         delay(5);//延時消抖
  43.                                         if(!baojing)//判斷報警鍵是不是被按下
  44.                                         {
  45.                                           hong=1;//紅燈亮
  46.                                           lv=0;        //綠燈滅
  47.                                           flag=7;//標志位等于7
  48.                                           butter=0;//蜂鳴器響
  49.                                           EA=0;//關中斷
  50.                                         }
  51.                                         while(!baojing);//判斷按鍵是不是彈開
  52.                                         delay(5);//如果彈開延時消抖
  53.                                         while(!baojing);//彈開后跳出程序
  54.                                 }            
  55.              if((!bufang)&&(flag<4))//在初始狀態(tài)和按下取消鍵后可以進去這個函數(shù)
  56.                                 {
  57.                                         delay(5);//延時消抖
  58.                                         if(!bufang)//如果布防被按下
  59.                                         {
  60.                                            EA=1;   //開定時器
  61.                                            flag=2;//另=2
  62.                                         }
  63.                                         while(!bufang);//布防鍵是不是彈開
  64.                                         delay(5);//延時
  65.                                         while(!bufang);//布防鍵彈開
  66.                                 }
  67.                         if(!quxiao)//如果取消鍵按下
  68.                                 {
  69.                                         delay(5);//延時消抖
  70.                                         if(!quxiao)//取消鍵是不是按下
  71.                                         {   
  72.                                           flag=3;//FLAG等于3
  73.                                           butter=1;//蜂鳴器不響
  74.                                           tt=0;//
  75.                                           num=0;//定時初始0
  76.                                           EA=0;//關中斷
  77.                                           lv=0;//綠燈滅
  78.                                           hong=0;//紅燈滅
  79.                                         }
  80.                                         while(!quxiao);//取消按鍵抬開
  81.                                         delay(5);//延時消抖
  82.                                         while(!quxiao);//如果彈開跳出

  83.                                 }
  84.                     if(flag==4)//如果布防時間到
  85.                           {
  86.                            tt=0;//清計數(shù)為0
  87.                            EA=0;//關中斷
  88.                            num=0;//記的秒數(shù)清零
  89.                            lv=1;//關綠燈
  90.                            flag=5;//flag等于5

  91.                           }        
  92.                         if(hongwai)//如果感應到人黃燈亮
  93.                            huang=1;
  94.                         else  huang=0;//感應不到人黃燈滅

  95.                         if(flag==5)//如果flag等于5
  96.                            {
  97.                              if(hongwai)//如果感應到人
  98.                                    {
  99.                                     butter=0;//蜂鳴器響
  100.                                     EA=1;//開中斷
  101.                                     }
  102.                            }
  103.                                  
  104.                  }
  105. }

  106. void time0() interrupt 1
  107. {
  108.         TH0=(65536-50000)/256;
  109.         TL0=(65536-50000)%256;
  110.         tt++;
  111.         if(tt==10)
  112.           {tt=0; num++;}
  113.         if((flag==5)&&(num%2==0))//布防15秒后會讓flag=5 ,num為偶數(shù)燈亮
  114.             hong=1;
  115.         if((flag==5)&&(num%2==1))//布防15秒后會讓flag=5 ,num為奇數(shù)燈滅
  116.             hong=0;
  117.         if((flag==2)&&(num%2==0))//按鍵布防鍵后flag等于2,num為偶數(shù)燈亮
  118.               lv=1;
  119.         if((flag==2)&&(num%2==1)) // 按鍵布防鍵后flag等于2,num為奇數(shù)燈滅
  120.               lv=0;
  121.         if((flag==2)&&(num==30))//布防時間,num=30即15秒,可以更改此實現(xiàn)布防延遲時間
  122.            flag=4;

  123.            
  124. }
復制代碼
0.png

所有資料51hei提供下載:
修改版本(防盜).7z (4.69 MB, 下載次數(shù): 1179)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:272353 發(fā)表于 2018-11-2 13:50 | 顯示全部樓層
謝謝分享,應該是樓主為了防止伸手黨,故意改錯了幾個io,導致無法仿真.我下載修復了一下程序,燈和按鍵都正常了

原版程序.7z

19.85 KB, 下載次數(shù): 103, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:417605 發(fā)表于 2018-11-4 19:00 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

ID:89286 發(fā)表于 2018-11-6 12:08 | 顯示全部樓層
thanks forsharing
回復

使用道具 舉報

ID:431038 發(fā)表于 2018-11-22 15:03 | 顯示全部樓層
學習一下,感謝分享
回復

使用道具 舉報

ID:433376 發(fā)表于 2018-11-29 10:17 | 顯示全部樓層
加油,很好的東西
回復

使用道具 舉報

ID:93672 發(fā)表于 2018-11-30 09:11 | 顯示全部樓層
學習一下,感謝分享
回復

使用道具 舉報

ID:424223 發(fā)表于 2018-12-1 16:47 | 顯示全部樓層
感覺很不錯,大佬加油
回復

使用道具 舉報

ID:399179 發(fā)表于 2018-12-1 19:57 來自觸屏版 | 顯示全部樓層
我在某寶買了個hc_rs501怎么一直有重復輸出?
回復

使用道具 舉報

ID:315554 發(fā)表于 2018-12-3 17:54 | 顯示全部樓層
很喜歡這個制作,已下,有空試試,如果加多路輸入就更好了,
回復

使用道具 舉報

ID:437238 發(fā)表于 2018-12-20 15:51 | 顯示全部樓層
請問紅外熱釋電模塊需要驅動電路嗎?
回復

使用道具 舉報

ID:458428 發(fā)表于 2018-12-30 10:02 | 顯示全部樓層
多謝分享
回復

使用道具 舉報

ID:449256 發(fā)表于 2019-1-3 18:34 | 顯示全部樓層
大佬 為什么喇叭不響啊
回復

使用道具 舉報

ID:165792 發(fā)表于 2019-1-9 19:48 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:482370 發(fā)表于 2019-3-1 10:34 來自觸屏版 | 顯示全部樓層
真的很好,源碼,pcb都有
回復

使用道具 舉報

ID:513399 發(fā)表于 2019-4-16 10:38 | 顯示全部樓層
學習一下,感謝分享
回復

使用道具 舉報

ID:637133 發(fā)表于 2019-11-8 12:49 | 顯示全部樓層
感謝分享
回復

使用道具 舉報

ID:637133 發(fā)表于 2019-11-9 13:46 | 顯示全部樓層
為什么喇叭不響
回復

使用道具 舉報

ID:523989 發(fā)表于 2019-11-20 18:56 | 顯示全部樓層
謝謝分享!!會好好學習的
回復

使用道具 舉報

ID:646261 發(fā)表于 2019-11-21 09:57 | 顯示全部樓層
很好的東西,學習了。
回復

使用道具 舉報

ID:629731 發(fā)表于 2019-11-21 11:41 來自觸屏版 | 顯示全部樓層
感謝分享。嘻嘻
回復

使用道具 舉報

ID:629731 發(fā)表于 2019-11-24 00:31 來自觸屏版 | 顯示全部樓層
很好 非常實用哦
回復

使用道具 舉報

ID:649095 發(fā)表于 2019-11-25 16:07 | 顯示全部樓層
感謝分享
回復

使用道具 舉報

ID:584103 發(fā)表于 2019-12-6 12:40 | 顯示全部樓層
感謝分享
回復

使用道具 舉報

ID:666809 發(fā)表于 2020-1-5 00:05 來自觸屏版 | 顯示全部樓層
感謝可以加好友交流一下嗎
回復

使用道具 舉報

ID:185751 發(fā)表于 2020-1-7 11:23 | 顯示全部樓層
謝謝分享,剛好需要
回復

使用道具 舉報

ID:688120 發(fā)表于 2020-1-25 13:56 | 顯示全部樓層
謝謝分享,剛好需要
回復

使用道具 舉報

ID:106852 發(fā)表于 2020-2-6 14:17 | 顯示全部樓層
謝謝分享��!
回復

使用道具 舉報

ID:727855 發(fā)表于 2020-4-12 23:16 | 顯示全部樓層
學習一下,感謝分享
回復

使用道具 舉報

ID:258520 發(fā)表于 2020-4-18 02:04 | 顯示全部樓層
感謝分享 下載學習學習�。。�!
回復

使用道具 舉報

ID:748312 發(fā)表于 2020-5-10 17:31 | 顯示全部樓層
學習學習,謝謝樓主提供
回復

使用道具 舉報

ID:230742 發(fā)表于 2020-12-18 11:15 | 顯示全部樓層
感謝分享。正研究這個呢�?ㄔ诩t外傳感器出來的是高電平,單片機高電平觸發(fā)我還沒有學會。
回復

使用道具 舉報

ID:357153 發(fā)表于 2020-12-28 11:49 | 顯示全部樓層
感謝樓主的分享。收藏、值得學習
回復

使用道具 舉報

ID:909603 發(fā)表于 2021-4-21 13:30 | 顯示全部樓層
感謝分享,人體紅外模塊是不是用的紅外探測傳感器?
回復

使用道具 舉報

ID:840429 發(fā)表于 2021-5-12 17:36 | 顯示全部樓層
蜂鳴器沒反應
回復

使用道具 舉報

ID:731755 發(fā)表于 2021-5-12 21:32 | 顯示全部樓層
建議樓主,加個315M的無線模塊, 這邊搞個無線接收模塊,就更加完美了
回復

使用道具 舉報

ID:69536 發(fā)表于 2021-5-15 08:54 | 顯示全部樓層
這個  比較實用了,可以根據(jù)實際環(huán)境仿制一個,謝謝分享
回復

使用道具 舉報

ID:1006959 發(fā)表于 2022-2-26 17:13 | 顯示全部樓層
zc1346790ccv 發(fā)表于 2018-11-2 13:50
謝謝分享,應該是樓主為了防止伸手黨,故意改錯了幾個io,導致無法仿真.我下載修復了一下程序,燈和按鍵都正常 ...

謝謝 資料不錯
回復

使用道具 舉報

ID:872228 發(fā)表于 2022-2-28 16:54 | 顯示全部樓層
會匯編,慢慢研究, 單片機源碼及原理圖.
感謝分享
回復

使用道具 舉報

ID:1006959 發(fā)表于 2022-3-3 09:23 | 顯示全部樓層
會匯編,慢慢研究, 單片機源碼及原理圖.
感謝分享
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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