《基于51单片机智能窗帘系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于51单片机智能窗帘系统的设计与实现.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于51单片机智能窗帘系统设计与实现摘要:随着科学技术的不断创新和提升,人们的生活质量也随着不断提高,似乎人们慢慢依赖了智能产品。由于物联网技术发展迅速,在如今,智能家居一概念早已被人们所接受,不少的家庭、企业已拥有这些设施,它相比普通设备有很大的优势。然而它不仅仅存在于生活上,生产、军事、管理等各个领域。由此看来,物联网技术应用越来越广泛,作用也越来越重要。本文综合叙述了智能窗帘系统的设计与实现。在此次系统设计中,主要由STC89C51单片机为最小系统、光照检测电路、红外控制电路、电源模块、按键模块、LCD1602液晶显示模块、步进电机驱动模块、AD模数转换模块等构成。系统在光线下通过光照传
2、感器采集的光照强度值,然后把采集的模拟量通过AD模数转换成数字信号,以51单片机为控制单元,根据实时光照强度实现窗帘打开和关闭。整个系统在各个模块的分工合作下完成,实现手动控制、自动控制、红外控制、定时控制等功能内在联系。其中按键控制与红外控制为半自动控制,光照检测与定时控制为自动控制。LCD1602液晶显示屏用来显示当前时间、光强值、半自动、自动模块等信息。关键词:智能家居,智能窗帘,51单片机,步进电机2Design and Implementation of Intelligent Curtain System Based on 51 Single Chip ComputerAbstra
3、ct:As science and technology continue to innovate and improve, peoples quality of life also continues to improve, it seems that people slowly rely on smart products. Due to the rapid development of the Internet of Things technology, the concept of smart home has long been accepted by people. Many ho
4、mes and enterprises already have these facilities, which have great advantages over ordinary equipment. However, it does not only exist in life, production, military, management and other fields. From this point of view, the Internet of Things technology is more and more widely used, and its role is
5、 becoming more and more important.This article comprehensively describes the design and implementation of the intelligent curtain system. In this system design, it is mainly composed of the STC89C51 microcontroller as the minimum system, light detection circuit, infrared control circuit, power suppl
6、y module, key module, LCD1602 liquid crystal display module, stepper motor drive module, AD analog-to-digital conversion module and so on. The light intensity value collected by the system through the light sensor under light, and then the collected analog quantity is converted into a digital signal
7、 by AD modulus, and the 51 single-chip microcomputer is used as a control unit to realize the opening and closing of the curtain according to the real-time light intensity. The entire system is completed under the cooperation of the division of labor of each module, which realizes the internal conta
8、ct of manual control, automatic control, infrared control, timing control and other functions. Among them, the key control and infrared control are semi-automatic controls, and the illumination detection and timing control are automatic controls. LCD1602 liquid crystal display is used to display the
9、 current time, light intensity value, semi-automatic, automatic module and other information.Keywords:Smart Home, Smart Curtain, SCM, Stepper Motor2目 录第1章 绪 论11.1研究背景和意义11.1.1智能窗帘的背景分析11.1.2本课题的研究意义11.2国内外现状分析21.3课题研究方法和内容21.3.1研究方法21.3.2研究内容3第2章 系统方案与总体设计42.1系统方案42.1.1单片机的选择42.1.2显示模块的选择42.1.3按键模块的
10、选择42.1.4红外线控制模块的选择52.1.5步进电机驱动芯片的选择52.2可行性分析52.3系统实现方案6第3章 系统硬件设计73.1单片机主控模块73.1.1系统时钟电路83.1.2系统复位电路83.2显示模块83.3步进电机控制模块93.3.1 ULN2003芯片连接电路93.3.2自动光控窗帘设计103.3.3按键控制窗帘设计113.3.4红外线控制窗帘设计12第4章 系统控制软件设计134.1显示模块程序设计134.2按键模块程序设计144.3步进电机控制程序设计154.3.1自动光控窗帘程序设计164.3.2手动控制窗帘程序设计174.3.3定时控制窗帘程序设计184.3.4红外
11、控制窗帘程序设计19第5章 系统测试215.1功能测试215.2总体测试24第6章 结论25参考文献:26致谢27第1章 绪 论1.1研究背景和意义1.1.1智能窗帘的背景分析随着人们经济能力的日益提升,我们对生活有着越来越高的要求,舒适享受这一词,早就在我们的平时生活中慢慢体现出来。现代社会信息化的加快,我们在生活产品上的选择有了很大的提高,其把工作和生活紧密联系在一起。智能化社会正在不断改变人们的生活,同时也证明了它们已经在挑战传统住宅。人们对家庭需求关注更多是一个安全和舒适的家庭环境,早已不再需要物理空间和位置。随之对舒适健康的家庭生活越来越渴望,迫不及待地想享受智能化的时代,给我们带来
12、的快感。智能窗帘已经进入到了我们的生活当中。这让我们想到社会生活的各个方面几乎都与智能通信都有关联。顾名思义,物体连上网络,实现物体智能化,随之智能化时代也到来。大众创业,万众创新的今天,智慧城市和智慧家居正在改变人们的生活方式,越来越多的人正在享受便携和舒适。在如今,家庭网络可以连接家中的各个设施,各种设备,将他们全部连接并实现交互功能。除了家庭可以安装这些设施,对于不少公司、企业会议室、酒店等场所来说,或许这也是必不可少的一部分,不仅为他们节约不少人力、物力等资源,还能从中享受智能给他们带来的快乐。但是随着科技的发展,智能化的窗帘也会升级,这使得我们的操作工作量也越来越大。智能光控起闭窗帘
13、系统是由单片机控制的,它可以解决我们每天手动打开关闭窗帘的不方便而且也可以显示出我们生活品味的提升。在外部光照的影响下,外部光线高达预设定数值时,窗帘会被自动打开;外部光线低至预设定数值时,窗帘被自动关闭。这一设计更加贴切人们对自动窗帘的要求。1.1.2本课题的研究意义随着物联网技术行业的发展,物联网应用得到了人们的青睐,人们的生活水平不断提高,消费需求发生了巨大的改变。高精度、多功能和低能耗是现代科学技术产业的发展核心。在这种趋势下,对智能窗帘数字化的需求正在增加,但实现的可能也会越来越快。智能窗帘的研发对于现代社会而言有着极其重要的现实意义。第一,它改变了人们的传统生活方式。过去我们都是只
14、是手动开关窗帘,这些动作不仅仅繁琐且枯燥,智能窗帘的应用,给我们的生活带来了极大的方便,提高了人们的生活质量。其次,智能窗帘的出现,带动了很多产业的发展。就目前而言,最先受益的可能就是房地产行业了,这给他们增加了不少卖点,提高了房子出售的条件。也有不少智能化装修公司也能从中获得不错的受益。既带动了产业的发展,又提高了人们的生活质量,住宅档次也提升了不少,何乐而不为啊。在这种趋势下,智能窗帘市场具有巨大发展,本文就是以单片机系统实现智能窗帘的设计。1.2国内外现状分析近年来,由于我国经济持续增长,人民收入情况日势增长,买房的人越来越多,因此房地产行业发展比较迅速,由于房地产的发展,智能窗帘应用良
15、好,为智能窗帘行业提供了良好的发展机遇,对智能窗帘的市场需求也在不断增长。从国内现状看,我国国内智能窗帘知名品牌比较少,在技术上,我们发展比较晚,并不是很完善,稳定性不高,但是也有不少高端技术应用于普通智能窗帘系统。总的来说,这可以带动整个行业的发展。所以研究这一系统意义非常重大。此次设计利用光照来控制窗帘同时辅以手动按键和红外遥控,符合现在的发展方向。1.3课题研究方法和内容1.3.1研究方法(一) 文献法:通过查阅文献,以及对窗帘基本研究,全面了解智能窗帘的优缺点。(二) 调查法:对智能窗帘的个案进行研究,了解智能窗帘未来发展趋势;针对智能窗帘的运行原理;针对智能窗帘的技术难题,向有关工程
16、师调查。(三) 实验法:通过对现有研究的问题形成一定的假设作实验,对实验结果进行分析,根据分析判断该功能能否实现,对可变量进行预估。再进行编写程序,完善系统。1.3.2研究内容本论文总共分为六个部分,每个部分内容安排如下:第1章:绪论。主要说明研究的内容和研究背景的介绍以及国内外研究现状第2章:系统方案选择与论证。本章主要介绍系统硬件方案的选择与论证,比较它们的优缺点,进一步选择较合适的设计方案。根据设计方案,设计出系统总体。第3章:系统控制模块设计。主要介绍使用的的硬件包括STC89C51单片机、显示模块、按键模块和步进电机控制模块。第4章:控制模块软件设计。主要介绍系统程序开发流程和相关流
17、程图。第5章:系统测试。根据任务需求进行功能测试和对测试结果进行分析。第6章:结论。主要分析系统在总体设计上的功能,分析系统优缺点等。最后是参考文献以及致谢内容。3第2章 系统方案与总体设计2.1系统方案2.1.1单片机主控芯片的选择方案一:STM单片机工作频率高,运行速度快,是挺适合做本设计系统,但是成本太高,本系统只用于模拟智能光控窗帘系统的设计,所以并不需要成本高的单片机。方案二:51单片机与其他单片机相比,在相同条件下,它有其他单片机没有的优点,处理性强,低电压,低功耗,系统结构简单,环境适应能力好,价格便宜等优点。综合以上的单片机的特点,51单片机在不同环境的自适应能力较强,这一方面
18、加强了产品的稳定性,低廉的成本是我国智能窗帘发展的一大优势。因此选用51单片机作为智能窗帘的主控制单元。2.1.2显示模块的选择方案一:LED,由发光二极管组成的显示屏。LED在显示方面具有很大的优势,显示比较清晰。例如能显示色彩图像,甚至包括可以播放DVD等功能,价格偏贵。方案二:LCD,液态显示屏,操作简单,接口相对简单。价格相对于LED较便宜。综上所述,本系统对显示模块部分要求并不高,能显示数字,字符就可以了。因此选择LCD作为本次设计系统的显示部分模块。2.1.3按键模块的选择方案一:矩阵型按键,按键较多,开发比较复杂,但节省了I/O口,不适合少量按键设备。方案二:独立型按键,每个按键
19、占用一个I/O口,开发比较简单,体积较小,占用空间不大,价格便宜。适合少量按键设备。综上所述,考虑到整个系统的结构设计,我需要的按键数量不多,占用空间小,所以本系统采用独立按键。2.1.4红外线控制模块的选择方案一:蓝牙技术,在无线传输上领域有较为成熟优势,它具有,可穿透障碍物、数据传输方向无限制、传输距离较远、可点对多传输、传输速率也更快,功率低等特点。价格比较昂贵。方案二:红外线传输数据就比较局限,传输方向有限制(只能以水平方向30度以内),传输距离短,点对点传输。但价格便宜。综上所述,考虑到设计系统整体功能,无线控制窗帘也是必不可少的一部分,我认为,红外控制窗帘跟电视遥控的想法是一样的,
20、比较传统。当然选择蓝牙肯定会比红外线控制完美,因为红外能完成的,蓝牙能做的更好,但本次设计只是为了效仿智能窗帘系统,考虑到成本,蓝牙的价格也比红外贵,因此本设计系统选用红外线控制无线传输。2.1.5步进电机驱动芯片的选择方案一:L298是一种H桥驱动器芯片,可以为负载提供双向电流。适用于驱动2相或4相步进电机。方案二:ULN2003为极电极开路驱动芯片,ULN2003只能驱动4相步进电机。该芯片可以运转步进电机,它是一个集成电路,由7对达林顿管集成的,该达林顿管具有高电压和高电流。它的承载能力很强。综上所述,本次设计采用了ULN2003芯片与步进电机的相互配合。由于单片机输入和输出端口的驱动能
21、力的限制,所有信号在连接到电动机之前必须先放大。因此它非常适合本次毕业设计步进电机电路。2.2可行性分析从技术层面上分析,选择的方案芯片之类在大学期间接触的不少,在本系统中整体功能逻辑性还是比较好理解,刚好又是运用C语言编写程序,且功能比较简单,编程较易。从自身情况出发,是可以完成的。因此认为以51单片机和光电传感器为核心的智能窗帘系统是可行的。从经济上分析,智能窗帘系统在市面上价格普降比较昂贵,很多家庭一般不会选择,结合本设计系统,降低了成本,以最大化实现智能窗帘系统,从这方面来看,本系统是可行的。总的来说,我们已经进入了智能化时代,所以智能窗帘对以后的发展密不可分,它也是未来发展的一大趋势
22、。2.3系统实现方案通过上述论证,本系统最终是以STC89C51单片机为核心主控模块,光敏电阻作光照检测模块,负责采集光照强度。以红外控制作为输入信号;系统在光线下通过光照检测模块采集的光照强度值,然后把采集的模拟量通过AD模数转换成电信号;按键模块选择占用多I/O口的独立按键方式,实现对窗帘的控制;经过主控芯片转换后将各个模块数据显示在LCD1602液晶屏上。ULN2003芯片驱动步进电机,驱使其正转或反转。系统结构如图2-1如下。图 2-1 系统结构图21第3章 系统硬件设计经过方案选择与论证后,就是进行硬件设计。本章主要包括光敏电阻和其连接以及模数转换电路、ULN2003芯片与步进电机的
23、连接、LCD1602显示电路、按键电路和红外接收一体化HS0038等等。单片机提供5V电压以满足各个硬件模块的电压要求。在此次设计中,窗帘主要分为自动控制和手动控制,自动控制由光敏电阻来感应外部光线的变动,采集到信号后经过AD转换芯片后输出数字信号,通过ULN2003芯片再以此来驱动步进电机的转动,实现窗帘的打开或关闭。手动控制则是通过按键方式,启动中断函数,实现手动控制窗帘。这两个模式下,可以随意切换模式,从而体现系统完善性。3.1 51单片机主控模块以51单片机是系统主控芯片,共有40个引脚,其中32个外部双向输入输出口(I/O口),5个中断优先级。主要是能实现驱动步进电机的转动、液晶屏显
24、示,按键控制、无线控制等功能。其中P1.0P1.7是连接ULN2003芯片驱动步进电机的转动。P0P0.7分别与D0D7连接作LCD1602模块连接电路。P2作系统高8位地址总线口,也可以当I/O口使用,P2.3P2.7连接到按键电路,每个按键是串联。P3.2口作红外信号数据输入端,P3.3是定时器1中断,用于连接红外接收头。主控芯片如下图3-1所示。图 3-1 主控芯片图3.1.1系统时钟电路单片机的时钟电路是将时钟信号提供给单片机的振荡器。XTAL1和XTAL2是单片机内震荡电路输入路线,用来外接石英体和微电容器,主要是可以提供单片机一定频率的脉冲, 从而进行对日期、时间进行有效计时。本系
25、统中采用一个11.0592Mhz的晶体振荡器与2个30pf的瓷片电容构成的时钟电路。时钟电路如下图3-2所示。图 3-2 时钟电路3.1.2系统复位电路复位电路起到一个保护电路的作用,使单片机回到初始化状态。对于任何单片机而言,在开机时都需要复位,以致于每个模块从初始化开始工作,这是单片机必不可少的一个环节。在本系统中,单片机引脚通过一个上拉10K的电阻连接VCC,在运行过程中需要复位时,只需开关闭合,RST端出现一段时间内高电平信号使其实现复位。复位电路如下图3-3所示。图 3-3复位电路3.2显示模块该设计使用LCD1602来显示实时时间,窗帘打开和关闭,时间以及光强值。可以通过按钮调整1
26、602上显示的时间、预先设置窗帘的打开和关闭时间,并显示在1602上。同时1602也会显示接收到实时的光照强度值。本次系统中,P0口作数据传输,LCD1602显示模块D0-D7引脚与主控芯片相应P0.0-P0.7接口相连接,来传输数据或者指令。R/W、RS、EN端分别接入主控芯片P2.0-P2.2接口。LCD1602显示电路如下图3-4所示。图 3-4 LCD1602电路连接图3.3步进电机控制模块步进电机是实现智能窗帘的关键模块,在这个模块上,我们需要动力去推动步进电机的转动。为实现步进电机的转动,我们就需要用到ULN2003芯片来驱动步进电机转动。因为我选择的是四相八拍步进电机,他分别为八
27、个节拍进行转动,使得电机按照0x01-0x02-0x03-0x04-0x05-0x06-0x07-0x08的节拍正转,反转则是按照0x08-0x07-0x06-0x05-0x04-0x03-0x02-0x01节拍。步进电机的控制分四种,自动光控、手动控制、定时控制和无线控制。全自动控制也就是通过光照强度控制窗帘。手动即通过按键控制窗帘。无线控制即是通过红外线控制窗帘。3.3.1 ULN2003芯片连接电路因为单片机的输入输出口驱动能力的限制,需要将信号必须放大后再连接到步进电机。而ULN2003芯片能够使得步进电机运转,它是一个集成电路,由7对达林顿管集成,达林顿管是电压大电流大的。ULN20
28、03的七个引脚连接到单片机P1.0至P1.7。ULN2003芯片的5对达林顿管通过向步进电机的五个引脚J3.2-J3.5依次输出高电平来驱动步进电机的旋转。5V电源直接连接到J3的第一个引脚端口。连接到电机并通过直接正反转电机来模拟窗帘的打开和关闭。ULN2003芯片连接电路如图3-5所示。图 3-5 ULN2003芯片连接图3.3.2自动光控窗帘设计根据光控原理,全自动光控开闭窗帘。我选用了光敏电阻和AD模数转换器完成这一部分的功能,它的电阻值受光照强度影响,光照较强时,达到上限值,电阻值光敏电阻电阻值变小,低电平连接到单片机,驱动步进电机顺时针旋转,即窗帘打开。当光敏电阻接收到的光照强度较
29、弱时,达到下限值,光敏电阻电阻值变大,高电平连接到单片机,驱动步进电机逆时针旋转。窗帘关闭。系统并联接了一个光敏电阻,内置了一个A/D模数转换模块,CS片选端始终保持高电平状态,DI和DO作该模块数据输入输入口,若想步进电机转动,CS端就要拉低电平。物理思路:光敏电阻将采集到的是光强度的模拟量,通过A/D转换模块来将变化的电压信号转变为数字信号,数字信号通过单片机传到ULN2003芯片,驱动步进电机转动。如下图3-6所示。图 3-6 光敏电阻与AD转换器连接图3.3.3按键控制窗帘设计在此次设计中,除了自动光控窗帘开起和闭合之外,也有人为干预进行打开和关闭窗帘的功能。按键在单片机主控芯片实现按
30、键输入,传送指令等功能。这次用到五个独立的按键,他们分别与P2.3P2.7连接,形成串联电路;他们分别的功能是阈值-1,、阈值+1、主功能键、手动开窗,手动关窗。考虑到系统的完善性,增加了定时打开和关闭窗帘。电路原理是一样的。使整个系统得到更好的补充。物理思路:本系统中,我采用每个按键都是独立按键,每个按键是通过串联电路连成的,默认高电平,即一条电路上有且只有一个按键才能有效接通电路,按下接通电路,松手即断开电路。按键电路如下图3-7所示。图 3-7 按键连接图3.3.4红外线控制窗帘设计本系统增加了红外线遥控窗帘功能,该电路采用HS0038红外一体化接头来实现,将输入信号进行接收、放大、检波
31、、整形集成一体,并输出可以让单片机识别的TTL信号。这样一来,大大简化了接收电路的复杂程度,非常方便使用。当没有信号输入时,它是高电平状态,当接收到红外信号时,按红外数据波输出负脉冲信号。P3.2口作信号输入到单片机上,P3.3端口接入红外接收器,当我们使用遥控输入信号时,P3.2被拉低信号,此时INT0申请中断,优先执行遥控输入信号,单片机进行接收及处理该信号,传到ULN2003芯片驱动步进电机转动,实现窗帘的打开和关闭。红外控制电路如下图3-8所示。图 3-8 红外控制连接图第4章 系统控制软件设计本系统在光线下通过光照检测采集的光照强度值,把采集的数据通过AD模数转换成数字信号,以51单
32、片机为主控芯片,根据实时光照强度实现窗帘打开和关闭。整个系统在各个模块的分工合作下完成,实现自动控制、手动控制、定时控制、红外控制等功能内在联系。主程序的任务是系统初始化,开关中断,对按键进行扫描,判断是否有按键按下,经过分析及处理后,执行相应的手动控制、定时控制、自动控制和红外控制等的指令,这四个模式可以自动互相切换。显示模块是将各个模块信息显示在LCD1602屏幕上。主程序还操控步进电机工作和显示步进电机的工作。系统流程图如下图4-1所示。图 4-1 系统总流程图4.1显示模块程序设计执行该子程序时,首先对LCD1602显示屏初始化,对所有显示内容进行清零,接着对时钟进行初始化、对定时器初
33、始化,根据程序中设定的时间显示时间。当LCD1602的寄存器RS工作状态为高电平时,选择指令寄存器;读写选择RW,执行写操作;使能端EN从高电平到低电平过程中下降沿信号,将显示数据送到P2口,LCD执行数据指令,判断是否执行完毕。若执行完成,数据显示,子程序退出。若没有,返回到选择指令寄存器继续重复执行以前的步骤。流程图如下图4-2所示。图 4-2 显示模块流程图4.2按键模块程序设计在本系统中,根据任务需求,设计了五个按键,分别是阈值+1、阈值-1、主功能键、手动开窗和手动关窗。五个按键相互独立存在,互不干扰,与单片机串联。但是这里我们需要先解决一个问题,就是对按键进行消抖。任一按键无论是按
34、下还是松开都会发生抖动,有时按了多次反应表现延迟或者按得快没有反应,这都是按键抖动的表现,所以这时就需要对按键进行消抖,按键消抖如果处理不好,可能还会给单片机发送错误指令,导致单片机运行工作错误。为了解决这个问题,我采用了利用软件延迟的方法来解决按键抖动的问题。思路:当扫描到某个按键按下时,编写程序时判别按键电路能否闭合是先通过2毫秒的延时,确定按下按键后再延时10毫秒,再次扫描按键时,如果此时按键还是按下状态,说明上面的方案是可行的。按下按键后延迟10ms就可消除按键抖动的问题。此时单片机进行键码分析,执行相应模块,最后显示后返回主程序。按键模块消抖程序流程图如下图4-3所示。图 4-3 按
35、键模块消抖程序流程图4.3步进电机控制程序设计步进电机是操控窗帘的主要硬件。其程序设计主要是以单片机主控芯片自动光控、手动控制、定时控制、红外控制等指令控制步进电机进行正转或反转,打开或者关闭窗帘。在执行该子程序时,首先将单片机初始化,判断是否有中断函数发生,如果没有,整个系统进入自动光控模式,调用步进电机驱动程序,判断步进电机是否正转。如果是,输入正转脉冲序列,步进电机正转,待传送的步数完成后,窗帘完全打开状态;反之,输入反转脉冲序列,步进电机反转,待传送的步数完成后,窗帘完全关闭状态。步进电机工作流程如下图4-4所示。图 4-4 步进电机工作程序流程图4.3.1自动光控窗帘程序设计在主函数
36、中预先设定上下限光照强度值,根据光敏电阻反馈回来的模拟量,经AD转换器转换为数字信号后,判断是否达到上下限值,如果条件成立,ULN2003芯片驱动步进电机工作,步进电机进行正转或反转,窗帘实现打开或者关闭。当执行该子程序入口时,先进行系统初始化,根据光敏电阻采集的信号判断实时光照强度,在程序中我设定的光照上限值是180,下限值是10,这是判断光照强度的基本条件。如果光照强度值超过180,则条件成立,步进电机正转,窗帘打开,一段时间后会碰到一个限位开关,步进电机不转动;若没达到条件时,则会返回初始;在窗帘打开情况下,检测光照强度值是否小于10,如果此时光照强度值小于下限值,步进电机反转,窗帘关闭
37、。自动光控窗帘流程如下图4-5所示。图 4-5 自动光控窗帘流程图4.3.2手动控制窗帘程序设计在本次毕业设计中,独立设计了开窗和关窗的按键。需要用到时,我们直接按下手动开/关按键,此时系统自动切换到手动控制窗帘模式,进一步控制窗帘的打开或关闭。执行该子程序时,首先系统初始化,初始化中断,按键进行扫描,执行按下按键的功能,此时系统收到一个中断信号,从而发出相应的指令,控制窗帘的打开和关闭。当按下开窗键时,按键电路接通,单片机向步进电机发送正转脉冲序号,步进电机正转,窗帘打开。当按下关窗键时,按键电路接通,单片机向步进电机发送反转脉冲序号,步进电机反转,窗帘关闭。手动控制流程图如下图4-6所示。
38、图 4-6 手动控制流程图4.3.3定时控制窗帘程序设计在本次毕业设计中,根据系统时间,对整个系统进行预先设定开窗和关窗的时间,开始计时,窗帘打开或者关闭。执行该子程序时,首先系统初始化,按键进行扫描,扫描键码,是否定时功能;如果是,进入系统设定时间,开始计时,设定时间到后,系统收到一个中断信号,从而发出相应的指令,控制窗帘的打开和关闭。按主功能按键S3选择定时模式,通过按键S4、按键S5进行阈值+1和-1,设定系统时间的时、分、秒。定时控制流程图如下图4-7所示。图 4-7 定时控制流程图4.3.4红外控制窗帘程序设计在本次毕业设计中,红外控制做输入信号源,因此会用到中断处理函数,根据不用的
39、红外编码,经过识别处理后,进一步控制窗帘打开或者关闭。该子程序执行时,首先系统进行初始化程序,扫描按键是否按下,当没有按键按下时,将返回主程序继续等待按键按下操作;若有按键按下,并确定是哪个键按下,得到按键值信息,此时单片机会收到一个中断处理函数,经过解码分析处理后,从而发送相应的指令。接着调用发送子程序,根据高低电平信号,发送正反转脉冲序号,进一步控制步进电机的转动,实现控制窗帘的打开或关闭。红外控制流程如下图4-8所示。图 4-8 红外控制流程图第5章 系统测试经过程序设计之后,后面就是对整个系统的调试部分。根据系统设计和要求,按照电路图,先给给板子和各个模块电路焊接完成。接着按照之前写好
40、的程序烧录到单片机中对电路板进行测试,接通电源。经过测试,基本大部分电路都没有问题。电源和红外控制都出现问题,红外控制窗帘测试时,发现按键并不是很灵敏,后来经过检查后,发现是主电路的一个焊点虚焊,经过重新焊接之后,这个问题就理想多了。再用万用表对整个电路检查,排除短路、开路等问题。检查芯片、各个模块是否能正常工作之后进行功能测试。5.1功能测试(1) 显示功能。接通电源后,显示部分显示正常,LCD1602液晶屏显示光照上下限值,系统时间,以及实时光照值,程序中设定的时间是12:00:00,上限值180,下限值10;当我按下开窗、关窗按键时,屏幕先后显示“window open”“window
41、close”。经测试,显示功能是可以实现的,如下图5-1、5-2、5-3所示。图 5-1 屏幕显示图 5-2 关窗显示图 5-3 开窗显示(2)智能光控窗帘。测试过程中,我通过按键把上限值调到160,下限值为30;当我用手机打开手电筒对着光敏电阻,此时光强值为194,大于上限值,系统判断白天,窗帘打开。接着我用手挡着光敏电阻的光,此时光强值为29,小于下限值,系统判断为晚上,窗帘关闭。经试验,此功能是可以实现的。如下图5-4、5-5所示。图 5-4 大于上限值图 5-5 小于下限值(3)按键控制测试。首先我们先测试了按键能不能有效,分别在按键上测试,S3是主功能键,也是切换键;S4是阈值+1;
42、S5是阈值-1;S6是关窗;S7是开窗;经过测试,所有按键都没出现问题。下面我进行定时测试,设置开窗时间为12:06:10、关窗时间为12:07:10;在几分钟后,开窗、关窗动作先后实现。在窗帘打开时,按下S6,实现关窗,步进电机逆时针旋转。此时按下S7,实现开窗,步进电机顺时针旋转。经试验,按键模块功能是可以实现的。如下图5-6、5-7、5-8、5-9所示。图 5-6 手动关窗图 5-7 手动关窗图 5-8 设定开窗时间图 5-9 设定关窗时间(4)红外控制测试。测试范围1-5m进行测试,因为我是在白天进行测试,所以在此时窗帘已经是打开状态,所以我先进行关窗测试。在离设备1m处,水平方向按下
43、关窗,步进电机逆时针旋转。在3m处,水平方向按下关窗,步进电机顺时针旋转。综上所述,红外控制在范围1-5m内是可以实现的。如下图5-10所示。图 5-10 红外控制5.2总体测试总设计以51单片机为主控芯片执行窗帘开闭的主要工作;以光敏电阻为检测元件,给单片机提供外界光强变化,实现窗帘的自动打开和关闭;以红外检测电路、按键电路,实现手动控制窗帘。这些数据通过单片机传到LCD1602显示屏上,是步进电机转动的另一种体现。通过系统的总体测试,各个模块相互配合没有问题,整体系统是满足课题要求的。如下图5-11是总体测试其中一张图。图 5-11 总体测试第6章 结论本系统通过硬件和软件的共同设计实现了
44、这智能窗帘系统,以51单片机作为主控芯片、电源电路、时钟电路、复位电路、显示电路、步进电机驱动电路、红外检测电路、按键控制、光照检测电路等组成。本文详细分析了各个电路的工作原理,以及芯片的使用,融合大学4年学习到的知识,结合到毕业设计。我对51单片机学到了新的知识,有了新的认识。每个部分的引脚工作原理不同,实现不一样的功能。硬件电路的连接是基础。通过此次毕业设计也提升了我的动手能力,比如焊接电路板,安装电路。为以后工作打下良好的基础。在做毕设的期间,遇到了挺多问题,有些器件并不是很了解,该选择怎样器件会好一点,通过自己不断的问,和努力查找资料,才有了一些了解。最后面慢慢实现光控窗帘,按键控制窗
45、帘,以及红外控制窗帘。在这一方面,不仅学到了如何焊制板子,也学习到了不少器件的属性,算是另外一种收获吧。当然本毕业设计也有不足的地方,就是主要没加入掉电保护模块,即存储记忆。在关机之后重新启动时会自动恢复到初始设置值,有可能会给人们带来一些麻烦困扰,所以需要在这一方面进行改进。26参考文献:1冯凯,童世华.智能家居的由来及其发展趋势J.中国新技术新产品.2010(06).2乔建良.智能光敏电阻检测装置研究与设计D.南京理工大学,2006.3万飞,杨延宁,李小敏,马玉昆,曹新亮.一种基于STC89C51的光控窗帘系统设计J.电子设计工程,2017(17).4赵巍.单片机基础及应用M.北京:清华大
46、学出版社.2009.5郭天祥.新概念51单片机C语言编程M.北京:电子工业出版社,2009.6于志赣,刘国平,张旭斌. 液显LCD1602模块的应用J.机电技术,2009(03).21-23.7郑国君.8位串行A/D转换器ADC0832J.电子世界,2002(09).44-45.8赵丽请,惠鸿忠.C51单片机模块焊接实验实践教程M.北京:电子工业出版社,2015.(8).9梁明亮,王新强. 单片机与ADC0832的接口技术J.河南科技,2006(08):48-49.10Ralph Linsker.Seven more views on intelligent designJ. Physics Today,2002(9):55.28致谢16年入学,20年毕业,说实话时间过得很快,现在想起来感觉当初非常懵懂,现如今差不多入社会快一年了,真是感慨万千。四年来我收获了很多,不仅认识了许多有趣的同学、朋友,还学到了不少知识。19年出去实习以来,感谢张亚林老师对我认真的教导和耐心的帮助,非常的有耐心对待我们的毕业设计,给了我们不少建议和方向,对我有极大的帮助,才能顺利答辩和毕业。最后感谢我的家人,在背后默默为我付出,希望以后出到社会,不忘初心,争取能为社会做出自己的贡献,做一个优秀的青年毕业生。