@TOC
一、基于51单片机的智能家居安防系统
1、主要功能
通过人体红外检测模块、光敏传感器、蜂鸣器、继电器模块模拟智能家居安防功能。
2、实验结果
3、实验仿真
4、程序源码
/**
************************************* Copyright ******************************
File name: // 文件名
Author£:Kevin
Version: //1.0
Description: // 用于详细说明此文档完成的主要功能
Others: //
Log: // 公众号:Kevin的学习站
******************************************************************************
*/
/**
************************************* Copyright ******************************
File name: // 文件名
Author:Kevin
Version: //版本号:1.0
Description: // 用于详细说明此程序文件完成的主要功能
Others: // 其它内容的说明
Log: // 公众号:Kevin的学习站
******************************************************************************
*/
#include<reg52.h>
#include "adc0832.h"
#include "delay.h"
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit Inf=P2^0; //人体感应器
sbit relay=P2^1; //继电器
sbit beep=P2^2; //蜂鸣器
bit fag=0;
bit Light=0;
uchar L,S; //定义光照强度、烟雾
uint num,time;//定义计时参数
/******
//系统初始化函数
**********/
void System_Init()
{
Inf=0;
relay=1;
beep=1;
TMOD=0x10;//选择定时器1的方式1
TH1=(65536-45956)/256;//11.030Mhz,定时大概50ms溢出,一个指令1.088us,需计数45956次
TL1=(65536-45956)%256;
EA=1;//中断申请
TR1=0;//关闭定时器
ET1=1;//打通中断
}
/******
//人体·感应控制
******/
void Infare_RI()
{
if((Inf==1)&&(Light==1))
{
fag=1;
TR1=1;//定时器
time=20;//感应到人新时间,20s
}
if(Inf==1)
{
time=20;//感应到人新时间,20s
}
if(fag==1)
{
relay=0;
}
else
{
TR1=0;
relay=1;
}
}
/***************
光照强度和烟雾传感器数值读取
**************/
void light_S()
{
//光照强度读取
L=(ADC0832_read(0)*99)/255;
// 烟雾数值读取
S=(ADC0832_read(1)*99)/255;
//光强小于35%进入等待人来开灯
if(L<35)
{
Light=1;
}
if((L>60)&&(fag==0))//人不在光强大于60%就关灯
{
Light=0;
relay=1;
fag=0;
time=0;
TR1=0;
}
//人在光强大于90%就关灯
if((L>90)&&(fag==1))
{
Light=0;
relay=1;
fag=0;
time=0;
TR1=0;
}
//烟雾浓度大于20%就报警
if(S>20)
{
beep=0;
delay(500);
beep=1;
delay(500);
}
if(S<21)
{
beep=1;
}
}
//主函数
void main()
{
//系统初始化
System_Init();
while(1)
{
light_S(); //光强、烟雾
delay(100);
Infare_RI();//人体·感应
}
}
//定时器50毫秒
void interr_zd1()interrupt 3
{
TH1=(65536-45956)/256;
TL1=(65536-45956)%256;
num++;
if((num==20)&&(time>0)){num=0;time--;}
if(time==0){TR1=0;fag=0;}//感应人离开关闭继电器
}
5、PCB工程
5、资源获取
项目的仿真和程序代码工程已经放在下面公众号里面,可以关注公众号:Kevin的学习站,输入关键字:“智能家居安防系统”,就可以获取啦!创作不易,但您的点赞、关注、收藏就是对我最大的鼓励!