为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

智能窗户开关电路毕业设计(论文)

2017-11-14 46页 doc 236KB 32阅读

用户头像

is_633423

暂无简介

举报
智能窗户开关电路毕业设计(论文)智能窗户开关电路毕业设计(论文) 2013届毕业设计(论文) 题 目: 智能窗户开关电路 学 院: 电子信息与工程学院 专 业: 电子信息工程 班 级: 浦电子0905 姓 名: 夏欣 指导老师: 武晓光 起讫日期: 2013-2-25,2013-6-10 2013 年 6 月 摘 要 随着电子技术的发展和人民生活水平的不断提高,智能窗已经越来越多地被用到了现代智能化建筑中,提供住户一个安全、方便的环境。据统计,在未来的几年内,安装智能窗的用户将不断增加。本次设计的智能窗户系统能通过其数据检测传感电路不断循环检测室外...
智能窗户开关电路毕业设计(论文)
智能窗户开关电路毕业设计(论文) 2013届毕业设计(论文) 题 目: 智能窗户开关电路 学 院: 电子信息与工程学院 专 业: 电子信息工程 班 级: 浦电子0905 姓 名: 夏欣 指导老师: 武晓光 起讫日期: 2013-2-25,2013-6-10 2013 年 6 月 摘 要 随着电子技术的发展和人民生活水平的不断提高,智能窗已经越来越多地被用到了现代智能化建筑中,提供住户一个安全、方便的环境。据统计,在未来的几年内,安装智能窗的用户将不断增加。本次设计的智能窗户系统能通过其数据检测传感电路不断循环检测室外湿度及温度,当湿度或者温度达到一定时,窗户自动关闭,防止潮湿空气或雨水进入房间,当温度和湿度都到达合适程度时,窗户自动开启。 本文通过使用AT89C51单片机、ULN2003驱动电路、LCD1602显示模块设计了一种智能窗户系统。该系统可以实现自动开关窗,本文详细介绍了系统的整体设计原理,分析了系统的硬件及软件结构,并且制作了实物,通过测试,系统具有良好的效果。 关键词:单片机;ULN2003;步进电机;1602;DHT11湿度传感器 I Abstract With the development of electronic technology and the improvement of people's living standard, intelligent window is increasingly being used in modern intelligent building, offer a safe, convenient environment. According to statistics, in the next few years ", the installation of intelligent window users will continue to increase. The design of the intelligent window system through the sensing circuit of the data continuous cycle detection outside humidity and temperature, when the humidity or temperature reaches a certain time, close the window automatically, prevent the moist air or water into the room, when the temperature and humidity are to arrive at an appropriate level, the window to open automatically. In this paper, by using the AT89C51 SCM, ULN2003 drive circuit, LCD1602 display module, a design of intelligent window system. This system can realize the automatic window, this paper describes the overall design principle of the system, analyzes the structure of hardware and software system, and made the physical, to pass the test, the system has a good effect. Keys: microcontroller ;uln2003;stepper motor;lcd1602 II 目录 摘要 ................................................................... I Abstract .............................................................. II 第一章 绪论 ............................................................ 1 1.1 课题研究的背景 .................................................. 1 1 1.2 本文主要研究内容 ................................................ 1.3 论文主要章节安排 ................................................ 2 第二章系统整体设计及选择 ........................................... 4 2.1 方案选择 ........................................................ 4 2.1.1控制模块方案 ............................................... 4 2.1.2显示方案模块选择 ........................................... 4 2.1.3温湿度传感器方案选择 ....................................... 5 2.14 步进电机驱动方案 ........................................... 5 2.2系统总体设计模块 ................................................ 6 第三章 系统硬件设计 .................................................... 8 3.1 概述 ............................................................ 8 3.2单片机最小系统 .................................................. 8 3.3温湿度采集模块 ................................................. 10 3.4 LCD显示模块 ................................................... 11 3.5电机驱动模块 ................................................... 15 第四章 系统软件设计 ................................................... 18 4.1 KEIL软件介绍 .................................................. 18 4.2系统主图 ................................................... 18 4.3 各部分子程序 ................................................... 19 4.3.1 1602LCD显示子程序 ........................................ 19 4.3.2温湿度检测程序 ............................................ 21 4.3.3步进电机控制系统 .......................................... 22 第五章 系统的安装与测试 ............................................... 23 I 5.1 系统调试 ....................................................... 23 5.1.1 电路集成 .................................................. 23 5.1.2 软件调试 .................................................. 23 5.2 系统测试及结果 ................................................. 24 第六章 总结 ............................................................ 28 6.1论文小结 ........................................................ 28 6.2 展望 ........................................................... 28 致谢 ................................................................... 29 参考文献 ............................................................... 30 附 录1 系统原理图 ................................................... 31 附 录2 仿真图 ....................................................... 32 附 录3 源程序 ....................................................... 33 II 南京工业大学毕业设计(论文) 第一章 绪论 1.1 课题研究的背景 近年来我国经济水平的不断提高,越来越多的人对生活品质有了更高要求,他们不仅追求舒适,温馨的住宅环境,而且对住宅的智能型提出了更高的要求。目前各种智能系统已经深入到我们平时的生活中,给我们的生活带来了巨大的便利,智能窗户也越来越多的进入了现代智能化住宅之中。人们迫切需要一种下雨能关窗,温度较高时能自动开窗的智能窗户,这样当家里没人时,下雨也不会使家里的家具物品等受到雨水的破坏,人们可以安心的工作,巨大的方便了人民的生活,提高了人们的生活质量。随着电子通讯技术的不断前进,单片机技术的不断更新,单片机变的更小,集成度更高,价格更低,单片机的优势已经在很多领域得到了充分的体现,如数据采集,智能仪器方面。故利用单片机来开发一款智能窗户便显的有什么重要的意义。 1.2 本文主要研究内容 在本次设计中将运用单片机作为控制终端,利用湿度传感器作为采集信号的工具,利用步进电机来驱动电路,软硬件结合起来,来实现对自动关窗的整个过程的模拟。本文将对信号采集,分析,信号传输,单片机处理,如何驱动步进电机,步进电机的工作和数据的显示做出相关的研究与分析并得出一定的结论与成果。主要目标是让系统可以进行温湿度测量,自动开窗关窗,数据显示等一系列功能。本次设计的关键核心在于,硬件电路的设计与测试改进,单片机,温湿度采集的程序也是一大难点。 本次设计中将使用keil uvision2来编写单片机的相关程序,它能将C语言更好的与单片机融合,能使用接近于传统C语言的的语法来开发,与汇编相比,C语 1 第一章绪论 言在结构性、功能性、可读性、可维护性上有明显的优势。现行的硬件电路主要采用protues来设计,protues拥有庞大的元器件库和微处理器芯片,而且对数字电路的设计有十分优越的性能,所以用起来十分的方便,增强了设计的效率。另外,keil对汇编语言进行成功编译之后可产生能与proteus进行联机调试的“HEX”文件。所以在本次设计中分别采用proteus和keil这两款软件对软硬件进行设计和仿真。本课题将采用软硬件相结合组成实际控制系统,对电路进行高效的利用,并且将对相关的知识进行理论分析,在此基础上,完成整个系统设计。在硬件电路设计上,还要实现系统各个功能模块的正确设计及连接。在软件编程方面,采AT89C51单片机完成主控程序编写,实现自动开关窗系统功能。本课题主要分为以下几个具体实现步骤: 1. 整理要运用的知识: (1) 掌握单片机的基本工作原理及指令系统; (2) 掌握MCS-51单片机应用系统与开发方法与原理; (3) 熟练掌握并应用Protel软件来绘制原理图。 2. 需要完成的主要工作 (1)利用PROTEL完成系统的原理图设计 (2) 利用KIEL完成系统的程序设计 (3) 制作实物 (4) 撰写毕业论文 3. 将各个模块融合到一起,并对其兼容性进行观察,是否能够达到预期的效果,整体整合后,再对整个系统进行一个调试,如果出现问题要及时发现并处理,不断改进直到达到设计要求。 1.3 论文主要章节安排 本文共分为六章,第一章介绍系统的研究内容及背景意义,第二章介绍系统整体设计方案以及方案的论证,第三章介绍系统硬件模块的设计,第四章主要介绍 2 南京工业大学毕业设计(论文) 系统的软件模块的设计及各个软件模块流程图,第五章对整个系统进行仿真测试,并对结论做一阐述。第六章对论文进行总结。 3 南京工业大学毕业设计(论文) 第二章系统整体设计及方案选择 本文要完成的功能是设计一个基于单片机的自动关窗系统,因此整个系统应该有控制模块、温湿度模块、显示模块、电机驱动模块组成。单片机自动关窗系统的制作有多种方法,可供选择的元器件和运用的技术也有很多种,要做出合适的选择,要充分考虑系统的可操作性,系统整体的性价比和稳定性,人机界面的友好性。 2.1 方案选择 2.1.1控制模块方案 方案一:利用FPGA或CPLD进行总体控制、显示等功能,再配合运用VHDL语言去设计数字硬件控制模块来控制整个系统,它具有工作稳定可靠,运行速度快的特点。 方案二:主要是以单片机为核心构建控制器,通过读取时钟芯片信息。方案的造价低,性价比比较高并且简单可靠。 本设计采用STC89C52芯片作为硬件核心,该芯片采用Flash ROM,内部具有4KB ROM存储空间,相对于本设计而言程序空间完全够用,而且与51系列单片机完全兼容,而且运用于电路设计中时具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,避免芯片的多次拔插对芯片造成的损坏。 2.1.2显示方案模块选择 方案一:采用LED数码管。LED数码管具有能在小电流条件下驱动发光,发光响应的时间极短(<0(1μs)且能与CMOS、ITL电路很好的兼容,亮度非常高,高频特性能十分优越,体积小,重量轻,能有的效抗冲击,产品平均使用寿命在10万小时以上,某些产品可达100万小时,成本低等特点。因此它被广泛用作数字仪器仪 4 第二章 系统整体设计及方案选择 表、数控装置、计算机的数显器件。 方案二:采用HJ1602液晶显示屏。HJ1602A 是一种工业字符型液晶,能够同时显示16x02 即32个字符。(16列2行)。1602只能显示字母、数字和符号能显示16*2个字符,但寄存器不止32个,有一些显示效果,如字符一个个显示、字符从左到右或从右到左显示等等,显示效果简单方便。 总结:在编程使用方面,HJ1602较数码管复杂,HJ1602液晶屏显示更全面、字符更多。针对我们的设计,需要显示温度 湿度等信息,我们选择显示内容更丰富的HJ1602。 因此我们选择方案二。 2.1.3温湿度传感器方案选择 方案一:选用DS18B20温度传感器作为温度检测模块。DS18B20是一线式数字温度传感器。具有独特的单线式接口方式。测量范围在—55?~125?,—10?~85?, +0.5?。最高精度可达0.0625?。 误差范围在-\ HS1101是电容式湿度传感器。可测量相对湿度范围在0%~100%RH。误差为-\+2%RH。 方案二:选用DHT11作为设计的温湿度检测模块。DHT11是一款集成型的数字温湿度一体传感器。 DHT11内部集成模拟电路和数字电路,可以直接输出数字信号,确保产品具有极高的可靠性与卓越的长期稳定性。该传感器包括一个测温元件和一个电阻式测湿元件,可与单片机直接连接。该产品具有超快响应、抗干扰能力强、性价比极高等优点。测量范围在20%~90%RH,0?~50?。温度测量的精度是-\+2?,湿度测量的精度是-\+5%RH。符合本次毕业设计的要求。 经上述分析,方案一虽然精度更精确。却稍显复杂。方案二即便不能实现方案一的高精度测量。却也能满足设计要求。且简便易行。可靠稳定。具有超高的性价比。故选择方案二。 2.14 步进电机驱动方案 方案一:选用三洋STK4132来驱动电机,STK4132的功率为20W,失真达到0.4%,价格也比较高。 5 南京工业大学毕业设计(论文) 方案二:采用ULN2003来驱动步进电机,ULN2003是高压大电流达林顿晶体管系列,可以驱动大功率器件,是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平。步距值不受各种干扰因素的影响,能持续稳定工作,价格也比较便宜。 经上述分析,方案一误差较大并且性价比低,故选择方案二。 2.2系统总体设计模块 综上所述,系统由单片机小系统,温湿度模块、显示电路(LCD1602)、驱动电路组成。系统整体框图如2-1所示。 单 电机驱动 温湿度电路 片 显示电路 机 晶 振 电路 复位电路 图2-1 系统整体框图 由PROTEL设计的电路原理图如图2-1所示,整个系统采用温湿度传感器DHT11采集温湿度信号,由于采用DHT11湿度传感器,本次设计不考虑A/D转换,DHT11温湿度传感器将数字信号传给单片机,单片机对信号做出判断,如果温湿度超过设 6 第三章 系统整体设计及方案选择 定值,单片机将信号传给驱动电路,驱动电路转动,显示电路收到单片机信号,显示温湿度的值。 晶振电路跟复位电路是电路中的最小系统,在电路中晶振电路为单片机提供时钟,单片机工作的最小时间计量单位就是由这个晶振决定的,复位电路能让单片机从程序的最初开始运行。 7 南京工业大学毕业设计(论文) 第三章 系统硬件设计 3.1 概述 本系统主要由4个大的模块构成,分别是主控模块、电机驱动模块、LCD液晶显示模块、温湿度模块,其中主控模块是此次设计的核心模块,主要是指AT89C51芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其它模块能够成为一个整体,实现功能的需要。 3.2单片机最小系统 最小系统主要是由复位电路,震荡电路,单片机和电源构成。单片机由大规模集成电路结束发展进化而来,常见的单片机有8051系列的单片机、PIC系列、AVR系列、SPCE061A的凌阳单片机。他将中央处理器(CPU)、存储器(ROM/RAM)、输入输出接口等主要计算机部件集成在一片芯片上,故单片机也被称为单片机微型计算机(Single Chip Microcomputer).单片机配上适当的外围设备和软件,便可构成一个单片机应用系统。我们选择的STC89C52单片机,是一种低功耗,它具有8位CMOS高性能微控制器,具有系统可编程8K ISP Flash存储器。 STC89C52具有如下特点: 兼容51单片机指令系统 ;工作电压为5V左右;一个全双工UART口 ;2个外部中断源;具有掉电模式;低功耗空闲和省电模式;32个双向I/O口;灵活的ISP在线下载功能;可以上到33MHz时钟频率 ;3级加密位;8k可反复擦写的FLASH程序存储器;3个16位定时、计数器(可编程);256字节的内部RAM;软件设置空闲和省电功能;双数据寄存器指针;STC89C52主要引脚的主要功能: VCC:接+5V电源,GND:接地。 P0口:该口漏极开路,双向,作为输出口,每位可以驱动8个TTL门电路。引脚被用做高阻抗输入,需要对P0端口写“1”时。 8 第三章 系统硬件设计 当单片机访问外部器件时,P0口被当做复用口使用。在这种模式下,P0口需要外接上拉电阻(10K左右)。在flash编程时,P0口也用来接收程序;在程序校验时,该口可以输出指令。在做程序校验时,外部的上拉电阻必须要接上。 P1口:P1口内部具有上拉电阻,8位双向I/O口,P1口驱动能力不如P0口,该口能驱动4个TTL门电路。对P1端口写“1”时,端口被内部上拉电阻拉高,此时可以把该口作为输入口。此外,P1.0和P1.1分别作定时器/记数器2的外部记数输入(P1.0/T2)和定时器/记数器2的触发输入(P1.1/T2EX)。 P2口:P2口是一个八位双向I/O,4个TTL逻辑电平能被P2输出缓冲器驱动。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。对P2口写“1”时,端口被内部的上拉电阻拉高,这个时候P2口便可作为输入口来用。 RST:复位引脚。再该引脚持续两个机器周期以上的高电平可使单片机复位。看门狗溢出后,RST 脚将输出超过2个机器周期的高电平促使单片机复位。特殊寄存器AUXR(地址8EH)上的DISRTO位可以禁止该功能。DISRTO在默认情况下,高电平使能。 EA/VPP:访问外部ROM的控制信号。当该位为高电平时,先读内ROM再读外ROM 为低电平时,直接读外ROM,如要要执行内部程序的指令,EA应该接VCC。使单片能 够从外部程序存储器读取指令,EA必需接GND。 XTAL1:内部时钟发生电路及振荡器反相放大器的输入端。 XTAL2:振荡器反相放大器的输出端。 单片机小系统是整个数控系统的核心部分。主要包括STC89C52单片机、振荡电路、复位电路等。系统整体原理图如图3-1所示。 9 南京工业大学毕业设计(论文) VCC C5 S1SW-PBU1ELECTRO2A11391P10/TP00A22382P11/TP01RESA33373P12P02A44364P13P03A55355P14P04A66346P15P05A77337P16P06R5A88328P17P07RES21321W1INT1P201222W2INT0P21GND23P221524T1P231425T0P2426P25C6VCC3127EA/VPP26MAX828P27MAX719X1CAP18X2Y1CRYSTALRES910RXDRESETRXDC711TXDTXDGND1730RDALE/P1629WRPSENCAP 80C52 图3-1 单片机最小系统 复位电路:将单片机进行初始化操作,使单片机恢复到初始化的状态,其主要目的是使CPU及个专用寄存器处在一个可以确定的状态。在单片机的复位信号RST上保持2个机器周期以上的高电平,单片机就会复位。本次设计采用的复位方法是手动复位,具体做法是将按键闭合使单片机复位端保持接通高电平状态两个机器周期或以上。 振荡电路:振荡电路结合单片机内部的电路,产生单片机所必须的时钟频率,晶振提供的时钟频率越高,那单片机的运行速度也就越快。次电路是由内部反相放大器通过引脚XTAL1和引脚XTAL2与外接晶体以及电容C6和C7构成,它能产生出晶体振荡信号。这个晶振信号可以传送至内部的时钟电路,图中的晶振频率为11.0592MHz,为单片机提供必要的系统时钟,外接晶体时,电容C6和C7通常选30pF。 3.3温湿度采集模块 湿度采集模块在整个设计中起信号采集的作用,并且要把温湿度信号转换为电信号,然后将此信号传给单片机。 本次设计所用的传感器是DHT11温湿度传感器,它是一款含有已校准数字信号输出的传感器。该传感器含有一个NTC测温元件跟一个电阻式感湿元件。次产品响应速度很快,性价比高.体积小,功耗低也是这个传感器的一大优势。 每一个DHT11传感器都是在度校验室中进行校准。校准系数以程序的形式储存在传感器OTP内存中,传感器内在检测信号的处理过程中要调用这些校准系数, 信 10 第三章 系统硬件设计 号传输距离可以达到20米以上,由于它采用单线制串行接口,使系统更加快捷简单,且此产品为4针单排引脚装,连接起来十分的方便。 采用DHT11数字传感器的另一个好处就是不用再进行A/D转换,这次设计设定湿度大于80%时步进电机转动,表示窗户关闭,温度大于30摄氏度时步进电机转动,窗户开启。原理图如3-2所示。 图3-2 DHT11与单片机的连接 3.4 LCD显示模块 本次设计采用的是LCD1602字符型液晶显示器,它是一种专门用于显示字母、数字、符号等点阵式LCD显示器,是一种16*2行的字符型液晶显示器。一般1602字符型液晶显示器实物如图3-3所示。 11 南京工业大学毕业设计(论文) 图3-3LCD硬件图 1602LCD的引脚功能及基本参数:LCD1602的技术指标:模块最佳工作压是5.0V,显示容量为16×2个字符,芯片工作电压是4.5—5.5V,工作电流为2.0mA(5.0V)。引脚功能说明,1602LCD采用的16脚(带背光)或者14脚(无背光)接口,各引脚接口说明如下表3-4: 12 第三章 系统硬件设计 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示 11 D4 数据 偏压 4 RS 数据/命令 12 D5 数据 选择 5 R/W 读写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 D8 背光源正极 8 D1 数据 16 D9 背光源正极 表3-4 1602引脚接口说明表 1602液晶指令表如表3-5所示。 13 南京工业大学毕业设计(论文) 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 清显示 1 0 0 0 0 0 0 0 0 0 1 光标返回 2 0 0 0 0 0 0 0 0 1 * 置输入模式 3 0 0 0 0 0 0 0 1 I/D S 显示开/关控制 4 0 0 0 0 0 0 1 D C B 光标或字符移位 5 0 0 0 0 0 1 S/C R/L * * 置功能 6 0 0 0 0 1 DL N F * * 置字符发生存贮器地址 字符发生存贮器地址 7 0 0 0 1 置数据存贮器地址 显示数据存贮器地址 8 0 0 1 读忙标志或地址 计数器地址 9 0 1 BF 写数到CGRAM或DDRAM) 要写的数据内容 10 1 0 从CGRAM或DDRAM读数 读出的数据内容 11 1 1 图3-5 液晶指令表 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 1602与单片机系统连接图如图3-6所示。 14 第三章 系统硬件设计 1602 VSS1VCC2VEE389C51P1VCCL1L2L3L4L5L6L7L8RSRWERS41401602RWP1.0VCC15VCC239VCCVCCL1P1.1P0.026338L2ED0P1.2P0.137437L3D1P1.3P0.248536L4D2P1.4P0.35910S1635L5D3P1.5P0.4611SW-PB734L6D4C1P1.6P0.5712833L7D5Cap Pol2P1.7P0.6813932L8D6100pFRSTP0.79141031k1D7P3.0EAVCC151130Header 9k2P3.1ALE161229k3AP3.2PSENR11328k4EKP3.3P2.7Res21427RWP3.4P2.61K1526P3.5RSP3.5P2.51625P3.6P2.41724C2P3.7P2.31823IN2XTAL2P2.21922IN1XTAL1P2.1Cap2021ENAGNDP2.0100pFY1C3XTAL80C5112 Cap100pF 图3-6 LCD1602与单片机系统连接图 从图3-6可以看出,LCD1602跟单片机连接需要11根线,8条数据线,3条时钟线,分别连到单片机的P2 、P0口。1602液晶RS引脚接单片机的P2.5口,通过该口可以选择送给液晶的是数据还是指令。当P2.5高电平时,送给液晶的为数据,低电平时,送给液晶的是指令。1602液晶RW引脚接单片机的P2.6口,通过该口可以选择送给读液晶还是写液晶。当P2.5高电平时,为读液晶数据,低电平时,给1602送数据。E引脚为电机的使能引脚,通过该位可以控制液晶的使能。 3.5电机驱动模块 本次设计所采用步进电机模拟窗户转动,通过ULN2003来驱动步进电机工作,uln2003有16个引脚其中有七个输入七个输出,8号引脚接地,9号引脚接12V或5V,步进电机公共端接5V,其余四根线接驱动芯片的四个输出端,然后单片机或外围电路接上ULN 2003的四个输入引脚,这样挨个给脉冲就能转一定角度。 15 南京工业大学毕业设计(论文) 图3-7 ULN内部结构和功能图 ULN2003管脚排列如上图3-7所示:ULN2003的内部结构和功能,ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电 一般用于智能仪表、单片机、PLC、等控制电路中,源。ULN2003是大电流驱动阵列, 继电器等负载可以直接被它所驱动。当输入5VTTL电平时,输出可以达到500mA/50V。该电路具有如下的特点: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器。 图3-8 步进电机工作原理 16 第三章 系统硬件设计 此次设计所用步进电机有四相绕组A、B、C、D,当一绕组通电时在电动机内部形成N,S极,产生磁场,当通电的相发生变化时,磁场发生旋转,在磁场的作用下,转子将转动,若步进电机按双四拍的方式来工作,则在A、B、C、D四相绕组上输入脉冲的顺序为AB?BC?CD?DA?AB,步进电机沿顺时针方向转动,即正转;若在A、B、C、D四相绕组上依次输入脉冲AB?DA?CD?BC?AB;步进电机将沿逆时针方向旋转,即反转。因此只要控制在四相绕组上输入脉冲的顺序,就可以控制电机的正转/反转。电路原理图如3-8所示。 窗户控制系统主要包括开关窗户的控制。夏天当温度传感器检测到室外温度高于30?时,P1.2=1、P1.1低电平,电机正转窗户关闭到限位点时,电机停止。温度传感器检测到室外温度低于30?时,P1.2=0、P1.1高电平,电机反转窗户开启到限位点时,电机停止.下图3-9是步进电机与系统连接图。 3-9 步进电机与系统连接图 17 南京工业大学毕业设计(论文) 第四章 系统软件设计 4.1 KEIL软件介绍 本次设计所采用的软件:KEIL u?sioIl2软件是KEIL公司的产品,KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C5l编译器的功能不断增强,使用户可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到u?sion2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVisioll2 DE可为它们提供单一而灵活的开发环境。 4.2系统主流程图 本系统的MCU使用的是功耗比较低的单片机STC89C52。主程序中仅完成了系统的初始化和开始的显示部分,然后就进入待机模式。其他功能模块都在中断服务子程序中完成。当产生中断时,微控单元被唤醒并执行相应的中服务子程序,从中断子程序返回后,系统又进入到待机模式。整个程序都是使用C 语言来编写,并且用模块化的设计方法,把各个模块相关联的程序放到一起,有助于分块调试和管理,缩短了调试的时间,增加了程序的可移植性和可剪裁性。 系统主要流程如图4-1所示。 18 第四章 系统软件设计 开 始 系统初始化 测量温度 测量湿度 否 是否超 开窗 限 是 关窗 图 4-1 流程图 系统上电后,系统将温湿度传感器做初始化,包括1602显示等,然后系统开始测量温度跟湿度,如果发现超过限制,则启动自动关窗,反之,则关窗。 4.3 各部分子程序 4.3.1 1602LCD显示子程序 液晶显示模块是一个慢显示器件,在执行每条指令之前要确认模块的忙标志为低电平,表示不忙,则此指令失效,要显示字符时要先输入显示字符地址,告诉模块在哪里现实了字符。1602液晶显示模块可与单片机直接接口的。软件流程图如图 19 南京工业大学毕业设计(论文) 4-2所示: 开始 LCD初始化 延时 设第一行显示位置 显示第一行内容 设第二行显示位置 显示第二行内容 图4-2 LCD1602软件流程图 20 第四章 系统软件设计 4.3.2温湿度检测程序 DHT11子程序是结合它的用户使用资料编写,主要完成的是初始化DHT11,从DHT11中读出一个字节的数据,向DHT11中写入一个字节的数据,配置DHT11包括警报温度的上限和下限、温度转换的精度,读出Scrachpad存储器中的九个字节的数据,读出Rom中的64位Code值,对读出的Scrachpad数据进行CRC校验,然后根据读出的数据得到测量出的十进制温度值。DHT11温湿度检测的流程图如下图4-3。 开始 从机80us低电平 N P2.0输出低电平 是否结束 Y 延时18ms 从机80us高电平 N 是否结束 Y P2.0输出高电平 单片机进行数据接收 将数据按十进制数位 延时40us 存入数组 读P2.0引脚是 N 结束并保持 否为2.0 高电平 Y 图4-3 温湿度检测流程图 21 南京工业大学毕业设计(论文) 4.3.3步进电机控制系统 窗户控制系统主要是对窗户的控制,本次设计中就是对步进电机的控制(步进电机转动模拟窗户开关)。当温度高于三十摄氏度时,步进电机转动代表窗户开启,当温度低于三十摄氏度时,步进电机重新转动,代表窗户关闭。当湿度传感器测试到空气湿度大于百分之八十时,电机转动代表窗户开启,之后当湿度低于百分之80时,电机重新转动,代表窗户关闭。步进电机控制流程图如图4-4 给AB相通电 调延时 给BC相通电 调延时 图4-4 步进电机控制流程图 详细程序见附录。在设计完成后,必须进行系统的硬件及软件调试,修改设计中的错误。调试应针对所设计的系统的自身特点。 22 南京工业大学毕业设计(论文) 第五章 系统的安装与测试 5.1 系统调试 5.1.1 电路集成 硬件调试主要是针对电路中各元器件的设计缺陷、连接错误和器件故障进行排除。本设计中主要硬件调试内容如下: (1) 检查各元件的实际封装和设计仿真图中的封装是否一致,如果一致则连接线路,如过不一致就需要对电路进行修改或者重新封装电路。 (2) 检查各电源的大小和各元器件的规格说明是否相符,如过电源的大小高于某个元器件的额定电压,就需要安装一个稳压装置。而且还要注意电源正极和负极的位置,防止电源短路或错接极性对整个电路造成损毁。 (3) 连接电路时要对照图纸以确认电路连接是否正确,如果出现错误要及时对出现的错误进行及时修正。在电路连接的时候,要对元器件型号进行核对、观测设定的元器件规格和实际安装中的元器件规格是否吻合。 (4) 检查各元件的电气功能是否正常。在焊板通电之后用万用表的电压档来测量各元器件的引脚电压数据是否符合要求。之后断开电源,接上单片机、传感器和其它各单元器件,再次通电,查看各元件运行状况。对各芯片输以电平,查看其输出电平确认逻辑关系正确性。 (5) 设计中单片机使用上电复位电路。有时电容值过小会造成复位时间太短,出现无法正常复位的现象,在实际接线过程中检查电容大小是否足够,出现上述情况则改变电容大小。 5.1.2 软件调试 当硬件的工作完成后,软件的部分的调试也是不可忽视的一部分,它是实现电路功能的关键部分,经过调试我觉得如下部分需要特别注意。 1.程序写好之后不要立即烧进单片机里面,要先C语言对程序进行测查,由于 23 第五章 系统的安装与测试 采用C语言编写,要特别注意检查是否有语法错误。 2.当程序检查后确认无误了,再烧进单片机里进行调试,采用的是自下到上的调试方法,就是要单独调整好一个模块后,在调整另一个模块,然后再完成系统的连接。 3. 软件调试并非用实际调试,而是在仿真软件上进行模拟调试。 4. 软件开发环境: KEIL UV4编译软件。 5.2 系统测试及结果 测试步骤 1.通电。 2.观察液晶显示器LCD1602的显示。 3.改变温湿度,观察步进电机转动。 4.多次测试。 测试数据整理 1.当外界温度高于30摄氏度时,步进电机开始转动,窗户开启。 2.当外界温度低于30摄氏度时,步进电机开始转动,窗户关闭。 3.当外界湿度高于百分之80时,步进电机开始转动,窗户关闭。 4.当外界湿度低于百分之80时,步进电机开始转动,窗户开启。 具体测试数据如下表。 温度 湿度 84% 81% 78% 75% 22? 关窗 关窗 开窗 保持 27? 关窗 关窗 开窗 保持 32? 关窗 关窗 开窗 开窗 37? 关窗 关窗 开窗 开窗 表格5-1 测试数据 系统实物图如图5-2所示 24 南京工业大学毕业设计(论文) 图 5-2系统实物图 25 第五章 系统的安装与测试 系统上电图如图5-3所示 5-3系统上电图 26 南京工业大学毕业设计(论文) 测试结果:系统运行正常。 27 南京工业大学毕业设计(论文) 第六章 总结 6.1论文小结 本次毕业设计是基于单片机的智能窗系统的设计,它是比较常见的和最典型的单片机控制系统。本设计主要针对51型单片机在实时显示控制方面的应用,设计了一个可以自动关窗的系统。系统整体运行良好 通过这次单片机的自动窗系统的设计,使我对常用芯片、硬件接口电路和软件规划方面的知识有了更深入的了解。在硬件电路的设计过程中,我首先要考虑到使用什么器件才能实现该系统的功能。在完成这个过程之后,还要考虑到所使用的芯片是否合适、流行、可扩展等问题。在软件编程过程中,我接触到了单片机开发系统,学到了许多软件编程的技巧,使我对大型系统的程序编制流程有了实际的体验。尽管在此系统的设计中还有很多地方不够完善,但整个设计给了我一个使用和扩展所学知识的机会,可以说受益匪浅。 6.2 展望 本课题的研究对智能窗户系统本身并不是很大,且整个系统的电路相对简单,可操作性强,系统的开发成分也很低,性价比相对较高。整个系统的开发环境也十分友好,易于初学者操作与学习,整体的结构也十分的稳定,所以基于单片机的智能窗户开发还是有很好的市场前景。 28 南京工业大学毕业设计(论文) 致谢 在论文完成之际,首先我要向关心帮助和指导我的指导老师武晓光致以崇高的敬意~ 武老师在整个设计过程中给予我很大的帮助,重一开始的选题,到后来的论文修改,武老师悉心教导,在这几个月中武老师多次询问设计的进程,每次都能帮我解决很多实际问题,得到进步与提高,进一步帮助我托张了研究思路,悉心鼓舞,不断的激励,给了我很大的启发。武老师还在关于学术价值观和人生价值观的思考方面给了我很大的启发。老师这些优良的品质,肯定将会在我在以后的学习工作中受益匪浅。 与老师的交流让我开阔了思路,增长了知识,在此表示深深的谢意。还要感谢我的同,感谢他们在我大学四年的帮助和关心。 感谢我的父母,多年的培养,我们的成长却伴随着你们的老去,希望所以的父母都能健健康康,开开心心。最大的致意献给我们的老师们,他们给予我无限的鼓励和支持,使我们能够顺利充实的渡过四年的求学生涯。 最后,衷心感谢不辞辛苦来参加答辩的各位专家、教授,感谢你们为我们大学四年的成长与进步付出的辛苦劳动,使我们以后的人生道路能走的更加扎实。 29 南京工业大学毕业设计(论文) 参考文献 [1] 陈明荧.8051单片机课程设计实训教材[M]. 北京:清华大学出版社,2003( [2] 徐新艳.单片机原理、应用与实践[M]. 北京:高等教育出版社,2005( [3] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M]. 北京:清华大学出版社,2002. [4] 王千.实用电子电路大全[M]. 电子工业出版社,2001. [5] 冯博琴.微型计算机原理与接口技术[M]. 北京:清华大学出版社,2004. [6] 张毅刚.MCS-51单片机应用设计[M]. 哈尔滨工业大学出版社,2004. [7] 张淑清,姜万录等.单片微型计算机接口技术及应用[M]. 国防工业出版社,2003. [8] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M]. 北京:清华大学出版社,2001. [9] 冯博琴.微型计算机原理与接口技术[M]. 清华大学出版社,2004. [10] 张毅刚.MCS-51单片机应用设计[M]. 哈尔滨工业大学出版社,2004. [11] 赵亮,侯国锐.单片机C语言编程与实例[M]. 北京:人民邮电出版社,2003. 30 附 录1 系统原理图 31 南京工业大学毕业设计(论文) 附 录2 仿真图 32 附 录3 源程序 /*按12M晶振调的*/ #include #include #define uint unsigned int #define uchar unsigned char /******************************************************************** ****************************************************/ sbit dp = P2^3; sbit KEY1 = P3^0; sbit KEY2 = P3^1; sbit KEY3 = P3^2; sbit KEY4 = P3^3; sbit rs=P2^2; sbit rw=P2^1; sbit en=P2^0; sbit z3=P2^4; //蓝 sbit z2=P2^5;//粉 sbit z1=P2^6;//黄 sbit z0=P2^7;//橙 /*DHT11的数据线接入口*/ //sbit KEY1 = P3^2; //sbit KEY2 = P3^3; //sbit KEY3 = P3^4; //sbit KEY4 = P3^5; //sbit rs=P2^5; //sbit rw=P2^6; //sbit en=P2^7; uchar warm=30,wet=80,open=1; bit FB_flag = 0; //位定义 只有1或0两种状态 /******************************************************************** ****************************************************/ 33 南京工业大学毕业设计(论文) uchar Data[5]={0,0,0,0,0}; /*从DHT11中读出的数据,8bit湿度整数数据, 8bit湿度小数据,8bit温度整数数据,8bit温度小数数据,8bitCRC数校验数据 */ uchar flag = 0; /*数据读取正确标志位,0错误,1正确*/ uchar Character[6] = {'0'}; /*字符数据*/ uchar Character1[6] = {'0'}; uchar Character2[3] = {'0'}; uchar Character3[3] = {'0'}; //unsigned char code F_Rotation[8]={0x40,0x60,0x20,0x30,0x10,0x18,0x08,0x48}; //顺时针转 表格 //unsigned char code B_Rotation[8]={0x48,0x08,0x18,0x10,0x30,0x20,0x60,0x40}; //逆时针转 表格 /******************************************************************** ****************************************************/ /******************************************************************** ****************************************************/ void delay_10us() /*延时10 us*/ { _nop_(); _nop_(); _nop_(); //_nop_(); //_nop_(); } /******************************************************************** ****************************************************/ /******************************************************************** ****************************************************/ void delay(uint i) /*延时i/10 ms*/ { uchar y; 34 for(;i >0;i--) for(y=0;y<28;y++); } /******************************************************************** * 名称 : Delay_1ms() * 功能 : 延时子程序,延时时间为 1ms * x * 输入 : x (延时一毫秒的个数) * 输出 : 无 *********************************************************************** / void Delay_1ms(uint i) { uchar x,j; for(j=0;j协议
模拟和数据读取*/ { uchar o,sum; dp = 0; /*拉低数据位须大于18ms,保证DHT11能检测到起始信号*/ delay(180); /*延时略大于18ms*/ dp = 1; /*拉高数据位20-40us,延时等待DHT11响应*/ 38 delay_10us(); delay_10us(); delay_10us(); delay_10us(); if(dp==0) /*DHT11发送响应,拉低数据线电平80us*/ { while (!dp); /*等待DHT11把数据线拉高80us,准备发送数据*/ while (dp); /*检测DHT11把数据线拉低,开始发送数据*/ Read(Data); /*调用读取数据子程序*/ for(o=0;o<4;o++) /*将读到的湿度和温度,一共32bit数据相加,只取和的 最后8bit*/ sum+=Data[o]; if(sum!=Data[4]) /*CRC检测*/ return 0; else return 1; /*无错,则返回1; 有错,返回0*/ } return 0; /*消除警告*/ } void KEY(void) /*按键检测 */ { if(KEY1 == 0) //按P3.2 温度加1 { Delay_1ms(15); if(KEY1 == 0) { warm++; if(warm>50) warm=50; } Delay_1ms(200); } if(KEY2 == 0) 39 南京工业大学毕业设计(论文) { Delay_1ms(15); if(KEY2 == 0) { warm--; if(warm<0) warm=0; } Delay_1ms(200); } if(KEY3 == 0) { Delay_1ms(15); if(KEY3 == 0) { wet++; if(wet>90) wet=90; } Delay_1ms(200); } if(KEY4 == 0) { Delay_1ms(15); if(KEY4 == 0) { wet--; //限制范围,,, if(wet<20) wet=20; } Delay_1ms(200); 40 } } void Data_manage(uchar * Character,uchar * Data) /*采集数据转化成字符量*/ { Character[0] = Data[2]/10+0x30; Character[1] = Data[2]%10+0x30; Character[2] = '.'; Character[3] = Data[3]/10+0x30; Character[4] = Data[3]%10+0x30; Character[5] = '\0'; } void Data_manage1(uchar * Character1,uchar * Data) { Character1[0] = Data[0]/10+0x30; //字符 Character1[1] = Data[0]%10+0x30; Character1[2] = '.'; Character1[3] = Data[1]/10+0x30; Character1[4]= Data[1]%10+0x30; Character1[5]= '\0'; } void Data_manage2(uchar * Character2) { Character2[0] = warm/10+0x30; //字符 Character2[1] = warm%10+0x30; } void Data_manage3(uchar * Character3) { Character3[0] = wet/10+0x30; //字符 Character3[1] = wet%10+0x30; } 41 南京工业大学毕业设计(论文) /*电机转动*/ void run() { uchar i,z; uint k; if(open==0&&((Data[2]>=warm)||(Data[0]>=wet))) { for(z=0;z<1;z++) { for(k=0;k<512;k++) //顺时针 { z0=1;z1=0;z2=0;z3=1; delay(20); z0=0;z1=0;z2=0;z3=1; delay(20); z0=0;z1=0;z2=1;z3=1; delay(20); z0=0;z1=0;z2=1;z3=0; delay(20); z0=0;z1=1;z2=1;z3=0; delay(20); z0=0;z1=1;z2=0;z3=0; delay(20); z0=1;z1=1;z2=0;z3=0; delay(20); z0=1;z1=0;z2=0;z3=0; delay(20); // for(i=0;i<8;i++) //因为有8路的控制时序 即P1口8个引脚控制时序 // { // P1 = F_Rotation[i]; //顺时针转动 窗打开 // delay(13); //延时转动 // } } } open=1; } if (open==1&&(Data[2]
/
本文档为【智能窗户开关电路毕业设计&#40;论文&#41;】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索