国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

51單片機紅外感應防盜報警設計 仿真程序與PCB原理圖資料

[復制鏈接]
樓主
eng 發(fā)表于 2021-7-12 16:03:22 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
本系統(tǒng)是防火防盜功能,煙霧傳感器能檢測煙霧濃度,濃度超標后單片機驅動聲光報警,當熱釋電紅外傳感器檢測到有人的時候,單片機引腳電平轉換,從而也驅動聲光報警電路進行報警。
本文附件包含了:詳細設計報告文檔、51單片機源碼、PCB和SCH圖紙、Proteus仿真文件、元件清單
完整資源: 基于51的紅外感應防盜報警設計.zip (16.53 MB)
51單片機紅外感應防盜報警設計 仿真程序與PCB原理圖資料 4.jpg
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51單片機紅外感應防盜報警設計 仿真程序與PCB原理圖資料 3.gif
制作出來的實物圖如下:
51單片機紅外感應防盜報警設計 仿真程序與PCB原理圖資料 1.jpg 51單片機紅外感應防盜報警設計 仿真程序與PCB原理圖資料 2.jpg
Altium Designer畫的原理圖和PCB圖如下:(附件中可下載工程文件)

51單片機紅外感應防盜報警設計 仿真程序與PCB原理圖資料 3.png 51單片機紅外感應防盜報警設計 仿真程序與PCB原理圖資料 3.jpg

部分源碼:完整源碼見附件
  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;//關綠燈
復制代碼


沙發(fā)
gometek 發(fā)表于 2024-7-8 10:53:18 | 只看該作者
樓主威武,值得拜讀拜讀
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

手機版|小黑屋|ELEOK |網(wǎng)站地圖

GMT+8, 2026-5-26 04:10

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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