本系统是防火防盗功能,烟雾传感器能检测烟雾浓度,浓度超标后单片机驱动声光报警,当热释电红外传感器检测到有人的时候,单片机引脚电平转换,从而也驱动声光报警电路进行报警。
本文附件包含了:详细设计报告文档、51单片机源码、PCB和SCH图纸、Proteus仿真文件、元件清单
完整资源:
基于51的红外感应防盗报警设计.zip
(16.53 MB)
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
制作出来的实物图如下:
Altium Designer画的原理图和PCB图如下:(附件中可下载工程文件)
部分源码:完整源码见附件
- #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)//延时函数
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void main()//主函数
- {
- 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))//在初始状态和按下取消键后可以进去这个函数
- {
- 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;//清计数为0
- EA=0;//关中断
- num=0;//记的秒数清零
- lv=1;//关绿灯
复制代码
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|