单片机课程设计报告基于STM32单片机的智能家居系统设计姓名:sssssssssbbbbbbbb班级:333334444学号:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx指导老师:yyyyyyyyy日期:2012.05.27~2012.06.07华南农业大学工程学院摘要目前市场上针对普通家庭的智能防盗、防火等产品很多,但基于远程报警系统的智能家居产品价格不菲。
本次设计的基于STM32的智能家居报警系统实用性非常强,设计成本低廉,非常适合普通家庭使用,而且随时可以升级。
本产品采用的是以意法半导体公司生产的单片机STM32F103RBT6作为主控芯片,AT24C02作为静态存储芯片,4*4 薄膜键盘和红外热式感应作为探测器,GSM和扬声器的家庭报警模块。
随着信息技术的发展,实现家居的信息化、网络化,是当前智能家居系统发展的新趋势。
本设计将通信技术与防盗系统紧密结合,为一款便敏小巧,低成本,适合普通室内报警的智能报警系统。
本系统通过传感器获取室内人员信息,并将信号发送到单片机微处理器。
系统收到报警信息后通过辨认密码的方式确定目标身份,并通过蜂鸣器报警的方式警示入侵者。
另外,系统配备具手机通信功能的GSM模块,能将室内安全状况第一时间发送至用户手机终端。
不仅大大提高系统安全性及智能性,也方便用户的使用。
经测试,本系统稳定可靠,同时具有友好的人机界面,为用户提供安全服务的同时,实现系统智能化管理。
关键字:智能报警存储器传感器 GSM目录1 方案比较与选择 (1)1.1 方案一:采用数字电路控制 (1)1.2 方案二:采用双音多频电路与语音电路相结合的控制方案 (1)1.3 方案三:采用以STM32单片机为核心的控制方案 (2)2 主要元器件介绍 (3)2.1 主芯片—STM32 (3)2.2 显示屏--OLCD12864 (4)2.3 外部存储芯片--AT24C02 (5)3 模块分析 (7)3.1 STM32控制模块 (7)3.2 密码锁键盘输入及存储模块 (7)3.3人体热释感应模块 (7)3.4显示模块 (7)3.5报警模块 (7)4 硬件组成部分 (8)4.1 硬件组成部分 (8)4.2 仿真分析 (11)5 电路板的制作,焊接,调试 (13)5.1电路板制作 (13)5.2电路板焊接 (14)5.3电路板调试 (14)6 讨论及进一步研究和建议 (15)7 课程设计心得 (16)附录 (17)参考文献 (34)1、方案的比较与选择1.1 方案一:由数字电路搭建的智能家居安全系统,用以双JK触发器构成的数字逻辑电路作为密码控制系统的核心控制,共设了9个数字输入键,还有确认键和取消键等。
如果用户输入密码错误,则电路将报警;若电路连续报警三次,即密码输入错误3次,电路将锁定键盘并长时间报警。
这样可以防止他人潜入进入家居住宅。
方案系统框图如图1所示。
图11.2 方案二:通过微处理器控制技术将双音多频电路与语音电路相结合,利用电话网络技术和相关的传感器,开发一种具有联网功能的智能报警系统。
该报警系统由传感器终端、计算机控制中心、小区管理中心的接警主机及相关软件组成。
如图2所示,主机电路由射频接收模块接收传感器发来的报警信号,通过解码电路解码后得到报警传感器预先设定的地址码和数据码类型。
主机和传感器两者设定的地址码相同时才能被主机接收。
解码输出信号进入主控制器的中断输入端,触发中断处理程序。
图21.3 方案三:本方案以STM32单片机作为控制核心,通过密码锁进行验证,使用LCD模块进行显示,当密码输入错误次数大于三次时,将被视为非法入侵,语音报警模块发出报警。
若通过其他途径非法侵入时,该系统将通过热释人体感应模块启动报警模块进行报警。
总体系统框图如图3所示:图3方案一设计简单且操作容易,但没有可发展空间,而且后期修改几乎是不可能的;方案二的系统功能齐全,但是设计复杂,该系统适用于小区式管理,实现小区与物业管理中心的安全状态保障,最终实现小区联网控制,适合在小区管理用户大规模使用;方案三虽然功能偏少,设计相对简单,而且实现相对容易,适合于家庭个人用户使用,最重要的是该方案具有极大的扩展空间,设计灵活,可以自由嵌入各模块,同时可以通过修改程序来改变功能。
综上三种方案,结合自身的设计水平,我们组选择方案三作为我们的最终设计方案。
2、主要元器件介绍2.1 主芯片—STM32F103RBT6STM32F103RBT6/STM32F103是 ST 公司基于ARM最新Cortex-M3架构内核的32位处理器产品,内置128KB的Flash、20K的RAM、12位AD、4个16位定时器和3路USART通讯口等多种资源,时钟频率最高可达72MHz。
参数介绍如图4:图42.2 显示屏--OLCD128642.2.1概述OLCD12864带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII 字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
2.2.2基本特性:(1)、低电源电压(VDD:+3.0--+5.5V)(2)、显示分辨率:128×64点(3)、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)(4)、内置 128个16×8点阵字符(5)、2MHZ时钟频率(6)、显示方式:STN、半透、正显(7)、驱动方式:1/32DUTY,1/5BIAS(8)、视角方向:6点(9)、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 (10)、通讯方式:串行、并口可选(11)、内置DC-DC转换电路,无需外加负压(12)、无需片选信号,简化软件设计(13)、工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃2.2.3、应用说明①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。
②显示ASCII字符过程与显示中文字符过程相同。
不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。
③当字符编码为2字节时,应先写入高位字节,再写入低位字节。
④模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。
如果在送出一个指令前不检查BF 标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。
指令执行的时间请参考指令表中的指令执行时间说明。
⑤“RE”为基本指令集与扩充指令集的选择控制位。
当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。
2.3 外部存储芯片--AT24C02EEPROM (Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器,是一种掉电后数据不丢失的存储芯片。
EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。
一般用在即插即用。
它是可用户更改的只读存储器(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。
不像EPROM芯片,EEPROM不需从计算机中取出即可修改。
AT24CXX是美国ATMEL公司的低功耗CMOS串行EEPROM,典型的型号有AT24C01A/02/04/08/16等5种,它们的存储容量分别是1024/2048/4096/8192/16384位;也就是128/256/512/1024/2048字节;使用电压级别有5V,2.7V,2.5V,1.8V。
AT24C02是一个CMOS标准的EEPROM存储器,是AT24CXX系列(AT24C01/02/04/08/16)成员之一,这些EEPROM存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA~110uA,具有标准的I2C总线接口,是应用广泛的小容量存储器之一。
图5图5是AT24C02的引脚图,这个芯片是一个8脚芯片,内部存储器有256字节。
引脚功能介绍如下:A0(引脚1):器件地址的A0位,是器件地址的最低位,器件地址排列是A6 A5 A4 A3 A2 A1 A0 R/W。
A1(引脚2):器件地址的A1位。
A2(引脚3):器件地址的A2位。
GND(引脚4):地线。
SDA(引脚5):数据总线引脚。
SCL(引脚6):时钟总线引脚。
TEST(引脚7):测试引脚,Vcc(引脚8):电源线引脚。
3、模块分析本系统的硬件部分主要由单片机STM32F103RBT6、晶振电路、报警电路、4×4矩阵键盘和OLCD12864显示电路和人体热释感应模块组成;其中报警电路使用扬声器进行声音报警。
总的来说,智能家居系统主要由微处理器模块(MCU)、模块、人体红外检测报警模块、键盘模块、显示模块构成。
3.1 STM32控制模块微处理器模块,也就是由STM32F103RBT6单片机构成,因为本系统要实现密码检测、密码设定、声光提醒等功能,要求微处理器必须提供足够的I/O口,而且由于系统体积限制,所以选用STM32F103RBT6单片机。
3.2 4x4密码锁键盘输入及存储模块本设计采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。
本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如修改密码后退功能等。
键盘的每个按键功能可以在程序设计中设置。
存储模块不仅可以存储及修改用户的6位密码,还可以动态地存储修改用户的手机号码,手机号码的最大容量为7个,方便用户更换手机后不影响GSM模块的报警功能的使用。
3.3人体热释感应模块当检测到非法入侵的人体时,启动报警模块报警。
3.4显示模块考虑到友好的人机界面,采用OLCD12864液晶显示。
显示模块的作用主要是显示当前家居安全情况、提示信息和输入的密码,以方便用户使用。
3.5报警模块报警模块主要有两大部分组成。