基于51单片机的智能家居防火防盗系统设计
自动开关灯,温度,烟雾浓度报警,数值可调节等;附赠资料包含原理图,仿真,代码(C语言),实物的元件清单及功能演示视频。适合课设。
CSDN内下载地址:下载地址
系统设计
-
- 基于51单片机的智能家居防火防盗系统设计
- 人体红外采集电路设计
- 温度传感器电路设计
- 烟雾传感器电路设计
- 光线采集电路设计
- AD电路设计
- 液晶显示电路设计
- 部分代码展示(按键部分)
人体红外采集电路设计
在人体红外采集电路设计中,选用热释电红外传感器(PIR),它能将波长为8-12um之间的红外信号变化转变为电信号,并能对自然界中的白光信号具有抑制作用。人体发射的10微米左右的红外线通过菲涅尔滤光片增强后聚集到热释电元件上,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。
温度传感器电路设计
在温度传感器电路设计模块中,选用智能温度传感器DS18B20作为温度测量装置,这种温度传感器有独特的单线接口方式,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;其测温范围 -55℃~+125℃,固有测温分辨率0.5℃,当在-10℃~+85℃范围内,可确保测量误差不超过0.5℃,在-55~+125℃范围内,测量误差也不超过2℃;可用数据线供电,供电电压范围:+3.0V~+5.5V;用户可自设定非易失性的报警上下限值;并且DS18B20的转换速率比较高,进行9位的温度值转换只需93.75ms。
烟雾传感器电路设计
在烟雾传感器电路设计中,采用的是MQ-2型烟雾传感器。该烟雾传感器是二氧化锡半导体型气敏材料,当处于200-300°C温度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒受到该烟雾的调制而变化,就会引起表而电导率的变化。利用这一点可以获得烟雾存在的信息。MQ-2型烟雾传感器对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感。
光线采集电路设计
在光线采集电路设计中,使用的探测元件是LY-C1光敏传感器。这种类型的光敏电阻对周围环境光强最敏感,一般用来检测周围环境光强。入射光强,电阻减小,入射光弱,电阻增大。输出状态灵敏度可调。光敏与电位器串联分压,节点接到三极管基极,三极管将电阻的变化转换成电平的变化送给单片机,单片机读取电平,判断是白天还是夜晚。
AD电路设计
AD转换模块选用ADC0809。ADC0809采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片内有锁存功能的8路选1的模拟开关,由C、B、A引脚的功能来决定所选的通道。0809完成一次转换需100us左右,输出具有TTL三态锁存缓冲器,可直接连接到MCS-51单片机的数据总线上。通过适当的外接电路,0809可对0-5V的模拟信号进行转换。
液晶显示电路设计
液晶显示电路采用LCD1602液晶显示屏。其显示的内容为16X2,即可以显示两行,每行16个字符。LCD1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符图有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
部分代码展示(按键部分)
void Key()
{
//模式选择
if(Key1==0&&flag_owner==0) //主人在家时按下设置键有效
{
delay(20); //延时去抖
if(Key1==0) //再次判断按键
{
flag_set=1;
BJ=0; LED_yanwu=1;LED_wenduH=1;LED_wenduL=1; //按下设置键关闭报警
Mode++; //模式加
if(Mode>=4) //模式加到最大
{
Mode=0; //清零
flag_set=0; //设置变量清零
}
while(Key1==0);
}
}
///
if(Key2==0) //按下加按键时,相对应的上下限做加运算
{
delay(20); //延时去抖
if(Key2==0) //再次判断按键按下
{
shanshuo=0; //闪烁变量清零
m=0;
if(Mode==1) //模式为1,设置上限
{
wendu_H++;
if(wendu_H>=99)
wendu_H=99;
}
else if(Mode==2) //模式为2,设置下限
{
wendu_L++;
if(wendu_L>=wendu_H) //下限不能超过上限
wendu_L=wendu_H-1;
}
else if(Mode==3) //模式为3,设置烟雾
{
yanwu_H++;
if(yanwu_H>=255)
yanwu_H=255;
}
}
while(!Key2); //按键释放
}
if(Key3==0) //按下减按键时,相应上下限做减运算
{
delay(20);
if(Key3==0)
{
shanshuo=0;
m=0;
if(Mode==1)
{
wendu_H--;
if(wendu_H<=wendu_L) //同理,上限不能小于下限
wendu_H=wendu_L+1;
}
else if(Mode==2)
{
wendu_L--;
if(wendu_L<=0)
wendu_L=0;
}
else if(Mode==3)
{
yanwu_H--;
if(yanwu_H<=0)
yanwu_H=0;
}
}
while(!Key3);
}
//
if (light==0&&flag_owner==0) LED_LED=0; //光线暗并且主人在家时开灯
else LED_LED=1; //否则关灯
if(owner==0) //主人是否在家切换按键
{
delay(20);
if(owner==0)
{
Mode=0;
flag_owner=!flag_owner; //主人是否在家标志位
}
while(!owner); //按键释放
}
if(door==1&&hongwai==1&&flag_owner==1) flag_BJ=1; //主人不在家时门开并且热释电检测到有人进来时报警
else flag_BJ=0; //否则不报警
// delay(200); //延时
// write_com(0x38);//屏幕初始化
// write_com(0x0c);//打开显示 无光标 无光标闪烁
}
CSDN内下载地址:下载地址