本系統(tǒng)是防火防盜功能,煙霧傳感器能檢測煙霧濃度,濃度超標后單片機驅動聲光報警,當熱釋電紅外傳感器檢測到有人的時候,單片機引腳電平轉換,從而也驅動聲光報警電路進行報警。
本文附件包含了:詳細設計報告文檔、51單片機源碼、PCB和SCH圖紙、Proteus仿真文件、元件清單
完整資源:
基于51的紅外感應防盜報警設計.zip
(16.53 MB)
2023-6-17 13:53 上傳
點擊文件名下載附件
4.jpg (10.34 KB)
下載附件
2021-7-12 16:00 上傳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
3.gif (64.21 KB)
下載附件
2021-7-12 15:54 上傳
制作出來的實物圖如下:
1.jpg (34 KB)
下載附件
2021-7-12 15:54 上傳
2.jpg (53.33 KB)
下載附件
2021-7-12 15:54 上傳
Altium Designer畫的原理圖和PCB圖如下:(附件中可下載工程文件)
3.png (15.92 KB)
下載附件
2021-7-12 15:55 上傳
3.jpg (46.16 KB)
下載附件
2021-7-12 15:55 上傳
部分源碼:完整源碼見附件
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit huang=P2^0;//黃燈
- sbit lv=P2^2;//綠燈
- sbit hong=P2^4;//紅燈
- sbit hongwai=P1^0;//熱釋電
- sbit butter=P2^6;//蜂鳴器低電平開蜂鳴器
- sbit baojing=P1^1//直接報警按鍵;
- sbit bufang=P1^7;//布防按鍵
- sbit quxiao=P3^4;//取消按鍵
- uchar tt=0;//定時器變量
- uchar num=0;//定時的計時變量
- uchar flag=0;//標志位
- void timer1init(void)//定時器1,16位方式2
- { EA=0;
- TMOD=0x11;//設置定時器0為工作方式1
- TH0=(65536-10000)/256;
- TL0=(65536-10000)%256;
- ET0=1;//開定時器0中斷
- TR0=1;//啟動定時器0
- tt=0;//
- EA=0;//關總中斷
- }
- void delay(uint z)//延時函數(shù)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void main()//主函數(shù)
- {
- huang=0;//初始黃燈亮
- lv=0;//初始綠燈亮
- hong=0;//初始紅燈亮
- timer1init();//初始化定時器
- while(1)
- {
-
- if(!baojing)//如果直接報警鍵被按下
- {
- delay(5);//延時消抖
- if(!baojing)//判斷報警鍵是不是被按下
- {
- hong=1;//紅燈亮
- lv=0; //綠燈滅
- flag=7;//標志位等于7
- butter=0;//蜂鳴器響
- EA=0;//關中斷
- }
- while(!baojing);//判斷按鍵是不是彈開
- delay(5);//如果彈開延時消抖
- while(!baojing);//彈開后跳出程序
- }
- if((!bufang)&&(flag<4))//在初始狀態(tài)和按下取消鍵后可以進去這個函數(shù)
- {
- delay(5);//延時消抖
- if(!bufang)//如果布防被按下
- {
- EA=1; //開定時器
- flag=2;//另=2
- }
- while(!bufang);//布防鍵是不是彈開
- delay(5);//延時
- while(!bufang);//布防鍵彈開
- }
- if(!quxiao)//如果取消鍵按下
- {
- delay(5);//延時消抖
- if(!quxiao)//取消鍵是不是按下
- {
- flag=3;//FLAG等于3
- butter=1;//蜂鳴器不響
- tt=0;//
- num=0;//定時初始0
- EA=0;//關中斷
- lv=0;//綠燈滅
- hong=0;//紅燈滅
- }
- while(!quxiao);//取消按鍵抬開
- delay(5);//延時消抖
- while(!quxiao);//如果彈開跳出
- }
- if(flag==4)//如果布防時間到
- {
- tt=0;//清計數(shù)為0
- EA=0;//關中斷
- num=0;//記的秒數(shù)清零
- lv=1;//關綠燈
復制代碼
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發(fā)內容真實性、客觀性、可用性不做任何保證也不負任何責任,網(wǎng)友之間僅出于學習目的進行交流。3、對提供的數(shù)字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數(shù)字內容進行商業(yè)交易、轉載等行為,該內容只為學習所提供,使用后發(fā)生的一切問題與本站無關。 4、本網(wǎng)站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網(wǎng)站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|