资源描述
福州大学至诚学院本科生毕业设计(论文)题 目: 基于单片机的多功能智能窗的设计 姓 名: 学 号: 系 别: 电气工程系 专 业: 电气工程及其自动化 年 级: 2012级 指导教师: 2016年1月15日独创性声明本毕业设计(论文)是我个人在导师指导下完成的。文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。特此声明。论文作者签名: 日期: 关于论文使用授权的说明本人完全了解福州大学至诚学院有关保留、使用学位论文的规定,即:学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存论文。保密的论文在解密后应遵守此规定。论文作者签名: 指导教师签名: 日期: 基于单片机的多功能智能窗的设计摘要在现代家居中,窗户是一个重要的组成部分,可以起到通风透气和挡风避雨的作用,但大部分的窗户设计不够完善,只能简单的人工开关窗户,没有安防报警功能,盗贼进入房间时无法第一时间通知主人,而且在意外情况发生时,使用者完全没有发现的意识,无法及时的解决。本设计基于STC89C52RC单片机为控制终端,通过传感器检测环境的温湿度、烟雾值、关照强度。当房间内的可燃气体泄漏时,窗户便会自动开启通风,并且发出警报来提醒主人环境异常,如在下雨天,系统检测环境湿度,能自动关窗,避免雨水溅到室内造成不必要的损失。如有小偷要进入房间则会碰触传感器,关闭窗户同时发出警报,第一时间提醒主人有小偷进入房间。光敏电阻放在窗外通过检测亮度,判断白天还是夜晚,可以控制自动关开窗。可以解决无人在室内时,随着环境的变化,多功能智能窗会做出相应判断,自动开关闭窗户的作用,使室内的财产和安全不会因为环境的变化而造成一定的损失。同时,具备了传感监测环境的功能随时可以知道环境的变化。显示窗户的智能化。从而,大大的改善了生活质量。 关键词:单片机,智能家居,传感器Design of Multi-functional Intelligent Window Based on MCU AbstractThe smart home In the modern home, the window is an important part of the can to ventilation and wind and rain, but most of the windows design but perfect, only a simple manual switch windows, no alarm function, the thieves entered the room cannot first time to inform the owner and at the time of the accident, users no sense of discovery, not timely solve.This design is based on STC89C52RC microcontroller as the control terminal, through the sensor to detect the temperature and humidity of the environment, smoke value, care strength. When the leakage of combustible gases inside the room, windows will automatically open ventilation, and sounds the alarm to remind the owner environmental anomalies, such as on a rainy day, system to detect environmental humidity, automatically closing a window, to avoid the rain splashed to the interior caused by unnecessary losses. If a thief to enter the room will touch the sensor, close the windows at the same time issued a warning, the first time to remind the owner of a thief into the room. Photosensitive resistor through the detection of brightness, to determine the day or night on the window, can control the automatic closing window. Can solve unmanned in the interior, with the change of environment, the multifunctional intelligent window will make the corresponding judgment, automatic switch closing window, indoor property and security are not because of changes in the environment caused by a certain degree of loss. At the same time, it has the function of sensing and monitoring environment at any time to change the environment. Make windows intelligent, greatly improving the quality of lifeKey words: single chip microcomputer, smart home, sensor 目 录第1章 绪论11.1 研究背景及意义11.2 国内的发展现状11.3 国外的发展现状21.4 研究的课题内容21.5 论文的介绍21.6 本章小结3第2章 方案的设计42.1 系统的方案架构42.2 控制芯片42.2.1 控制芯片的选择42.2.2 STC89C52RC芯片的介绍52.3 温湿度传感器模块62.3.1 温湿度传感器模块的选择62.3.2 SHT11温湿度传感器62.4 电机模块72.4.1 电机模块的选择72.4.2 芯片ULN2003的介绍82.5 显示器模块82.5.1 显示器模块的选择82.5.2 液晶显示器LCD1602的介绍92.6 A/D的转化模块102.7 软件设计方案112.8 系统特点132.9 本章小结13第3章 硬件电路的设计143.1 单片机的最小系统143.1.1 介绍单片机的接口143.1.2 复位电路153.1.3 振荡的时钟电路153.2 步进电机模块接口163.3 A/D转化模块的接口163.4 本章小结17第4章 软件设计184.1 系统软件设计方案184.1.1 单片机计算机系统简介184.1.2 单片机计算机系统的客户端应用194.2 温湿度传感器程序设计194.3 LCD1602模块的设计204.4 电机模块的程序设置214.5 本章小结22第5章 系统的调试235.1 系统主程序设计235.2 系统软硬调试235.3 本章小结25结论26参考文献27谢辞28附录1 部分关键源码及解释29基于单片机的多功能智能窗的设计第1章 绪论1.1 研究背景及意义随着今天科学技术的创新和发展,人们的生活水平也随之不断提高,比如:医院的医疗设备、家庭的家用设备、私人交通设备等等,所有的这些变化让人们的生活更加便捷。在现代家居中,窗户不但具有良好的装饰和采光等功能,而且还可以阻止灰尘和空气流通。虽然很多家庭现在用钢结构加强防盗网用于防止盗窃,这样子似乎起到了安全功能,但是在火灾等突发的事件中,防盗网的窗户却让人没有机会逃跑,所以改善窗户的功能性是十分重要的。在现代工艺中大多数窗口的制作在一定程度上是不完美的,而且没有安全检测功能,一旦发生事故只能靠人工打开或关闭窗口,用户完全没有意识到有些产品没有提供通风的系统,房间一氧化碳或烟雾超过时,不能最快通知主人室内的空气情况,而有些产品没有传感器开关的安全特性,即便小偷入侵也不知道。而智能的窗户控制系统,不但可以通过检测环境湿度自动关闭窗户,而且室内如果有有害气体窗户会自动,有贼侵入房间便会自动报警,室内温度和湿度太高或太低便会自动开关窗,自动监测和调整环境使窗户真正的智能化,给人们的生活带来了很多的舒适,大大提高了人们的生活质量。1.2 国内的发展现状在中国通用的智能化装置发展相对而言较晚,而欧洲国家和其他发达国家的智能化早已广泛应用。10年前电动窗帘已经进入中国,由于没有得到大力推广,电动窗帘一直没有得到相应的发展。而在这两年,随着电子控制技术的不断发展和价格的下降,智能化开始飞快发展。今天,在中国多功能智能窗户系统快速发展,在同等的行业中成为佼佼者,也恰恰说明了多功能智能是科技进步的产物,它也将成为我国未来窗户发展的主流。据报道,在2004年在中国房地产 有1亿9000万出售,如果平均每30平方都需要这样的产品,这就可以近几年数百万套这样的新产品需求。在新的市场下,智能家居多功能智能窗户系统产品将不少于5000万套。假如多功能智能窗销售额只占3%的市场,它至少可以实现年产值上百万元。1.3 国外的发展现状在欧美一些国家为 了能够更有效地保障居民的生命安全和财产安全,在很早就引入了楼宇智能化,其中在通讯防盗智能窗装置最为常见。国外许多国家试过运用远程通讯 的方法进行监控,实现远程警 讯传输。但是这些方式往往受各种客观条件的限制,比如造价昂贵、信号不稳、易受破坏等,一直无法从 根本上解决问题。集中起来,其缺陷 主要有一下几点:(1) 产品配置成本昂贵,一次性的资金投入较大;(2) 可靠 性较低;(3) 后期 的维护费用偏高。1.4 研究的课题内容本课题的研究内容如下:(1) 红外传 感器模块的软硬件设计,进行信息的探测,从而触发单片机;(2) 步进电机模块 的软硬件设计,通过单片机发出指令 到驱动芯片ULN2003来驱动步进电机的工 作,利用红外接收来实现遥控的控制;(3) 显示器模块 的选择和设计,显示温湿度传感器 上探测到的信息;(4) 整个系统的 软硬件调试及完善。1.5 论文的介绍根据系统需求,本文完成如下工作:第1章:介绍了系 统的研究和设计的背景及意义,调查并简述了 当前国内多功能智能窗的系统的现状,设计了符 合时代发展需要的多功能智 能的窗户系统方案;第2章:介绍了系 统硬件电路,包括核心控制器、检测 部分和无线红外接收部分;第3章:设计了多功 能智能窗的系统功能模块;第4章:介绍了Keil4开发环境下的软件编程技术,根据实际需求 编写一系列实现手动和自动化的应用程序;第5章:介绍了对系统进行软 硬件联合调试,以达到系统功能的主要要求。1.6 本章小结多功能智能 化窗户系统的设计能够 更好地解决现代家庭一系列的安全隐患问题,简单易操作,保证反应动 作的及时性和稳定性。本章是在了解国内外 家居智能的现状,分析了市场上 一般的家居智能窗的优缺点的基础上,给出 了单片机的多功能智能窗帘 系统设计的思路和要求。第2章 方案的设计本课题的研究内 容是基于单片机的多功能 智能窗户系统的研究和设计,整个系统的设计 是基于目前一般智能家居系统的国内 外现状,通过调查和实际研究 设计更好的多功能窗帘系统,方法上则是 通过采用烟雾及温湿度传感模块,红外传感器模块和红外遥控接收模块 来实现窗帘的智能化运行。2.1 系统的方案架构系统架构如图2-1所示。图2-1 系统的总体架构多功能智能窗的机械部分的动力由步进电机模块提供,根据现实生活窗户的位子和大小来设计传动部件和窗架。根据传感器将 探测到的环境变化反映到单 片机口,由单片机I/O信号的变 化(即电平的高低)反应出外界环境的变化,发出指令驱动电机产生动作。 2.2 控制芯片2.2.1 控制芯片的选择方案1:STM32 系列芯片处理器。该系列芯片采用了基于ARM嵌入式架构中的Cortex-M3 内核的处理器,STM32F103为 中等“增强型”系列,是属于低功耗的嵌入式 处理器。时钟频率为 72MHz,可以通过JTAG接口 进行编程与仿真,拥有IC、SPI等主要 接口,内置RTC实 时钟、GPIO及终端。方案2: STC52系列的芯片的选择。该系列芯片是一类高性价比、而且性能比较好 的微处理器,其中的STC89C52RC由 内置8位中央 处理单元和512字节RAM以及8K片内的 程序存储器,外部有32个的 双向I/O口、36位定时/计数器 和四个外部中断的 结构,全双工串行通信也是其中的一个特点,还有时钟的振荡电路,以及多样 的封装外型也是单片机的重要组成部分,使其能够适应 各种应用场合。选定方案:通过仔细比较,认为STC系列的 单片机具有处理功能强、性价比高等 优势,适合本设计要求的特点,故采用STC89C52芯片作为多功能智能窗的系统的主要控制器。2.2.2 STC89C52RC芯片的介绍 89C52RC单片机不但具备价格低廉、便于上手,而且系统可靠稳定,高性能的8位单片机是采用的CMOS技术制造,这种工艺不仅可靠,而且集成了更多的功能,如时钟输出、向上或向下计数器等。89C52RC内嵌有8位中央处理单元、0.5KB的RAM、8KB的ROM、3个16位的T0,T1,T2、中断有4个外部中断和一个4级中断结构以及32个通用输入/输出口。该块单片机的工作电压为5V,其内核的工作电压则为3.3V,总体而言,芯片工作的功耗很小,满足系统的需求,即低功耗、低成本。89C52RC单片机处理器作为系统的核心,主要配合其他传感模块的检测做出处理1。如图2-2为STC89C52RC芯片的实物图。图2-2 单片机实物图2.3 温湿度传感器模块2.3.1 温湿度传感器模块的选择方案1:接触式温湿度传感器。接触式温湿度传感器通过和待测物体接触来测量的原理,被测物体发生变化传感器也发生相应变化,接触式的传感器在工业和生活中使用比较广泛2。方案2:数字温湿度传感器。智能温湿度传感器是基于微电子学技术、计算机控制技术和自动化测试技术,该项产品在集成传感器的领域中是最有发展前途的。传感器的内部结构由A/D转换器、存储器(或寄存器)和温湿度传感器、接口电路等模块组成。它具有三个比较显著的特点:第一个特点;对被测对象的温湿度数据及相关的一些温湿度控制量的输出;第二个特点;高性能、以最简单的方式 构成温湿度测控系统;第三个特点;能够通过硬件的基础上使用软件来实现测试的功能。选定方案: 因为系统测量环境的湿度值的精度要求较高,在加上在测量过程中其他的因数对测量的结果干扰比较大,所以,为了测量的准确性本次设计采用智能的温湿度传感器芯片,来实现更加智能化的测量。2.3.2 SHT11温湿度传感器SHT11是一款新型的用于测温湿度的数字芯片。7.652.5mm是这款SHT11芯片的尺寸,它的体积值只有常用的橡皮擦的体积一半大小。在出厂之前,厂商对每个传感器都做过精密标准测试。芯片的标准系数都会被编成相应的程序并且存入校准的存储器里面,它在测量过程中可以对相对湿度进行自动校准在测量工程中3。SHT11广泛应用于电子、汽车、冷暖空调、自动控制等领域。SHT11的抗干扰能力 极强,因为芯片采用数字 信号输出,SHT11芯片 广泛的应用在温湿度监测、自动控制等领域。该芯片的特性总结出如下几点:相对温湿度值输出可全校准;具有长期的稳定性;输出功能带有露点值的计算;有体积小(7.655.0823.5mm),可在表面进行贴装;在测量时电流消耗为五百五十毫安在休眠时电流消耗为三毫安;传输校验功能带有可靠的CRC数据;电源的工作范围为2.4-5.5V;如图2-3为传感器实物图。图2-3 传感器的实物图2.4 电机模块2.4.1 电机模块的选择方案1:采用步进电机。由步进电机的驱动原理可知,步进电机的运行是通过接收驱动器施加的脉冲来转化成电机的脚位移,多个连续的角位移衔接在一起形成电机的运行。可以通过给驱动脉冲数量来控制步进电机在一个周期内控制角位移量,从而达到想要的控制角度。通过控制给脉冲的速度来控制电机转动的速度还有加速度,这就是调速的原理4。ULN2003芯片可以用来驱动小型的步进电机:每个脉冲都可以通过转化成电机转动精确的角度,并且能持续地将电脉冲转换成特定的旋转运动。方案2:采用普通的直流电机。直流电机的工作电流比步进电机要比大的多,L298N这类的驱动芯片用于驱动相对比较小型直流电机,普通直流电机成本较低并且不占用单片机I/O口,节约了单片机CPU资源,满足本系统设计要求,使用起来更加便捷。直流电机采用单片机输出PWM波控制来控制。综合以上,考虑到整体设计的供电,简化系统电路,因此采用方案1。2.4.2 芯片ULN2003的介绍步进电机原理设计如下:通过单片机产生脉冲信号传递到驱动芯片上来驱动步进电机,脉冲信号的占空比为0.2到0.6左右,信号分配是按规定的顺序发送脉冲序列是通过某种控制给出的顺序 ,便可实现步进电机的正反转。按照设计要求,步进电机工作节拍的通电顺序是AABBBCCCDDDAA。正反转的控制原理:用单片机输出的四个接口的为一组控制位。本设计中,步进电机的四项绕组分别接单片机的P1.0,P1.1,P1.2,P1.3。采用ULN2003芯片驱动模块,原理图如图2-4所示。图2-4 ULN2003原理图2.5 显示器模块2.5.1 显示器模块的选择方案1:LCD1602液晶的显示屏。LCD1602又名1602字符型液晶,它的功能可以显示数字、字母以及一些特殊的符号等的液晶模块。它是有两种型号,一种是由若干个57,一种是由511的点阵字符位组成5。LCD1602的屏幕显示由多个点阵组成的,每个点阵对应一个字符,在每个字符之间还存在间隔,而这些间隔为一个点距,上下两行之间也有点距,其作用是为了隔开字符和隔开行距。方案2:LCD12864 液晶显示屏。LCD12864是能够显示图像的液晶显示模块。它的体积大小为手机屏幕的一半,能够显示1616点阵的汉字。操作简便。主要运用在工业仪器仪表方面,比如可利用该模块实现全中文的人机交互图形界面。 选定方案: 综上所述,LCD12864液晶显示屏的价格相对比较高一些,而LCD1602液晶的显示屏满足本设计对显示器模块功能的要求,且简单易行,故采用LCD1602液晶显示屏多功能智能窗的显示器模块。2.5.2 液晶显示器LCD1602的介绍LCD1602字符液晶显示器屏幕类似SMT89C52RS芯片体积大小,是点阵型的显示模块。该模块在出厂之前就已经把160个字符字模固化在控制模块和驱动模块中。用户 只要将需要显示字符的ASC-II的数据 送入显示数据库自动生成其对应的字符字模。 LCD1602特性:(1) 带有的数据存储器DDRAM有80字节;(2) 内建有字符发生器CGROM;(3) 提供多种控制命令;(4) 工作电压在3.3V或5V,对比度可通过电位器调节;(5) 用户自定义的5X7的字符发生器有八个;(6) 系统自带复位电路。1602液晶显示器的外观如图2-5所示。图 2-5 液晶显示器1602管脚说明表如表2-1所示。表2-1 1602管脚说明表引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。续表2-1 1602管脚说明表5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0低4位三态、 双向数据总线0位(最低位)8DB1低4位三态、 双向数据总线1位9DB2低4位三态、 双向数据总线2位10DB3低4位三态、 双向数据总线3位11DB4高4位三态、 双向数据总线4位12DB5高4位三态、 双向数据总线5位13DB6高4位三态、 双向数据总线6位14DB7高4位三态、 双向数据总线7位(最高位)15BLA背光电源正极16BLK背光电源负极2.6 A/D的转化模块A/D转换即把模拟信号转换成数字信号,然后做出相应的输出。在进行A/D转换时要注意:第一点是要 确定A/D转换的位数,在一般情况下是运用八位A/D转换器,本芯片就是采用八位的;第二点是要测量控制的范围 和精度有密切的关系,因为系统精度 涉及到传感器 的变换精度和信号预处理电路的精度A/D转换器还有 输出电路6。当A/D芯片的CS口输入低电平 时,ADC0832开始工作,同时单片机向时钟输入端CLK提供 脉冲,此时,DI端有效,使用DI的输入通道功能选择数据信号,在时钟脉冲 下沉之前DI端口都是高电平直到时钟脉冲 下沉之前。在第2个时钟脉冲下沉之前DI端口应输入两位数据用于选择通道功能7。而当CS输入高电平时,ADC0832处于未工作的状态。如表2-2为ADC0832芯片引脚说明表。表2-2 ADC0832型号芯片管脚说明表引脚符号功能说明1CS_低电平芯片使能,片选使能。2CH0作为IN+/-使用,模拟输入通道0。3CH1作为IN+/-使用,模拟输入通道1。4GND芯片的参考零电位(地)。表2-1 1602管脚说明表5D1数据信号输入。6D0数据信号输出。7CLK芯片的时钟输入。8REF /VCC参考电压输入。2.7 软件设计方案本系统的软件设计采用分块设计,有89C52RC芯片、温湿度传感模块、步进电机模块、烟雾光敏传感模块等组成的。软件设计分成各个模块的程序,有主程序控制需要是通过调用的方式显现其功能。软件主程序如图2-6所示。图2-6 软件主程序图2.8 系统特点从整体上看,多功能智能窗的系统主要是通过采集温湿度的模块进行模拟量传递,通过时间设定和无线遥控手动开关来实现开关窗,使用户体会到智能化的生活,而且通过触动红外传感模块报警保证私有财产的安全。创新性:窗户的开或关是通过外部的多个传感器和单片机的配合实现的,当有物体碰触红外传感器时,环境异常蜂鸣器发出警报来提醒室内的主人环境异常,及时作出处理,这样使人们能够在更加安全的环境下生活。科学性:在过去,家里的窗户都是通过人工去开启或是关闭,在主人外出的情况下,像煤气泄漏或有浓烟、下雨、有小偷等等其他意外发生时,则无法及时开启或自动的关闭窗户,可能给用户造成损失,而现在多功能智能窗户就能及时的解决这一类困扰人们很久的问题,它可以符合客户的很多需求,而且当意外出现时,也能够过应付自如。先进性:能够通过各个传感器对环境模拟进行检测,同时单片机作出处理,屏幕显示环境参数,结合检测模块,窗户实现自动开启或自动关闭的功能。而且可以通过遥控控制器开关窗。不同的芯片相互通信。 单片机是该系统的核心控制器,该芯片相对而言系统结构简单,且可靠性高,处理能力快,简单好用。可以说,不管是部分还是整体,设计的多功能智能窗的系统可能存在不足,但是也有自己的特点和优势。2.9 本章小结本章对此次设计中所需要的功能提出了不同的实现方案并加以比较和选择,选定了以STC89C52RC芯片为主控芯片,DHT11温湿度探测器模块,ULN2003芯片来驱动步进电机做出相应的动作,红外检测开关通过蜂鸣器进行警报模块。然后分别详细介绍各模块的功能及引脚连接等,使系统方案更具备理论依据,系统设计更具有可靠性和可行性。第3章 硬件电路的设计3.1 单片机的最小系统首先要制作一个支持主控芯片正常工作的核心工作系统,并且可以稳定工作。需要具备供电源供电、晶振电路、复位电路等模块组成,其各个模块具体如下。3.1.1 介绍单片机的接口STC类的51单片机封装和其他系列单片机大同小异,都是40引脚,工作电压为5V,同时还增加了具有IIC总线功能的串行口。其单片机引脚图如图3-1所示。图3-1 单片机引脚图在实际制作时,可以灵活选择I/O口来方便布线和放置器件,但是要注意的一点是:如有利用到中断和定时器功能时,应该尽可能避免把功能口作为普通口进行使用,否则可能导致该设置中断或者定时事件的误发生。 3.1.2 复位电路在复位端口通过接一个电阻连到电源。通过按下电源开关来实现系统的复位。 RST引脚是单片机的复位信号端口。复位电路主要由芯片内和芯片外两个部分组成,先是由芯片的外部电路发出复位信号传输到触发器,再由芯片内部电路对触发器输出的信号进行采样,最后得到的就是内部复位需要的信号,复位信号的有效电平为高电平,有效时间能持续24个振荡脉冲周期以上8。因此采用如图3-2的复位电路。复位是单片机的初始化操作,在单片机执行的过程中,一旦发生复位,单片机重置运行的所有数据段都要从0000H单元开始执行操作。图3-2 复位电路图3.1.3 振荡的时钟电路在单片机的XTAL1和XTAL2引脚接上晶体振荡器和电容,晶体振荡器和电容是定时控制元件,就可以构成一个稳定的自激振荡器,而且在单片机的内部有一个高增益反相放大器,晶体振荡器和微调电容通过跨接在XTAL1和XTAL2之间,给单片机提供频率和极稳定的振荡信号8。本设计的振荡电路使用11.0592MHz的无源晶振,外接两个电容使其构成起振。一般选择电容值的大小的范围为10-30pF,因为,电容对系统的震荡稳定性和快速性起到很重要的作用。因此,本设计选择22pF的电容。另外需要特别注意一点,那就是单片机的工作频率是有范围的,最大也只能达到24MHz,一般情况下我们都是选用12MHz的晶振来完成。如图3-3的复位电路图。采用11.0592MHz的晶振,第一点是在调试的时候因为要通过串口上传到电脑上观察传输情况,为了让波特率吻合,因此选择了该晶振。第二点是为了方便调试时使用。图3-3 晶振电路图3.2 步进电机模块接口电机接的线图如图3-4所示。通过单片机的I/O输出脉冲序列和方向控制信号,达林顿阵列复合管的做成五线四相步进电机驱动芯片,通过芯片来放大功率,作为驱动电机需要的电流和电压。带减速器的步进电机速度相对不带减速器更快,力矩更大。步进电机由ULN2003大功率达林顿阵列芯片驱动,通过端口的安装,可以实现直插运行。图3-4 步进电机接线图3.3 A/D转化模块的接口如下图3-5所示,通过ADC0832芯片把模拟量转化成数字量。传输数据独立且传输速度快和稳定性好特点,实现双数据传输误差小。图3-5 AD5C0832原理图3.4 本章小结古人曰:工欲善其事必先利其器。因此制作成功关键是单片机能正常工作。本章中,阐述了单片机工作原理以及制作最小系统版的一些注意事项,在制作过程中必须确保每一步都是正确的,才能接着制作下面一步。通过开发板烧写程序到芯片里面。接着介绍了烟雾传感模块和温湿度传感模块还有步进电机模块的接口电路,为后面介绍如何多功能智能窗的功能实现做下铺垫。第4章 软件设计本章以流程图为主要说明方式系统地介绍各个模块的软件流程。模块的程序设计如下:(1) 温湿度传感器模块,通过温湿度的采集,处理数据的子程序;(2) 按键扫描模块,扫描按键来调整设定值;(3) LCD显示模块;(4) 主程序模块,包括了端口初始化,以及各项子程序之间的调用等。4.1 系统软件设计方案4.1.1 单片机计算机系统简介从组成和功能上看,单片机具有将组成计算机的主要基本部件全部都集中嵌入一起的结构特征。构成了一台集成了CPU、存储器、定时器和I/O接口等部分,是具有特殊功能的单片微型计算机9。CPU的功能是控制指令的读出、译码和执行,并且对指令的执行过程进行实时控制。最后根据其执行结果判断是否要考虑分支转移。控制器各功能所示:(1) 指令寄存器:用来存放指令操作码的专用寄存器;(2) 指令译码器:取出指令并译码,分析各种操作;(3) 定时控制逻辑电路:计算机控制的各组成部件,是通过发出一系列指令的定时控制信号,以其来分配各部件进行相应的工作来执行指令10;(4) 程序计数器:把下一条指令存放在该计数器上;(5) 条件转移的逻辑电路:主要通过控制程序,来把程序进行转移。控制器把指令逐条取出,然后进行译码。依据定时控制逻辑电路发出定时控制信号,来控制指令的执行。另外需要特别注意的是,若是对于运算指令,还要在程序状态标志寄存器PSW中将运算结果特征送入。把编写好的程序通过单片机开发板来烧写入单片机,其中程序的烧写可擦除单片机反复使用,可以根据自己的需要重新编程,重新烧录程序。用户根据需要对相应的功能编写相应的程序以实现高效率和高可靠性。同时,它是一种在线实时控制计算机,而且单片机具备较强的抗干扰能力11。4.1.2 单片机计算机系统的客户端应用通过计算机控制完成指定动作的命令称之为指令。不同的指令所对应的动作不同,产生的功能也就不相同。在种类繁多的单片机世界里,它所谓的指令系统也琳琅满目。提供单片机完成某一特定的任务,需要将完成的操作编成一系列指令,并且这些指令都必须符合单片机的指令格式,这些指令所构成的集合就是所谓的程序12。RAM中片内和片外两部分组成的13。通过/EA引脚所接的电平可是CPU访问片内还是片外存储器,当/EA为低电平时,则系统将会执行片外程序存储器程序;当/EA为低电平时,系统将会先执行片内程序14。如果PC值超过片内ROM的容量时,就会自动跳到RAM空间执行。C语言在单片机的程序设计中的运用是最为普遍的。基于单片机芯片和C语言来编写该程序。通过对系统所需功能进行分析理解,设计算法,画出程序流程图,接着在Keil4上编写程序,不断进行调试验证15。整个过程合理利用单片机运行机制使整个程序思路清晰,具备稳定与可靠的功能,并且大大降低了系统出错率。4.2 温湿度传感器程序设计在整体系统中,温湿度模块是作为探测器使用的,通过编写程序设置温湿度的初值,本设计中设定温度上限初值为38,湿度上限初值为85%,通过传感器探测来环境判断模拟量变化是否超过设定值,一旦超过事先设置好的范围,则判定为环境异常。程序设计过程如图4-1所示。图4-1温度模块流程图4.3 LCD1602模块的设计LCD1602主要包括写命令,写数据2个步骤组成。写指令:输入:RS=L,R/W=L,指令码; D0D7,高脉冲:E:输出:数据:D0D7。写数据:输入:RS=H,R/W=L,数据;D0D7,高脉冲:E:输出:无。如图4-2所示,即为整个流程。图4-2 LCD1602流程图在系统运行过程中,LCD1602显示模块让人更加直观的了解环境的变化情况,通过编写程序初值化显示模块,显示分为两行,第一行是亮度值和时间的显示;第二行显示温湿度和烟雾模拟量的采集值。通过单片机的指令来不断更新数据值。4.4 电机模块的程序设置电机模块是受芯片的控制。芯片接收单片机指令通过驱动器来驱动电机做出相应的运行16。步进电机工作的流程,如图4-3所示。图4-3 步进电机工作的流程系统开始,步进电机默认顺时针转动,当传感器采集的模拟量超过初值,单片机发出指令传递脉冲给驱动芯片,电机开始动作知道指令的周期结束,电机停止转动,等待单片机发出下一指令。4.5 本章小结本章主要介绍了单片机的操作系统,详细描述了温湿度传感器的参数读取过程、液晶显示屏的显示模块设计及通过ADC0832的模拟量转化设计,通过流程图的方式使得过程更加显然易懂。 第5章 系统的调试5.1 系统主程序设计芯片外部涉及的模块比较多,有温湿度模块、电机模块,还有数模转换模块等。因此写程序的时候一定要注意协调,要加延时地方一定不能省去。主程序的设计是整个软件系统的关键。基于这个思想,构造了本次程序。5.2 系统软硬调试通过不断的调试到最终确定原理图,再通过实物焊接,实现硬件的框架。如图5-1为硬件电路图。图5-1 硬件电路图编写好的程序烧入单片机的烧写软件STC_ISP,单片机下载软件具体界面如图5-2。图5-2 单片机下载软件界面将程序写好烧入进单片机后,安插在相应的位置。当上电后,步进电机默认顺时针关闭窗户,LCD1602分为两行显示,第一行显示亮度和当前系统时间,第二行显示当前环境的烟雾值和温湿度值。上电的效果如图5-3所示。图5-3 硬件整体和上电的效果系统由红外遥控模块、温湿度模块、电机模块、显示模块,烟雾传感模块组成。上图为上电且高亮度的情况下的页面显示。字符“Br”表示光敏电阻采集的亮度。通常情况下,环境亮度值为70-80之间,系统的初始值设置为Br=180,当超过该初始值系统便会自动逆时针旋转代表开启窗户。字符“S”表示烟雾传感器采集当前环境的烟雾值,烟雾的初始值程序设置为85%,环境烟雾值通常在30-40之间,当环境的烟雾值超过85%便会发出警报电机逆时针运行代表窗户开启。而字符“T和U”分别代表当前环境温湿度值,分别设置温度上限初值为38,湿度上限初值为85%,超过初始值电机便会顺时针代表关闭窗户,从而实现窗户的智能效果。系统还设置了按键模块,可以通过人工手动控制开关窗,也可以通过按键来调节各个参数模拟量的初始值。上电的效果如图5-3所示。5.3 本章小结本章主要介绍了单片机的操作系统的调试过程和步骤,通过一步步的调试,从画原理图导成PCB图,到制作PCB板及实物的焊接,形成了以上的硬件实物。通过编写程序实现最后对软硬件进行联合调试,在不断编写改进后实现了系统所需功能。结论在此次设计中,通过查阅了相关的技术手册与参考文献,参考了相关的设计与制作,学习了STC89C52RC单片机的应用与编程方法,在Keil4软件上对LCD1602、ULN2003芯片和ADC0832芯片三个功能模块进行程序编写与设计,再将三个模块进行联合调试,实现多功能智能窗的功能。本文通过多功能智能窗的系统设计所作的具体工作如下:(1) 通过查阅资料详细了解传统家居的窗户系统优缺点以在国内外发展现状,阐述了智能化的多功能窗系统设计比将成为未来的发展趋势;(2) 通过查阅技术手册对比各功能模块的优缺点结合该系统所需功能,选定出性价比较高的STC89C52RC主控芯片、HLT11温湿度传感器和ULN2003的电机模块来实现该系统所需功能。同时,全面论述各个功能模块的特点、原理及应用;(3) 设计STC89C52RC单片机最小应用系统电路、HLT11温湿度传感器检测电路、ULN2003的电机模块的接口电路以及LCD1602的液晶显示电路等,为实现系统功能做好稳定的硬件系统;(4) 在Keil4软件上编写各功能模块程序;(5) 本次设计实现了预期的基本功能,但依然存在很多不足需要进一步完善,首先,不够便捷,系统可以采用灵敏度更高的探测器进行探测。其次,功能简单,下一步可以加装视频显示模块,进行现场监控。最后,硬件系统设计不够美观,功能体现不够明显。参考文献1 胡汉才单片机原理及其接口技术M 北京:清华大学出版社,1996.2 唐文彦传感器(第四版)M北京:机械工业出版社,2011.3 卿太全最新传感器选用手册M北京:中国电力出版社,2009.7. 4 许晓峰电机及拖动(第三版)M北京:高等教育出版社,2007.5 于志赣,刘国平,张旭斌液显LCD1602模块的应用J机电技术,2009,32(3):34-376 华成英,童诗白模拟电子技术基础第三版M北京: 高等教育出版社, 20047 刘同法单片机外围接口电路与工程实践Z北京航空航天大学出版社,2009-3-18 万福君单片机微机原理系统设计与应用M合肥:中国科技大学出版社,2004.9 鲍小南单片微型计算机原理及应用M杭州:浙江大学出版社,2007.10 谭浩强C语言程序设计(第三版)M北京:清华大学出版社,200511 何立民单片机应用系统设计M北京:北京航空航天大学出版社,200428-38.12 高洪志MCS-51单片机原理及应用技术教程M北京:人民邮电出版社,2009.4.13 张国雄测控电路(第四版)M北京:机械工业出版社,2011.14 杨振江,刘男,杨璐等单片机应用与实践指导M陕西:西安电子科技大学出版社,201032-3815 Guiyun TianFoumdation and Application pf Microcontroller(第一版)M北京:高等教育出版社,200516 Meehan Joanne,Muir LindseySCM in Merseyside SMEs:Benefits and barriersJTQM Journal.2008谢辞逝者如斯乎,不舍昼夜。时光飞逝转眼大学四年就要画上句号了,脑子里都是这大学四年的回忆。在此我衷心的感谢所有帮助我一起成长的人。首先,我想感谢的是我的导师俞珊老师。俞老师在让我选择毕业设计课题时候,充分考虑到我自身条件,让我自己选择了这次的毕业设计。做毕设这段时间来,从毕业设计的最初选题到 课题方案的确定,从讲解毕业 设计课题的内涵,到写程序测试时候遇到的困惑,到最后完成 实物时的建议,俞老师 一直在为我打气,提供细心的帮助 和指导。还有我的小伙伴王捷荣和杨磊,向他们表示深深的感谢。虽然我们的课题不一样,但是从选材到买材料,从一头雾水到毕业论文的初稿形成,这一路我们都在同甘共苦,我们互相支持,互相进步,力求为大学最后一项大的工程下做到尽善尽美。我们互相进步,为完美做好毕业设计都洒下汗水。谢谢那些支持我的朋友和同学还有老师,没有他们就没有不断成长的我。在大学四年的生活中给予了我很多启发和领悟,当然这也是我完成毕业设计的不可或缺的力量。最后,感谢我的家人,你们的健康快乐是我最大的心愿。在未来的日子里,要懂得感恩,要懂得 回报,竭尽所能回报社会。附录1 部分关键源码及解释在这部分,将结合具体的源代码具体说明系统的执行流程和逻辑。#define uint unsigned int/宏定意#define ulong unsigned long/宏定意#include /库函数#include /库函数/如果 实物 打开#include /AD转换库函数#define uchar unsigned char/宏定意sbit rs=P20;/LCD 1602 引脚定意sbit rd=P21;/LCD 1602 引脚定意sbit lcden=P22;/LCD 1602 引脚定意sbit menu=P25;/主功能键sbit add=P24;/加键sbit dec=P23;/ 减键sbit open=P26;/ 手动 开sbit close=P27;/ 手动 关 sbit IR=P35; /红外感 应sbit BEEP=P31;/ 报警sbit pf=P30;/排风#define MOTORSTEP P1 void delaymoto() uint y=sudu;while(y-);uchar code FFW=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09; uchar code REV=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01; xdata num1 4 = 0x00,0x00,0x00,0x00,;xdata num2 4 = 0x00,0x00,0x00,0x00,;xdata num3 4 = 0x00,0x00,0x00,0x00,; xdata num4 4 = 0x00,0x00,0x00,0x00,;xdata num5 4 = 0x00,0x00,0x00,0x00,;void delaylog(uint z)/延时函数uint x,y;for(x=z;x0;x-)for(y=500;y0;y-);void delay(uint z)/延时函数uint x,y;for(x=z;x0;x-)for(y=10;y0;y-);void SETP_MOTOR_FFW() /反转 uint i=0;for(i=0;i8;i+) MOTORSTEP=FFWi; delaymoto(); void SETP_MOTOR_REV() /正转 uint i=0;for(i=0;i8;i+) MOTORSTEP=REVi; delaymoto(); 29
展开阅读全文