1、本科毕业设计(论文)基于 ARM 的嵌入式智能家居远程监控系统设计唐传璋燕 山 大 学2013 年 6 月 本科毕业设计(论文)基于 ARM 的嵌入式智能家居远程监控系统设计学院(系):电气工程学院 专 业: 工业自动化 学生 姓名: 唐传璋 学 号: 090103010055 指导 教师: 李建雄 答辩 日期: 2013-6-22 燕山大学毕业设计 (论文)任务书学院:电气工程学院 系级教学单位:自动化系 学号 090103010055 学生姓名 唐传璋 专 业班 级 09 级工自 1 班题目名称 基于 ARM 的嵌入式智能家居远程监控系统设计题目性质1.理工类:工程设计 ( ) ;工程技术
2、实验研究型( ) ;理论研究型( ) ;计算机软件型( ) ;综合型( ) 。2.文管类( ) ;3.外语类( ) ;4.艺术类( ) 。题目类型 1.毕业设计( ) 2.论文( )题目题目来源 科研课题( ) 生产实际( )自选题目( ) 主要内容1 查询 ARM 嵌入式系统的相关技术资料,阅读消化理解工作原理。2 熟悉智能家居监控系统的监控对象和具体要求。3 设计硬件控制系统和软件控制程序。4 给出全部设计参数和图纸。基本要求1、 完成毕业设计说明书一份(格式与毕业设计撰写要求相符) ,字数在 2.4万字以上,要求有不超过 300 字的中、英文摘要;2、 查阅文献 15 篇以上,翻译与课题
3、有关的外文资料不少于 5 千汉字;3、 绘制 A1 图纸一张以上. 图形及文字符号符合国家现行标准;4、 翻译与研究内容相关的外文资料一份参考资料1ARM 嵌入式系统开发与编程2ARM 嵌入式系统设计原理与开发实例3智能家居系统与技术4. 期刊学术论文周 次 14 周 58 周 911 周 1215 周 1617 周应完成的内容查询 ARM 嵌入式系统和智能家居监控系统的相关技术资料。 了解 ARM 嵌入式系统工作原理,设计硬件控制系统。设计控制程序撰写论文 绘制图纸、准备答辩指导教师:李建雄职称:讲师 2012 年 12 月 7 日系级教学单位审批:年 月 日摘要I摘要科技改变生活,科技为人
4、类带来了更舒适更方便的解决方案,智能家居是现代化科技的体现,智能家居也正是在应人们需求下而产生的。本设计的内容是设计一个基于 ARM 的智能家居远程监控系统。整个硬件控制系统有以下模块:控制主机 STM32F103VET6、无线短信收发模块 GPRS(远程监控的主要模块 )、用于显示的 LCD1602 液晶显示屏(显示测量出来的温湿度值)、测量外部环境温湿度的温湿度传感器 DHT11,异步电机 28BYJ-48(模拟控制窗帘收放用到的控制器)、蜂鸣器(报警用)、LED灯(模拟室内各种灯) 、继电器 (模拟室内各种电器的控制开关)。温湿度传感器测量出来的温湿度数值通过 LCD1602 来显示,当
5、超过设定的阈值将通过 GPRS 模块发送警报短信到指定的手机上,同时也可以由手机发送特定短信到 GPRS 上控制 LED 灯的亮灭、控制 28BJY-48 步进电机的正反转、读取当前室内的温湿度并发送回手机上,实现远程监控的。关键词 智能家居;远程监控;GPRS;ARM燕山大学本科生毕业设计(论文)IIAbstractTechnology has changed life, science and technology has brought to mankind more comfortable and more convenient solution, smart home is a ma
6、nifestation of modern technology, smart home is also in demand should be generated by people. The content of this thesis is to design a remote monitoring system of smart home based on ARM. The entire hardware control system has the following modules: the host controller STM32F103VET6, wireless SMS t
7、ransceiver module GPRS (the main module of the remote monitoring), LCD display (to display the temperature and humidity measured values), temperature and humidity sensor,DHT11, be used to measure the external environment temperature and humidity, asynchronous motor 28BYJ-48 (analog controller curtai
8、n used), a buzzer (alarm), LED light (simulated indoor lamps), a relay (control switch simulation of indoor each kind of electric appliance). The temperature and humidity value measured by the temperature and humidity sensor and displayed by LCD1602, when more than a set threshold an alarm SMS will
9、be sent by GPRS module to the designated mobile phone, but also can be caused by the mobile phone to send a specific message to the GPRS to control LED light, 28BJY-48 stepper motor reversible, read the current indoor temperature and humidity and sent back to the mobile phone.Keywords smart home; re
10、mote monitoring; GPRS; ARM目录III目 录摘要 .IAbstract .II第 1 章 绪论 .11.1 课题背景 .11.2 国外的发展动态 11.3 国内的发展动态 .21.4 本文各章主要安排 .2第 2 章 各个硬件模块的说明 .32.1 主控模块 .32.1.1 STM32 的系统架构 .32.1.2 STM32F103VET6 的内部资源 .42.2 短信收发模块 GPRS.72.3 温湿度测量模块 82.3.1 DHT11 的引脚说明 .82.3.2 DHT11 的工作原理 .92.4 温湿度液晶显示模块 LCD1602 112.4.1 LCD1602
11、的管脚说明 .122.4.2 LCD1602 的特性 .122.4.3 LCD1602 的基本指令 .122.5 收放窗帘模块步进电机 28BJY-48142.5.1 步进电机的工作原理 .142.5.2 步进电机的引脚接线 .142.6 本章小结 .15第 3 章 硬件系统的设计 .163.1 直流稳压电源的设计 .163.2 STM32 最小系统的设计 .173.2.1 电源的供电方案 173.2.2 晶振电路 .173.2.3 复位电路 .18燕山大学本科生毕业设计(论文)IV3.2.4 串口驱动电路 .183.3 步进电机、继电器驱动电路设计 .193.4 本章小结 .20第 4 章
12、软件程序的设计 .214.1 主函数及 TIM2 中断服务函数设计 214.1.1 主函数及 TIM2 中断服务函数程序代码 214.1.2 主函数及 TIM2 中断服务函数程序流程图 234.2 GPRS 来信中断处理函数设计 .244.2.1 GPRS 来信中断处理函数程序代码 .244.2.2 GPRS 来信中断处理流程图 .264.3 GPRS 的 AT 指令 274.3.1 本设计中用到的 AT 指令 274.3.2 PDU 编码 .274.3.3 AT 指令的使用程序设计 294.4 本章小结 31结论 .32参考文献 .33致谢 .35附录一 整个硬件系统电路图 .36附录二 开
13、题报告说明 .37附录三 文献综述 .38附录四 中期报告 .39附录五 外文文献及其翻译 .40附录六 完整的程序代码 .41第 1 章 绪论1第 1 章 绪论1.1 课题背景随着科技的提高,经济的发展,人们的物质生活水平的提高,对家居环境的要求也越来越高,作为家居智能化的核心部分智能家居控制系统也越发显得重要。智能家居控制器可以为系统提供智能控制方案,使住户的控制更便捷,更高效,更能为家庭的日常活动节约不必要的能耗 1。而且在现在这个注重绿色环保的世界里,智能的为住户控制好空气的湿度、温度等,检查分析空气成分,让住户安心入住。家居智能化控制的开发和建设是未来国家、经济发展的必然趋势。在科学
14、技术日新月异的今天,智能家居产品也在不断发展寻求突破,用智能的方式缓和、解决社会矛盾,这是本课题的目的及意义所在。1.2 国外的发展动态1984 年,世界上第一座智能建筑在美国的康涅迪格州建成,这座意义不一般的智能建筑是对一座旧式大楼在一定程度上的改造而完成的。它只是采用计算机系统对大楼的照明、空调、电梯等设备进行监控,并提供情报资料、语音通信、电子邮件等方面的信息服务。2000 年,新加坡大约有5000 户家庭采用了这种家庭智能家居化系统,而与此同时,美国采用这种智能家居化系统的用户已高达 4 万户。目前,在国外的家庭智能化系统技术己经越来越成熟,预计今后,越来越多的新房将会安装具有一定的“
15、智能家居化”功能的系统。于此同时,由于科学技术的发展日益标准化,这些新型智能家居系统将会比世界首富比尔. 盖茨耗资六千万美元的高端智能家居别墅便宜得多。在家居智能化系统研发方面,美国及一些西方国家一直处于领先地位。近年来,以摩托罗拉公司及美国微软公司等为首的一些国外知名企业,先后加入到智能家居系统的研发中。比如:摩托罗拉公司开发出来的 “居所之门” 、微软公司开发出来的“梦幻之家” 、IBM 公司开发出来的 “家庭主任”等都以日趋成稳的技术霸占家居市场。此外,亚洲国家日本、韩国、新加燕山大学本科生毕业设计(论文)2坡等国的领头大企业也纷纷致力于家居智能化的研发,对家居市场更是跃跃欲试。1.3
16、国内的发展动态1990 年后,我国的智能家居化住宅小区日益兴起。我国的智能家居化住宅建筑最早起于广州、深圳和上海等沿海发达城市,并慢慢地向内陆发展。在 1997 年香港回归时,上海的中皇广场在建设部“97 跨世纪住宅小区案竞赛活动” 中被建设部科技委员会评为全国首家“ 智能住宅示范工程”,从此揭开了我国智能家居住宅小区发展的序幕。1999 年,建设部住宅产业化办公室、建设部勘察设计司联合组织实施了全国住宅小区智能化技术示范工程,这也标志着我国的智能家居进入了一个新阶段。随着信息化技术日益普,国家经贸委领头成立了家庭信息网络技术委员会,同时信息网络技术体系研究及产品开发已经被列为了国家技术创新的
17、重点专项计划。根据建设部的要求,截止今年,大中城市中 50%的住宅要实现智能化 2。我国的智能家居建设相对于国外起步比较晚, 尚未形成一定的国家标准。国内各大硬、软件企业机构正在积极的研发更为符合市场的智能家居化产品,以解决我国当前智能化设备使用复杂、产品价格昂贵及实用性差等缺点,而技术创新能力也逐渐向国际先进水平靠拢,这样智能家居的未来值得我们期待 3-4。1.4 本文各章主要安排本文第二章主要介绍了智能家居控制系统中用到的各个硬件模块,有主控模块 STM32F103VET6、GPRS 短信收发模块 GTM900-B、温湿度测量传感器 DHT11、液晶显示屏 LCD1602、步进电机 28B
18、YJ-48。第三章主要介绍了硬件系统的设计,重点描述各个功能模块电路图的设计及其功能。第四章主要介绍了控制系统软件程序的设计,主要有主函数及 TIM2中断处理函数的程序设计,GPRS 来信中断处理函数的设计以及 GPRS 的AT 指令的 PDU 编码过程。其中给出了主要程序代码及其程序流程图。第 2 章 各个硬件模块的说明3第 2 章 各个硬件模块的说明2.1 主控模块本设计整个系统的主控芯片选择的具有 ARM 内核 Cortex-M3 的STM32F103VET6。该芯片属于增强型的 32 位高性能微控制器,具有 100引脚和高达 512K 字节的闪存存储器。2.1.1 STM32 的系统架
19、构STM32VET6 的系统架构包含 4 个驱动单元:Cortex-M3 内核 Dcode 总线、系统总线、通用 DMA1 和通用 DMA2;4 个被动单元:内部闪存存储器 Flash、内部数据存储器 SRAM、FSMC 和 AHB 到 APB 的桥。这些单元都是通过一个多级的 AHB 总线构架相互连接的,如图 2-1 所示。ICode: 该总线将闪存指令接口与 ARM 的 Cortex-M3 内核的指令总线相连接。指令预取在此总线上完成。DCode: 该总线将闪存存储器的数据接口和 Cortex-M3 内核的数据总线相连接( 常量加载和调试访问)。系统总线: 此总线连接 Cortex-M3
20、内核的系统总线到总线矩阵,总线矩阵协调着 DMA 与内核之间的访问。DMA 总线: 此总线将 DMA 的 AHB 主控接口与总线矩阵相联,总线矩阵协调着 CPU 的 DCode 和 DMA 到 内部闪存存储器 Flash、内部数据存储器 SRAM 和外设的访问。总线矩阵: 该矩阵协调 DMA 主控总线与内核系统总线间的访问与仲裁,仲裁采用轮换算法。总线矩阵包含 4 个驱动部件和 4 个被动部件。 AHB 外设通过总线矩阵与系统总线相连,允许 DMA 访问。AHB/APB 桥(APB): 两个 AHB/APB 桥在 AHB 和 2 个 APB 总线间提供同步连接。APB1 操作速度限于 36MH
21、z,APB2 操作于全速(最高 72MHz)。有关连接到每个桥的不同外设的地址映射。在每一次复位以后,所有除SRAM 和 FLITF 以外的外设都被关闭,在使用一个外设之前,必须设置寄存器 RCC_AHBENR 来打开该外设的时钟燕山大学本科生毕业设计(论文)4图 2-1 STM32 系统架构2.1.2 STM32F103VET6 的内部资源STM32F103VET6 的引脚图如图 2-2 所示。(1) 内核: ARM 的 32 位 Cortex-M3 微处理器;最高达 72MHZ 频率,Cortex-M3 内部的数据路径是 32 位的,寄存器是 32 位的,存储器接口也是 32 位的。Cor
22、tex-M3 采用了哈佛结构,拥有独立的 Dcode 总线和 Icode总线,可以让数据访问和取指并行不悖,这样数据访问就不再占用 Icode总线,从而提升了工作性能。为实现这个特性,Cortex-M3 内部含有好几条总线接口,每条都为自己的应用场合而优化过,并且它们可以并行工作。Cortex-M3 Flash接 口 FlashSRAMFSMCDIOBridge2ri1AHB系 统 总 线复 位 和 时 钟 控制 ( RC)IcodeDcodeSystmDMA总线矩阵通 道 1通 道 1通 道 1DMA通 道 1通 道 1通 道 1DMA2 ADC123USART1PIM1TI8GPOAIBG
23、PIOCDIEGPOFIEXTFIOAPWRBKbxANUSI2C1USART543USART2SPI3/2SIWDGRTCIM76TI54IM3T2DMA请 求DMADA请 求第 2 章 各个硬件模块的说明5BOT094NC73RS1_IUPA-WK68/JMDLEVF+图 2-2 STM32F103VET6 引脚图(2) 存储器:512KB 的闪存程序存储器;64K 字节的静态数据存储器燕山大学本科生毕业设计(论文)6SRAM,它可以以字节、半字(16 位)或全字(32 位) 访问。(3) 时钟和电源管理:(a) 三种不同的时钟源可被用来驱动系统时钟(SYSCLK):1) HSI 振荡器时
24、钟;2) HSE 振荡器时钟;3) PLL 时钟。(b) STM32 的工作电压(VDD) 为 2.03.6V,通过内置的电压调节器提供所需的 1.8V 电源;(c) 独立的 A/D 转换器供电和参考电压;(d) 一个完整的上电复位 (POR)和掉电复位(PDR)电路;(e) 可有 3 种不同工作模式的电压调节器;(f) 可编程电压监测器(PVD)。(4) 通用和复用功能 I/O(GPIO 和 AFIO):5 组多功能双向 5V 兼容的通用 I/O 端口;可使用复用功能重新映射到其他一些引脚上。(5) DMA 控制器:支持定时器、ADC、SPI、IIC 和 USART 等外设。(6) 嵌套向量
25、中断控制器:(a) 有 68 个可屏蔽中断通道(不包含 16 个 Cortex-M3 的中断线);(b) 16 个可编程的优先等级(使用了 4 位中断优先级);(c) 低延迟的异常和中断处理;(d) 电源管理控制;(e) 系统控制寄存器的实现。(7) 模拟 /数字转换(ADC):12 位的 ADC 是一种逐次逼近型模拟数字转换器,它有多达 18 个通道,可测量 16 个外部和 2 个内部信号源。(8) 定时器: 2个高级控制定时器(TIM1 、TIM8);(a) 4 个通用定时器(TIM2、TIM3、TIM4、TIM5);(b) 2 个基本定时器 (TIM6、TIM7);(c) 一个实时时钟、
26、两个看门狗定时器和一个系统滴答定时器(Systick)。(9) 通用异步收发器(USART):全双工的,异步通信RZ标准格式;发送和接收共用的可编程波特率,最高达4.5Mbits/s;智能卡模拟功能。第 2 章 各个硬件模块的说明72.2 短信收发模块 GPRS本设计选用的 GPRS 模块为华为的 GTM900-B。华为 GTM900-B 无线模块是一款两频段 GSM/GPRS 无线模块。它支持标准的 AT 命令及增强AT 命令,提供丰富的语音和数据业务等功能,是高速数据传输等各种应用的理想解决方案。GTM900-B 模代表支持 PPP 协议的模块,主要兼容西门子 C35 模块还有数据传送的
27、AT 命令,适用于小数据量传送的场合,用户无需实现 PPP 协议也可实现数据传输的功能。GTM900-B采用AT 命令集,通过UART 接口与外部的CPU 进行通信,主要实现无线短信的发送和接收、音频处理、基带处理等功能。键盘、液晶显示LCD等外部设备由外部CPU 进行控制。本设计主要用于短信的首发来监控主机上的一些外围设备,GTM900引脚图如图 2-3所示,主要引脚说明如表2-1 所示。 SIM_CD4RT5A6LKV8GN9PWO10X3BU+-E图 2-3 GTM900 引脚图燕山大学本科生毕业设计(论文)8表 2-1 GTM900 引脚功能说明序号 名称 I/O 功能15 VBAT
28、I 供电610 GND - 工作地14 ADC I 模拟数字采样15 PWON I 开关控制信号17 RIO O 振铃指示18 RXD0 O GTM900模块AT命令串口发送信号(对端设备接收)19 TXD0 I GTM900 模块AT命令串口接收信号(对端设备发送)20 CTS0 O 清除发送21 RTS0 I 请求发送22 DTR0 I 数据设备准备就绪23 DCD0 O 载波检测2429 SIM_x - SIM卡的信号31 RST I 复位信号32 LPG O 指示灯状态控制信号2.3 温湿度测量模块温湿度的测量选择温湿度传感器 DHT11,数字温湿度传感器 DHT11是一种具有已校准数
29、字信号输出的温度与湿度复合的传感器。它采用了专用的温湿度传感技术与数字模块采集技术,确保 DHT11 具有极高的可靠性与优越的长期稳定性。2.3.1 DHT11 的引脚说明数字温湿度传感器 DHT11 中具有一个 NTC 测温元件和一个电阻式感湿元件,并与一个高性能的 8 位单片机相连接。因此 DHT11 具有抗干扰能力强、超快响应、品质卓越、性价比极高等优点。每个温湿度传感器 DHT11产品都在极为精确的温湿度校验室中进行了校准。校准系数以程序的形式储存在 DHT11 中的 OTP 内存中,传感器内部在检测信号的处理过程中要使用这些校准系数。其引脚接线图如图 2-4 所示,引脚说明如表 2-
30、2 所示。第 2 章 各个硬件模块的说明9MCU DHT1VDGNDVD5KDAT4Pin2in1Pin图 2-4 DHT11 引脚接线图表2-2 DHT11引脚功能说明引脚Pin 名称 注释1 VDD 供电,3-5.5VDC2 DATA 串行数据,单总线双向3 NC 空脚,悬空4 GND 接地,电源负极2.3.2 DHT11 的工作原理DHT11的供电电压为35.5V。传感器上电后,要等待1s 以越过不稳定状态,在此期间无需发送任何指令。DATA引脚用于微处理器与DHT11之间的通讯和同步,采用的是单总线数据格式,一次通信时间为4ms左右,数据分为整数部分和小数部分,当前的小数部分现读出为零
31、。(1) 数据的格式进行一次温湿度采集得到完整的数据为40bit,高位数据先出。数据格式:8bit湿度整数+8bit湿度小数+8bi 温度整数 +8bit温度小数+8bit数据校验和。采集到的温湿度数据传输正确时,其校验和等于“8bit湿度整数+8bit湿度小数+8bi 温度整数 +8bit温度小数”所得结果的末 8位数据。(2) 主机与DHT11的通信过程主机与DHT11进行通信要有一个握手的过程,如图2-5所示,当主机开燕山大学本科生毕业设计(论文)10始发送开始信号后,温湿度传感器DHT11即从低功耗模式转换到高速模式,等到主机的开始信号结束后,DHT11立即发送响应信号,接下来开始送出
32、40bit的温湿度数据,用户可选择需要读取的温湿度数据。若没有接收到主机发送开始信号,DHT11就不会响应主机的信号也就不会主动进行温湿度采集。当DHT11采集数据完成后就会转换到低功耗模式。主机发开始信号V C CG N D拉高并延时等待D H T 1 1响应输出拉高延时准备输出数据 0 数据 1 从机拉低5 0 u s数据传送接束拉高总线主机信号D H T 信号图2-5 DHT11与主机通信过程如图2-6 所示,当总线空闲是其状态为高电平,主机要与DHT11通信则需要主机将总线拉低至少18毫秒以上,再拉高2040us ,保证DHT11 传感器能检测到开始信号。当DHT11检测到主机的握手开
33、始信号后,会等待主机开始信号的结束,然后发送80us低电平的响应信号。主机发送开始信号结束后, 接收DHT11 的响应信号,当主机发送开始信号后 ,就可以由输出模式切换到输入模式,开始接收DHT11测量出来的温湿度数据。V C CG N D主机信号D H T 信号主机至少拉低1 8 m s主机拉高2 0 4 0 u sD H T 响应信号8 0 u sD H T 拉高 8 0 u s开始传送数据图2-6 主机与DHT11的握手过程DHT11发送80us低电平的响应信号后,再把总线拉高80us,准备发送第 2 章 各个硬件模块的说明11测量出来的温湿度数据,每1bit的数据都以50us的低电平时
34、隙开始,高电平的长短决定了该数据位是1还是0,格式分别如图2-7和图2-8所示。如果主机读取DHT11的响应信号为高电平,则是DHT11没有响应,温湿度数据测量失败。当最后1bit温湿度数据传送完后,DHT11将总线拉低50us,接着总线由上拉电阻拉高进入空闲状态。V C CG N D主机信号 D H T 信号1 B i t 开始5 0 u s2 6 2 8 u s表示 0 下 1 B i t 开始图2-7 数字0信号的表示V C CG N D主机信号 D H T 信号1 B i t 开始5 0 u s7 0 u s表示 1 下 1 B i t 开始图2-8 数字1信号的表示2.4 温湿度液晶
35、显示模块 LCD1602液晶显示屏LCD1602是一种专门用来显示符号、数字、字母等的点阵型液晶显示模块,它由32个5*11或5*7等的点阵字符位组成,分两行显示,每行16个字符位。每个点阵字符位都可以显示一个字符,每两个字符位间都有一个点距的间隔,两行间也有一定的间隔,起到了字间距和行间距的作用。燕山大学本科生毕业设计(论文)121602是指显示的内容为16*2,即可以显示两行,每行显示16个字符(显示字符和数字)。2.4.1 LCD1602 的管脚说明LCD1602 的管教功能说明如表 2-3 所示表 2-3 LCD1602 的管教说明引脚 名称 引脚说明1 VSS 电 源 地2 VDD
36、5 V 电 源 正 极 3 V0 液晶显示器对比度 调 整端可以通过一个电位器调整对比度4 RS 寄存器选择,高电平1时选 择 数据寄存器、低电平0时选择指令寄存器5 RW 读写信号端,高电平1时进行读操作,低电平0时进行写操作6 E 使能(Enable)端,高电平时读取数据,负跳变时执行指令。714 D0D7 双向数据传输端,用于传输数据15 BLA 背光源正极16 BLK 背光源负极2.4.2 LCD1602 的特性(1) 3.3V或5V 工作电压,对比度可调;(2) 内含复位电路;(3) 提供各种控制命令 ,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;(4) 有80字节显示数据存储
37、器DDRAM;(5) 内建有192 个5*7点阵的字型的字符发生器CGROM;(6) 8个可由用户自定义的5X7的字符发生器CGRAM。2.4.3 LCD1602 的基本指令LCD1602 的显示控制模式可以自己设定,通过指定的指令码输入LCD1602 中就能得到想要的显示模式。指令的写入需要寄存器选择功能,即当 RS 为低电平,RW 为低电平时为指令寄存器(IR)的写入;当 RS 为高电平,RW 为低电平时为数据寄存器(DR)的写入;当 RS 为低电平,RW 为第 2 章 各个硬件模块的说明13高电平时为忙标志和地址计数器的读出;当 RS 为高电平, RW 为高电平时为数据寄存器的读出。LC
38、D1602 的基本指令如表 2-4 所示。表 2-4 LCD1602 的基本指令表指令码 功 能指令 RS RW D7 D6 D5 D4 D3 D2 D1 D0清除显示 0 0 0 0 0 0 0 0 0 1数据指针及所有显示清零显示 模式设置 0 0 1 1 1 0 0 0 0 0设置16x2显示,5x7点阵,8位数据口显示开关及 光标设置0 0 0 0 0 0 1 D C BD=1:开显示;D=0:关显示;C=1:显示光标;C=0:不显 示 光标;B=1:光标闪 烁 ; B=0:光标不闪烁进入点设定 0 0 0 0 0 0 0 1 N S指定在数据的读取与写入时,设定游标的移动方向及指定显
39、示的移位设定DDRAM地址0 0 1 0AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址0 1 BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC) 的值写数据到RAM 1 0 数据将数据D7D0写入到RAM读RAM 1 1 数据 从内部RAM读取数据燕山大学本科生毕业设计(论文)14的值 D7D02.5 收放窗帘模块步进电机 28BJY-482.5.1 步进电机的工作原理步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它
40、就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。通过控制脉冲个数可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率可以控制电机转动的速度和加速度,从而达到调速的目的。步进电机28BYJ-48是四相八拍型电机,工作电压为直流5V12V。当对步进电机的四相输入一系列连续不断的控制 脉 冲时,步进电机就可连续不断地转 动 。每个控制脉冲信号对应步进电机的某一相 或 两相绕组的通电状态改变一次,对应转子转过一个步距角。当通电状态的改变 完 成 一个循环时,转子转过一个齿距。四相步进电机有两种运行方式:四相四拍、四相八拍。其中拍数、步距角及转速的计算为:(1) 拍数:完成一个磁场周
41、期性变化所需脉冲数,或指电机转过一个齿距角所需脉冲数,以四相步进电机为例,四相四拍运行方式为AB-BC-CD-DA-AB,四相八 拍 运行方式为A-AB-B-BC-C-CD-D-DA-A. ;(2) 步距角:对应一个控制脉冲信号,步进电机转子转过的角位移用 表示。=360度(转子齿数 J*运行拍数),以常见的四相、转子齿为50齿的电机为例。四拍运行时 步 距角为=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为=360 度/(50*8)=0.9 度(俗称半步)。(3)步进电机转速的计算:以基本步距角1.8的步进电机为例(现在市场上常规的二、四相混合式步进电机基本步距角都是1.8
42、),四相八拍运行方式下,每接收一个脉冲信号,转过0.9,如果每秒钟接收400个脉冲,那么转速为每秒400X0.9=360,相当与每秒钟转一圈,每分钟60转。2.5.2 步进电机的引脚接线红线接电源5V,橙色电线接GPIOC_Pin_0口,黄色电线接第 2 章 各个硬件模块的说明15GPIOC_Pin_1口,粉色电线接GPIOC_Pin_2 口,蓝色接GPIOC_Pin_3 口。由于stm32 主机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,电机正反转时各接口输出情况如表2-5所示。正反转的顺序刚好相反,所以可以定义旋转相序:unsigned char F_Rotation4
43、=0x03,0x06,0x0C,0x09;/正转表格unsigned char B_Rotation4=0x09,0x0C,0x06,0x03;/反转表格步进电机的正反转控制脉冲输入情况如表2-5所示。表2-5 步进电机正反转脉冲控制转向 橙 黄 粉 蓝 十六制(GPIOC端口)0 0 1 1 0x030 1 1 0 0x061 1 0 0 0x0C正转0 1 1 0 0x091 0 0 1 0x091 1 0 0 0x0C0 1 1 0 0x06反转0 0 1 1 0x032.6 本章小结本章主要对智能家居的整个硬件系统所用到的模块进行了介绍,主控模块STM32F103VET6、无线收发 G
44、PRS模块、温湿度测量传感器 DHT11、液晶显示屏LCD1602、步进电机28BYJ-48。GPRS模块用来发送报警短信、温湿度测量值的短信以及接收特定短信以控制其他模块的工作;温湿度测量传感器DHT11 用来测量家里的温湿度情况,对家里是否有火灾危险情况进行监视,当温湿度超出阈值时会通过GPRS发送报警短信;液晶显示屏LCD1602用来显示DHT11测量出来的温湿度数值;步进电机28BYJ-48用来模拟家里窗帘收合控制。本章介绍了这些模块的工作原理、引脚说明以及接线等。燕山大学本科生毕业设计(论文)16第 3 章 硬件系统的设计3.1 直流稳压电源的设计 直流稳压电源用来给主机及各个模块供
45、电,其工作原理可分为四个部分,电路接线图如图 3-1 所示。12VGNDIOUT478L05C.uFfESAM69图 3-1 直流电源电路第 3 章 整个硬件系统的设计17(1)电源变压器:是降压变压器,它将电网 220V 交流电压变换成符合需要的交流电压,并送给整流电路。(2)整流滤波电路:整流电路将交流电压变换成脉动的直流电压。本文采用桥式整流滤波。(3)滤波电路:将整流电路输出电压中的交流成分大部分加以滤除,从而得到比较平滑的直流电压。(4)稳压电路:稳压电路的功能是使输出的直流电压稳定,不随交流电网电压和负载的变化而变化。本文采用固定式集成三端稳压器 78L05,输出为 5V 直流电压
46、,再经过一个稳压器件 AMS1117 输出直流电压 3.3V。3.2 STM32 最小系统的设计 STM32 的最小系统由主芯片 STM32F103VET6 及其供电电源、晶振电路、复位电路、串口驱动电路等构成。3.2.1 电源的供电方案(1) 电路由稳定的电源 VDD 供电,本设计使用的是 3.3V 直流电压,VDD 管脚为 I/O 管脚和内部调压器的供电。(2) VSSA,VDDA =2.03.6V:为 ADC、复位模块、 RC 振荡器和PLL 的模拟部分提供供电。使用 ADC 时,VDD 不得小于 2.4V。VDDA和 VSSA 必须分别连接到 VDD 和 VSS。(3) VBAT =1
47、.83.6V:当关闭 VDD 时,(通过内部电源切换器)为RTC、外部 32kHz 振荡器和后备寄存器供电。(4) VREF+引脚可以连接到 VDDA 外部电源。如果在 VREF+上使用单独的外部参考电压,必须在这个引脚上连接一个 10nF 和一个 1F 的电容。在所有情况下,VREF+必须在 2.4V 和 VDDA 之间。 (5) VREF+连接到 VDDA 或 VREF+。3.2.2 晶振电路STM32 上电复位后默认使用内部精度 8MHz 左右晶振,如果外部接了 8MHz 的晶振,可以切换使用外部的 8MHz 晶振,并最终 PLL 倍频到燕山大学本科生毕业设计(论文)1872MHz。外部
48、晶振电路及 RTC 晶振电路如图 3-2 和图 3-3 所示。CY28M10PFROS_INUT图 3-2 外部晶振电路图3.76K4图 3-3 RTC 晶振电路3.2.3 复位电路STM32 的外部硬件复位电路如图 3-4 所示,按下按钮 S1,将 RST 脚的电平拉低即能实现 stm32 的外部硬件复位。VE图 3-4 复位电路3.2.4 串口驱动电路MAX232 芯片是用来做电平转换的,标准的 RS232 电平很高,达正负15V.常用的 TTL 电平最高 5V。相互连接的话,必须进行电平转换!由于第 3 章 整个硬件系统的设计19电脑串口输出电压高达 12V,直接与单片机连接会烧坏芯片。
49、所以用MAX232 来进行电平转换。MAX232 芯片采用单+5V 电源供电,仅需几个外接电容即可完成从 TTL 到 RS232 电平的转换,共两路。其中 13 脚(R1IN) 、12 脚(R1OUT) 、11 脚(T1IN) 、14 脚(T1OUT)为第一数据通道。8 脚(R2IN) 、9 脚(R2OUT) 、10 脚(T2IN) 、7 脚(T2OUT)为第二数据通道。TTL/CMOS 数据从 T1IN、T2IN 输入转换成 RS-232 数据从T1OUT、T2OUT 送到电脑 DP9 插头;DP9 插头的 RS-232 数据从R1IN、R2IN 输入转换成 TTL/CMOS 数据后从 R1OUT、R2OUT 输出。具体电路连接如图 3-5 所示。16245J_COMDB+V-TURIN0GAXP图 3-5 STM32 串口驱动电路3.3 步进电机、继电器驱动电路设计 由于 STM32