完整的单片机智能家居系统程序 原理图 实物图 仿真图学位论文Word文档格式.docx
《完整的单片机智能家居系统程序 原理图 实物图 仿真图学位论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《完整的单片机智能家居系统程序 原理图 实物图 仿真图学位论文Word文档格式.docx(45页珍藏版)》请在冰豆网上搜索。
![完整的单片机智能家居系统程序 原理图 实物图 仿真图学位论文Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/26/7d0575e8-22d8-4648-86f4-bad2e0d9072d/7d0575e8-22d8-4648-86f4-bad2e0d9072d1.gif)
本次设计主要分五个个功能,分别为测温湿度,烟雾及红外感应和报警,显示信息和报警信息、自动与手动风扇控制以及键盘控制。
将这几个个功能巧妙的与家居结合,我们已经知道五个单独功能如何实现,现在要将五个功能通过单片机系统化反馈,以达到能实现综合五种功能的智能家居。
设计涉及主硬件:
STC89C52RC单片机,DHT11温室度传感器,DS1302时钟芯片,人体红外感应器,烟雾传感器,智能风扇及其驱动器,按键设置与调控,LCD1602液晶显示模块,光电效应电路,蜂鸣器报警电路,以及超标指示显示模块组成。
系统功能介绍:
智能家庭控制系统的主要功能包括家庭设备自动及部分手动控制、家庭安全防范二个方面。
其中家庭设备自动监控包括电器设备的集中、安全防御、显示完备、控制及数据采集。
(1)通过DHT11温湿度采集数据将信息显示于LCD1602上面,如果温湿度超出设定的预警值,那么风扇会自动开启,并且显示器有显示,指示灯有提示;
待到坏境温湿度降到低于预警值的时候,风扇自动关闭指示也关闭;
同时我们也可以手动按键开启风扇,不需要时则可手动关闭。
(2)通过DS1302时钟芯片可以及时准确的显示时间(年月日,时分秒,及周期)于显示器,非常容易知道查看我们的日常所需时间,并且该时钟芯片带有备用的电池,以便在断电情况下持续备电,以避免时间的不连续。
(3)采用烟雾探头传感器来检测我们周围环境的烟雾,可对煤气甲烷,以及我们周围着火的烟雾,或是抽烟的浓度等实时监测,如有超标,蜂鸣器报警,并有指示灯动作来提醒你解决当前的问题,解决之后,这些显示和指示指标自动关闭,所以能给您带来一定的安全感。
(4)光电感应电路能够根据外界环境光照强度大小来显示是否自动开启光敏电路灯,晚上灯照自动开启,白天则自动关闭,我们可以通过调节其灵敏度来达到我们的日常需求,此外该系统也可以手动开启led灯,来更进一步全方位的满足您的需求
(5)该设计的许多功能可以通过调节其灵敏度或是按键等来更进一步实现需求。
1.2简易方案设计
测温湿度:
测温湿度功能采用了DHT11传感器,该传感器能同时测出环境的温湿度,减少了外部硬件电路,具有低成本和易使用的特点。
感应方案:
感应分为烟雾传感器感测,红外距离感测,光电感测,其中烟雾传感器采用MQ—2探头,红外传感器采用人体感测效应,光电感测采用根据外界光照强度大小效应。
显示方案:
显示功能分别采用1602液晶显示器,1602内部集成有显示芯片,可以识别英文字母、阿拉伯数字和日语片假名,功能比较齐全;
另外含有DS1302时钟芯片能显示完整的时间,基本可以满足本系统的要求。
控制方案:
控制分为手动和自动两种,其中自动控制有光敏电阻(代表日光灯),风扇和蜂鸣器报警,而同时也可以手动控制风扇和灯的开关,体现出人性化以及易操作性的特性。
1.3主要器件型号
a.单片机STC89C52RC
b.温湿度传感器(DHT11)
掌柜档c.显示器(LCD1602液晶)
d.烟雾测试(MQ-2探头)
e.红外传感器:
(人体红外探头)
f.时钟模块:
(DS1302芯片)
g.电机驱动模块:
(LM298驱动)
H.光电感应模块(LM393驱动)
二.系统实现
2.1原理分析与硬件电路图
系统总体设计框图:
总电路图:
总实物图:
简易的PCB图(STC89C52单片机最小系统图):
2.2单片机最小系统模块:
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
其主要功能特性:
①兼容MCS-51指令系统②1000次擦写周期
③32个可编程I/O口④8K字节在系统可编程Flash存储器
⑤3个16位可编程定时/计数器⑥时钟频率0-33MHz
⑦六个中断源⑧看门狗定时器
⑨低功耗空闲和掉电模式⑩掉电标识符
⑾全双工UART串行通道⑿3级加密程序存储器
⒀双数据指针⒁掉电后中断可唤醒
STC89C52引脚简介说明
VCC:
电源电压
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
P1口、P2口和P3口:
都是具有内部上拉电阻的8位双向I/O口,它们的输出缓冲器能驱动4个TTL逻辑电平。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
简述电路:
该电路模块含有电路所需要的晶振起振电路,上电自动或是手动复位电路
2.3光电感应模块:
该电路采用LM393运放芯片来将光敏电阻采集到的模拟数据放大后给予单片机处理,从而达到在白天光照灯亮,而到了晚上则自动熄灭的要求,同时可通过滑动变阻器来调节其灵敏度来满足不同需求。
2.4显示模块:
图.1602引脚图图.1602实物图
本系统显示采用1602显示器:
引脚:
1602采用标准的16脚接口,其中:
第1脚:
VSS为电源地
第2脚:
VCC接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端,高电平
(1)时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极
特性:
3.3V或5V工作电压,对比度可调;
内含复位电路;
提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能;
有80字节显示数据存储器DDRAM;
内建有192个5X7点阵的字型的字符发生器CGROM。
8个可由用户自定义的5X7的字符发生器CGRAM。
字符集:
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'
A’。
具体读如下图。
图
该液晶的功能室显示采集到的温度和湿度,而且当有温湿度和烟雾浓度超过预警值的时候会显示(YWOVER和WHOVER字样),在开启系统时有(WELCOMEtozhjiaju)字样提醒的界面。
2.5温湿度模块:
DHT11系列数字温湿度传感器的特性:
-全量程标定,单线数字输出;
-湿度测量范围:
20%~90%RH(0-50℃温度补偿);
-温度测量范围:
0~+50℃;
-湿度测量精度:
±
5.0%RH
-温度测量精度:
2.0℃
-响应时间:
<
5s;
-低功耗
特点:
相对湿度和温度一体测量
全量程标定,无需重新标定即可互换使用
超快响应时间
单线制数字接口(最简单的系统集成,超低的价格)
超小尺寸(12X15.5X5.5mm)
高可靠性
优化的长期稳定性
电气特性:
VDD=5V,T=25℃,除非特殊标注
参数
条件
min
typ
max
单位
供电
DC
3
5
5.5
V
供电电流
测量
0.5
2.5
mA
平均
0.2
待机
100
150
uA
采样周期
秒
1
次
DHT11的主要功能室采集外界环境的温湿度状况,然后将采集到的数据进行一定的算法转换来将温湿度的大小显示在液晶显示屏上面,该器件采用一根线来与单片机实现数据的传输,所以程序必须根据该器件的时序来严格的编程,否则效果会大大不佳,该器件的引脚分别为VCC,GND,以及DATA数据传输,其中的NC(第三脚)处于空穴状态,不需要与任何引脚连接,当该温湿度超过预警值时,风扇会自动开启来达到降温降湿的作用,同时会有相应的指示灯开启提醒。
2.6烟雾测试模块和人体红外感应模块:
A.标准工作条件
符号
参数名称
技术条件
备注
Vc
回路电压
≤15V
ACorDC
VH
加热电压
5.0V±
0.2V
RL
负载电阻
可调
RH
加热电阻
31Ω±
3Ω
室温
PH
加热功耗
≤900mW
B.环境条件
Tao
使用温度
-10℃-50℃
Tas
储存温度
-20℃-70℃
相对湿度
小于95%RH
O2
氧气浓度
21%(标准条件)
氧气浓度会影响灵敏度特性
最小值大于2%
C.灵敏度特性
技术参数
Rs
敏感体表面电阻
3KΩ-30KΩ
(1000ppm异丁烷)
探测浓度范围
100ppm-10000ppm
液化气和丙烷
300ppm-5000ppm丁烷
5000ppm-20000ppm甲烷
300ppm-5000ppm氢气
100ppm-2000ppm酒精
α(3000/1000)
异丁烷
浓度斜率
≤0.6
标准工作条件
温度:
20℃±
2℃Vc:
0.1V
相对湿度:
65%±
5%Vh:
5.0V±
预热时间
不超过1小时
应用:
适用于家庭或工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等监测装置。
4、原理特点:
1、具有信号输出指示。
2、双路信号输出(模拟量输出及TTL电平输出)
3、TTL输出有效信号为低电平。
(当输出低电平时信号灯亮,可直接接单片机)
4、模拟量输出0~5V电压,浓度越高电压越高。
5、对液化气,天然气,城市煤气有较好的灵敏度。
6、具有长期的使用寿命和可靠的稳定性
7、快速的响应恢复特性
该器件有四个引脚,分别为VCC,GND,AO(模拟信号输出端),DO(数字信号输出端),本次系统所应用的是数字信号的输出传输给单片机处理,当外界的浓度超过一定值时,该传感器输出低电平,从而引发单片机去处理相应的报警动作响应,同时会有指示灯来提醒你目前环境状况处于不佳状态,显示器提醒超标状态。
2.7电机驱动模块示意:
LM298N引脚
恒压恒流桥式2A驱动芯片L298N
L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。
5,7,10,12脚接输入控制电平,控制电机的正反转。
EnA,EnB接控制使能端,控制电机的停转。
LM298N功能表格:
PWM_X
X_EN1
X_EN2
运转状态
X
停止
正转
反转
刹停
风扇控制分为手动和自动,通过中断的控制可以按键开启与关闭,也可以根据温湿度是否超标来自动感应器风扇的关闭与否。
2.8DS1302时钟模块:
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。
实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整。
时钟操作可通过AM/PM指示决定采用24或12小时格式。
DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:
(1)RST复位
(2)I/O数据线(3)SCLK串行时钟。
时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。
DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW
DS1302主要性能指标:
★实时时钟具有能计算2100年之前的秒、分、时、日、星期、月、年的能力,还有闰年调整的能力
★8位暂存数据存储RAM
★串行I/O口方式使得管脚数量最少
★宽范围工作电压2.05.5V
★工作电流2.0V时,小于300nA
★读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式
★8脚DIP封装或可选的8脚SOIC封装根据表面装配
★简单3线接口
★与TTL兼容Vcc=5V
★可选工业级温度范围-40+85
★双电源管用于主电源和备份电源供应
6.模块工作电压兼容3.3V/5V,可与5V及3.3V单片机连接
7.工作温度:
0°
---70°
接线方法:
VCC→+5V/3.3V
GND→GND
CLK→P02
DAT→P01
RST→P00
DS1302芯片需要严格的读写时序才能将其内部资源利用起来,其中主要的就是时钟,复位脚,以及数据传输脚的协调配合,通过读写时序的结合将(年与日,时分秒,星期)显示于屏幕上面。
2.9报警电路模块(蜂鸣器)
该电路通过接一个PNP三极管将信号放大来控制蜂鸣器的响否,从而通过超标控制产生报警提示。
3.0人体红外感应模块:
功能特点:
1、全自动感应:
人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。
2、两种触发方式:
(可跳线选择)
a、不可重复触发方式:
即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;
b、可重复触发方式:
即感应输出高电平后,在延时时间段内,如果有人体在其感应范围
活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检
测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时
时间的起始点)。
5、具有感应封锁时间(默认设置:
2.5S封锁时间):
感应模块在每一次感应输出后(高电平变
成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。
此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产
品;
同时此功能可有效抑制负载切换过程中产生的各种干扰。
(此时间可设置在零点几秒
—几十秒钟)。
6、工作电压范围宽:
默认工作电压DC3.6V~30V。
7、微功耗:
静态电流<
50微安,特别适合干电池供电的自动控制产品。
8、输出高电平信号:
可方便与各类电路实现对接。
注:
调节距离电位器顺时针旋转,感应距离增大(约7米),反之,感应距离减小(约3米)。
调节延时电位器顺时针旋转,感应延时加长(约300S),反之,感应延时减短(约5S)。
它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗衣
机等装置,是一种高技术产品。
特别适用于企业,宾馆、商场、库房及家庭的过道、走廊等敏
感区域,或用于安全区域的自动灯光、照明和报警系统。
3.1按键模块:
该电路采用矩阵键盘来控制电路相关硬件设备工作与否,这也是手动设备给我们带来的方便之处。
3.2程序下载部分:
通过下载电路,可以把需要应用的程序载入到单片机芯片AT89S52之中进行调试。
三.系统设计与误差分析
四.总结
4.2资料来源:
参考文献
[1]何立民.单片机应用系统设计.北京:
航天航空大学出版社.2001年.
[2]李广弟.单片机基础.北京:
北京航空航天大学出版社,2001年.
[3]何希才.新型实用电子电路400例.电子工业出版社,2000年.
[4]赵负图.传感器集成电路手册,第一版.化学工业出版社,2004年.
[5]杨邦文.新型实用电路制作200例.北京:
人民邮电出版社,1998年.
[6]邹其洪.电工电子试验与计算机仿真.北京:
电子工业出版社.2003年.
4.3总结:
通过本次电子设计的参与以及行动,同学的互相合作以及老师的及时指导,感觉有不少的收获,从题目的选取到材料的准备,从硬件的焊接到软件的编程,都有所感悟。
其中硬件的测试涉及到了示波器和万用表等的使用,软件设计到了keil编程环境的熟悉,proteus仿真电路的应用,以及altium的使用(单片机最小系统设计)等。
但是过程中也遇到了很多麻烦,通过网络,老师,同学间的合作力量基本将其解决。
由于水平的有限,所以各方面的设计效果还有很多欠缺待我们去进一步的学习与努力才能行之有效。
4.4系统调试与分析:
在硬件准备差不多的时候,最关键的就是软件的程序调试。
在这个过程中程序出现过很多错误,以致于硬件无法运行或是效果太差等。
1.比如说这次用到的液晶显示,刚开始用的是P0口,程序没有错误和警告,但是液晶却无法显示字符,通过多番测试才知道P0口的驱动不足,所以更换IO口后,便能正确显示。
2.如由于这次程序用的比较