@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的方 TH1=(65536-45956)span class="token operator">/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、资源获取