版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
陕西理工学院毕业设计页共49页1引言1.1课题的背景改革开放后,经济的发展远远超过了我们的想象,人们对物质生活的态度也改变了许多,不仅仅停留在吃饱穿暖的地步,而是开始追求有舒适、温馨的住所和汽车,并且对其的安全性、智能性有了更进一步的要求。自动家具控制系统已经在为我们的生活提供了便利,在各个方面,一种可以帮我们决策开关的智能窗户急需引入我们的生活当中,它能够根据不同天气进行不同的开关模式,例如高温天气会适当开启一些进行透气,大雨天气则会关闭起来防止屋内受潮。因此,智能窗在各个领域中已被日益的重视起来。目前市场上也存在一些自动开关的窗户,但由于其可靠性差、造价高难以推广。随着电子技术额发展,单片机以其颇高的性价比已在工业领域、智能仪表领域得到了广泛的应用。1.2课题的意义随着科技的进步和人们对生活质量的追求也逐渐提高,人们更加重视生活环境是否较好室内的空气是否清新,时常的开窗通风换气也成为人们共同的生活习惯。可是在当今较快的生活节奏中,开窗关窗常常是人们出门后的后顾之忧,今天刚洗过的衣服晾在窗外,一旦刮风下雨,便无法不去担心,进而造成工作上的分神。现在市场上的自动关窗装置固然品种功能多样,但主要应用在一些较为高档建筑和各种公共场所,并且主要的都是和窗框一起定制,费用比较高与此同时不管是老的还是新建的住房事先安装的基本都是手动推拉窗,基本没有人愿意把已安装好的窗户拆掉,更换成多功能自动窗[1]。综上所述,本设计希望开发一种在普通窗户的基础上改进的自动开关窗装置,该装置装有湿度传感器,每当下雨或出现高温天气,窗户便自动关闭或关闭,解除用户的后顾之忧,让生活变得更加美好。1.3自动窗户发展现状智能窗户的关键,是使用了一种合成的氧化铟锡纳米晶体新材料。这种材料既能作为涂层涂于窗户玻璃表面,也可作为液体溶剂注入窗户双层玻璃的夹层之中。这种纳米晶体对光和热的传播,可以通过电压来调节:在严寒天气,可见光和近红外光都可以通过,从而使热量进入房间;而在酷暑季节,施加微弱电流可使窗户依然能够传播可见光,却会阻挡近红外光,从而避免太阳的热量进入房间。此外,锡还另外带有电荷,当施加电压时,纳米晶体里电子的密度会发生改变,从而使得所吸收的红外光的量也随之改变,于是房间始终保持适宜的温度。与此有异曲同工之妙的,是英国工程师弗雷德里克·麦基发明的一种全部由双层玻璃构成的智能窗户。玻璃夹层中充满水而不是空气。溶于水中的一种化学物质,能将阳光中的红外线能量和热量吸收掉,但不影响可见光的通过。玻璃夹层中的水是通过一台热交换器循环的。热交换器可以使水中的热量存储起来,也可以使之冷却,以便根据室外气温的变化,合理地加以利用。据介绍,这样动态性地改变红外光和热量的吸收,是一项重大技术创新[2]。上述新型智能窗户的问世,不仅能够使居住者感到十分舒适,而且可以减少普通窗户带来的能耗和花费——仅就美国建筑业而言,这笔花费每年大约为400亿美元。韩国研究人员研制出一种新型智能窗户,窗玻璃能根据室外温度不同变黑或变透明,起到隔绝热量或增加室内光线的作用。研究团队在美国化学学会主办的杂志中说,这种智能窗户有助节省能源。该智能窗户由韩国电子技术研究所的林浩苏和崇实大学的曹郑浩、金株勇共同研制。研究人员说,这种智能窗户可以在“夏季模式”与“冬季模式”间自由转换。夏季室外温度高,智能窗户会变暗,以“反射大部份太阳光,防止建筑内部受阳光照射而过热”;冬季室外温度低,智能窗户的玻璃会变得透明,以接收太阳带来的免费热量,“通过吸收太阳能,让房间保持温暖”。智能窗户由完全不透明状态转变成几乎完全透明状态用时很短,只需要几秒钟时间。智能窗户应用范围广,写字楼和住宅楼均能使用[3]。2系统总体方案设计2.1设计要求基本要求:(1)需要有相应的手动控制;(2)检测的实时数据和时钟能显示在LCD屏上;(3)对窗户开关程度有一定的把握。创新要求:(1)温湿度信号控制步进电机;(2)内置预置可调。2.2系统基本方案的选择2.2.1主控制模块方案方案:STC89C52是STC公司生产的一种功耗低、性能高CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有8位CPU和在线系统可编程Flash,使得STC89C52为众不多的嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下的标准功能:8k字节Flash,512字节RAM,看门狗定时器,32位I/O口线,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,2个外部中断,全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。下载程序方面直接串口就可以下载[4]。2.2.2显示模块方案方案(一):LED二极管显示屏管易于安装耗电少、使用寿命长、成本低、亮度高等特点,但考虑到显示电路不仅仅用于显示单一数据,因此予以排除。方案(二):LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,能够同时显示16x2即32个字符。相比于方案一方案二更加符合我们的要求。2.2.3传感器模块方案方案(一):DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度符合传感器,具有优质的长期稳定性、超低能耗、使用便捷、价格实惠等特点,是我们的不二选择。方案(二):DHT21是一种更加灵敏的温湿度传感器,但相对于DHT11体型偏大,价格更是DHT11的5倍多,并不适合于本设计。2.2.4按键模块方案方案:使用独立式键盘。独立式键盘是直接用I/O口线构成的单个按键电路。独立式按键电路配置灵活,软件结构简单。2.2.5驱动模块方案方案(一):步进电机可实现精确定位,适用于本设计对窗户开关程度的掌控,但控制相对直流电机复杂。方案(二):直流电机控制相对简单,但定位精确度不高,可用于对速度要求高,而对位移定位不高的系统中。综上各方案所述:采用STC89C52作为主控制系统,DHT11作为传感器模块,LCD1602作为显示模块,独立按键作为控制模块,步进电机作为驱动模块,系统框图如图2.1所示。中中央控制器驱动器步进电机温湿度传感器显示电路检测电路电源电路图2.1系统结构框图具有以下特点:可靠性高,在系统设计的每一个环节,都应该将高可靠性作为首要的设计准则,系统一旦失去了可靠性也就失去了产品的生命力。因此,针对系统在具体使用过程中可能存在的情况根据理论原理对系统的设计方案深刻论证严格把关。性价比高,此自动关窗系统具有体积小、速度快、功耗低等特点,并且集成了丰富的硬件资源,具有很高性价比。在设计硬件时,尽量地做到简化设计,减少元器件的使用数量,提高复用度。操作简便,的功能将受到更多用户的欢迎,显著增加产品在市场上的竞争力。实现功能完备的同时,系统的操作使用上,尽量做到简单、方便,高度的人性化。比如说设防时只需要拨动一个按键就可以,系统状态全面直观,一目了然。模块化设计,根据本系统是用于自动关窗的这一应用目的,系统尽量使用模块化设计,实现模块化积木式组合与拆分的功能,便于以后的升级换代,减少二次投资,可以满足家庭使用的重要性和复杂度以及使用对象对功能和价格的选择。3硬件系统3.1单片机控制模块89C52是一个低电压,高性能CMOS8位单芯片微型计算机,包含了8k字节的可反复擦写的闪速只读程序存储器和256字节的随机存取数据存储器(RAM),它采用ATMEL公司的高密度、非挥发性存储技术生产,与工业80C51单芯片微型计算机的指令与引脚完全兼容,片内置通用8位中央处理器和闪速存储单元,89C52单片机在电子行业中有着广泛的应用[4]。89C52主要功能特性:1)兼容MCS51指令系统2)8kB可反复擦写闪速只读存储器;3)32个双向的I/O口;4)256x8比特内部随机存储器;5)有3个16位的可编程定时/计数器中断;6)时钟频率0-24兆赫兹;7)2个串行中断,可编程UART串行通道;8)2个外部的中断源,共8个中断源;9)2个读写中断口线,3级加密位;10)有低功耗空闲状态和掉电模式,能将软件设置成睡眠状态并能将其唤醒;11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以便能够适应不同产品的需求。89C52管脚功能及管脚电压管脚图如图3.2所示:图3.1STC89C52管脚功能及管脚电压管脚图89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的89C51相同,其主要用于会聚调整功能的控制。其特点包括主IC的内部寄存器,RAM和外部接口的初始化数据融合,收敛调节控制,收敛测试图控制,红外遥控信号的接收和解码和红外主板和CPU通信的功能组件。其主要管脚有:XTAL1(19脚)和XTAL2(18脚)为专门为产生时钟振荡信号设立端口,外接12兆赫兹晶振。RST/Vpd(9脚)为引导内部复位输入端口,在外部与电阻电容组成复位电路。VCC(40脚)和VSS(20脚)为电源端口,分别接+5V电源和接地。P0~P3为可编程的通用I/O脚,其功能用途由软件定义,在本次设计中,P0端口(32~39脚)和P2端口(21~28脚)被定义为1602显示器的功能实现控制端口,分别与1602显示器相应的功能管脚相连,10~13脚定义为按键输入端,12脚、27脚及28脚定义为握手信号的功能端口,连接主板单片机的相应功能端,用于检测当前制式,会聚调整状态进入的控制功能[5]。P0口是一组8位漏极开路型双向I/O口,也即地址/数据的总线复用口。当其作为输出口时,每位驱动8个双极型逻辑集成电路,对其写“1”时,可当做高阻抗输入端来使用。在访问外部的数据或者程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问的这段时间内启动内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校正检验时,输出指令字节,校正检验时,要求外接电阻并上拉。P1是一个带有内部上拉电阻的8位双向通行的I/O口,P1输出的缓冲级可以驱动(即吸收或输出电流)4个双极型逻辑集成电路。对其写“1”,通过内部自带的上拉电阻把端口拉到高电平,这时可作输入口。当作输入口使用时,因为内部有上拉电阻,当某个引脚被外部信号拉低时会输出一个电流(IIL)。与89C51不同的是,P1.0和P1.1还可以分别当做定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)见表3.1,在闪存编程和程序校正检验期间,P1接收低8位的地址。表3.1P1第二功能表端口引脚第二功能P1.0P1.1T2(定时/计数器2外部计数脉冲输入),时钟输出T2EX(定时/计数2捕获/重装载触发和方向控制)P2是内部含有上拉电阻的8位双向通行的I/O口,P2输出的缓冲级可以驱动(即吸收或输出电流)4个双极型逻辑集成电路。对其写“1”,通过自带的上拉电阻将端口拉到高电平,这时可将其作输入口,当作为输入口来使用时,因为内部有上拉电阻,当外部信号引脚被拉低时会输出一个电流(IIL)。在访问外部的程序memory或16位地址的外部数据memory时,P2口送出高8位的地址数据。在访问8位地址的外部的数据存储器(如实现MOVX@RI指令)时,P2口输出P2锁存器中的内容。在Flash编程或校验时,P2则接收高位地址和一些控制信号。P3是拥有内部上拉电阻的8位双向I/O口。P3输出的缓冲级可以驱动4个双极型逻辑集成电路。对其写入“1”时,通过内部上拉电阻拉将电平变成高电平并可作为输入端口。这时,被外部器件拉低电平的P3口将用内部上拉电阻来输出电流(IIL)。P3口除了作为普通的I/O口线外,更重要的是它的第二作用见表3.2,P3口还可以接收一些用于闪速存储器编程和程序校正检验的控制信号。表3.2P3口第二功能表端口引脚第二功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD(串行输入)TXD(串行输出)INT0(外部中断0)INT1(外部中断1)T0(定时/计数器0外部输入)T1(定时/计数器1外部输入)WR(外部的数据memory写选通)RD(外部的数据memory读选通)RST复位输入端口。在振荡器进行工作时,只要RST引脚出现两个及以上机器周期的高电平就将单片机复位。ALE/PROG当访问外部的程序memory或者数据memory时,ALE输出的脉冲信号就用于锁存地址的低8位字节。通常情况下,ALE以时钟的振荡频率的1/6固定的输出脉冲信号,因此它可用于对外输出时钟信号或用于定时。特别注意的是:每当在访问外部数据memory时将会跳过一个ALE脉冲。对闪存存储器编程期间,这个引脚还被当做输入编程的脉冲(PROG)。如果有必要,可以通过对SFR区中的8EH单元的D0位进行置位,可禁止ALE进行操作。这个位置位以后,只有一条MOVX指令和MOVC指令才能够将ALE启动。另外,这个引脚会被稍微拉高,在单片机执行外部的程序时,应该将ALE禁止位设置为无效。PSEN程序储存使能(PSEN)输出是外部程序存储器的读选通脉冲信号,当STC89C52由外部程序memory取指令(或数据)时,在一个机器周期中PSEN有两次是有效的,即输出两个脉冲信号。与此同时,当访问外部数据memory,就会跳过两次PSEN脉冲信号。EA/VPP外部访问允许。如果想要使CPU只是访问外部的程序存储器(地址为0000H—FFFFH),那么EA端必须为低电平(接地)。如EA端接Vcc端,CPU就会执行内部程序memory中的指令。闪存存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1振荡器反相放大器的及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。在STC89C52片内memory中,80H-FFH的共128个单元是SFR并不是所有的地址都被定义,从80H—FFH只有一小部分是被定义的,还有一部分并没有被定义。对于那些没有被定义的单元进行读写操作是无效的,不仅读出的数据是不确定的,而且写入的数据也将被丢失。这些地址单元在将来的使用中可能会有新的功能,在这种情况下,复位后这些地址单元中数据总是为“0”[6]。STC89C52有256个Bit的内部RAM,80H-FFH高128个Bit与SFR地址是相同的,但物理上它们是独立的。当一条指令访问的地址为7FH以上的内部单元时,指令中所用到的寻址方式是有区别的,也即寻址方式决定是访问高128字节RAM还是访问SFR。STC89C52的定时器0和定时器1的工作方式与STC89C51相同。本设计系统中单片机最小系统如图3.2所示。图3.2单片机最小系统3.2驱动电路模块借助单片机STC89C52实现对四相步进电机的控制时,需要通过单片机的I/O端口输出具有一定时序的方波信号作为步进电机的控制信号,但如果只是靠这个TTL电平还是不能直接驱动电机。如果想用74LS373对电机进行驱动,那么必须要有许多寄存器的配合才能够驱动电机,因此考虑使用ULN2003芯片来驱动步进电机。ULN2003是一种高电压、大电流的达林顿陈晶体管。每一对达林顿都串联一个2.7K的基极电阻,在5V工作电压下与TTL和CMOS电路直接相连,可以直接处理需要标准逻辑缓冲器来处理的数据。ULN2003的灌电路可达500mA,并且在关态是能够承受50V的电压,可在高负载电流下并行输出运行。电机驱动的关键要点就是准确控制电机旋转的角度。在进行程序设计时需要根据系统中各传感器检测的信息判断电机方向,以更好的起动相应的所需要转动方向子程序。正转和反转控制程序根据控制脉冲序列的要求,使用相应的系统模型,并确定是否大幅度转向,使用改变脉冲宽度的方式来调节电机的转速。在应用程序的设计中将电机的控制方法形成控制模型,并将该模型用数据表形式保存在程序存储器中,这样程序在使用过程就能直接使用。一般都是用逻辑电路来对步进电机进行脉冲控制,单片机控制电机时,电机的运行方式、方向及转速通常可以通过编写相应的程序由I/O口输出脉冲信号来决定。为了能够提高电机转动角度的准确性,采用减速比为1:64的减速齿轮构成的传动机构,也就是当角度改变90°时,外部所能看到到的设备才转动1°。系统中步进电机及其驱动电路如图3.3所示,ULN2003的数据传输口与单片机P1口的前四位连接。图3.3电机驱动连接图3.3传感器模块DHT11数字温湿度传感器是一款复合传感器。它利用特殊的数字模块采集技术和温湿度传感技术,以保证其具有较高的可靠性与优异的长久稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件。因此该传感器具有优良的品质、响应速度快、较强的抗干扰能力、成本低性能好等优点。采用单总线串行接口,使系统变得简便而快捷。超小的体积、极低的功耗,具有20米以上的传输能力,使其成为普通的应用乃至最为苛刻的应用中最佳的选择[7]。产品采用4针单排的引脚封装形式,在使用中方便连接,其管脚如表3.3所示。表3.3DHT11管脚表管脚名称功能1234VDDDATANCGND供电3-5.5VDC 串行数据,单总线空脚,请悬空接地,电源负极DHT11采用的电源为3-5.5V。传感器在得电后,要等待1s以达到稳定的状态。电源(VDD,GND)之间可利用一个100nF的电容,用以去耦滤波。DATA用于中央处理器与DHT11之间的信息传送和通讯,一次通讯周期4ms左右,数据由小数部分和整数部分两部分组成,具体传送格式如下说明。操作流程如下:一次完整的数据总长度为40字节,高位数据先出。数据格式:8字节湿度整数部分数据+8字节湿度小数部分数据+8字节温度整数部分数据+8字节温度小数部分数据+8字节的校正检验和。正确的校验和数据等于8字节湿度整数部分数据+8字节湿度小数部分数据+8字节温度整数部分数据+8字节温度小数部分数据的结果的最后8位[8]。用户单片机发出一次启动指令后,DHT11将从低耗能状态变换成高速状态,当单片机的启动指令结束后,DHT11发送出响应信号,送出40字节的数据,并进行一次信号的采集。此状态下,DHT11只有在接收到启动信号时才会进行一次温湿度的采集工作,如果没有接收信号,DHT11不会主动进行数据的采集。采集数据后自动转换到低速状态。对湿度的定义:(1)相对湿度,指空气中水汽压与饱和水汽压的百分比。湿空气的绝对湿度与相同温度下可能达到的最大绝对湿度之比。也可表示为湿空气中水蒸气分压力与相同温度下水的饱和压力之比。
(2)相对湿度有三种表示方法:
a.含湿量,它表示湿空气中水蒸气质量(g)与干空气质量(kg)之比,单位是g/kg。
b.绝对湿度,它表示每立方米的湿空气中含有的水蒸气的质量,单位是千克/立方米(kg/m³)。
c.相对湿度,表示空气中的绝对湿度与同温度下的饱和绝对湿度的比值,得数是一个百分比。
相对湿度用RH来表示。相对湿度的定义是单位体积空气内实际所含的水气密度(用d1表示)和同温度下饱和水气密度(用d2表示)的百分比,即RH(%)=d1/d2x100%。[9]由于Protues元器件库中没有DHT11,故此找到与其功能管脚相同的SHT11来代替,其DATA口与单片机P3.5口连接,如图3.4所示。图3.4DHT11连接图3.4液晶显示模块1602液晶显示,它是一种专门用来显示简单数据的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶,管脚如图3.5所示。图3.5LCD1602管脚图1602的管脚功能如下:第一脚:VSS为接地端;第二脚:VCC为接+5V端;第三脚:VDD用来调节对比度,为了更好的显示需接一个10K的滑动变阻器来进行调节;第四脚:RS=1是使用数据寄存器,RS=0是使用指令寄存器;第五脚:RW是读写信号线,高电平时进行读操作。低电平时进行写操作;第六脚:E端为使能端,高电平时读取信息,负跳变时执行指令;第七至十四脚:D0~D7为8位双向数据端;第十五、十六脚:为背景电源,十五脚为正,十六脚为负。系统中显示模块电路LCD1602数据口D0~D7与单片机P0口连接,RS与P2.7口连接,R/W与P2.6口连接,E与P2.5口连接,如图3.6所示。图3.6LCD1602连接图3.5时钟电路模块DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW。DS1302是由DS1202改进而来,增加了以下的特性:双电源管脚用于主电源和备份电源供应,Vcc1为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域[10]。下面将主要的性能指标作一综合:·实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力还有闰年调整的能力·31*8位暂存数据存储RAM·串行I/O口方式使得管脚数量最少·宽范围工作电压2.05.5V·工作电流2.0V时,小于300nA·读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式·8脚DIP封装或可选的8脚SOIC封装根据表面装配·简单3线接口·与TTL兼容Vcc=5V·可选工业级温度范围-40+85·与DS1202兼容·在DS1202基础上增加的特性系统中时钟模块DS1302I/O口与单片机P3.2口连接,SCLK与单片机P3.3连接,RST(低电平有效)与单片机P3.1连接VCC2为备用电源,X1与X2外接32.768KHz晶振,如图3.7所示。图3.7DS1302连接图4软件仿真4.1仿真软件4.1.1Proteus软件介绍Proteus软件是英国Labcenterelectronics公司研发的EDA工具软件。它是一个集模拟电路、数字电路、模数混合电路以及多种微控制器系统为一体的系统设计和仿真平台。从原理布图、代码调试一直到单片机PCB的设计,8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续添加其它系列的处理器模型。面,它也支持IAR、Keil和MPLAB用[11]。4.1.2Keil软件介绍KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil使用说明:启动Keil建立一个工程选择工程保存位置选择单片机(MCU)型号Keil弹出对话框询问是否将初始化代码一起加入工程建立.c文件将.c文件添加到工程开始编写程序写完程序后,点“编译”“链接”编译成功后,生成HEX文件,将生成的HEX装载到仿真单片机完成相应的功能。4.2主程序流程图本系统的单片机使用了ATMEL公司的低功耗单片机STC89C52。主程序中仅完成了系统的初始化和开始的显示部分,然后就进入待机模式。当产生中断时,单片机被唤醒并执行相应的中断服务子程序,从中断子程序返回后,系统又进入到待机模式。整个程序的设计使系统在绝大多数时间都处于最低功耗状态。整个系统软件需要对温度传感器DHT11、窗户控制系统进行管理。温度传感器DHT11为数字式温度传感器,直接与单片机的串口连接来读取温度。以上所有模块均在主程序中完成初始化过程,系统流程图如图4.1所示。各模块的驱动子程序主体思路分别是:驱动模块:由于步进电机并不是依靠电流驱动,而是靠ULN2OO3将电脉冲进行分配,所以单片机将以0001(A),0011(AB),0010(B),0110(BC),0100(C),1100(CD),1000(D),1001(DA)的脉冲形式分为8拍控制步进电机[12];传感器:系统初始化后通过单片机发出的起始信号DHT11进入高速工作模式,由DATA口发送40位数据,分别是8位湿度整数+8位湿度小数+8位温度整数+8位温度小数=8位校正位;显示模块:LCD1602是以读/写数据的步骤来完成数据的显示,首先以将要显示数据的位置写入程序,再将所示数据的内容写入。大于设定值开始大于设定值开始结束NY系统初始化LCD初始化传感器数据读取驱动电机图4.1主程序流程图Protues仿真如图4.2所示为本设计的总体系统仿真图。其左下部分为步进电机及驱动电路,左上为单片机最小系统,右下是DHT11温湿度传感器电路,右中为时钟电路;再其左侧是键盘电路,右上是LCD1602显示电路。图4.2系统仿真图5系统组装及调试5.1组装步骤将之前各个模块的原理图组合最终形成整体的原理图,根据整体原理图进行实际电路的连接与调试。(1)形成整体的原理图,并对其进行完善。(2)对万能板进行检查,是否存在问题。(3)清点所需要的器件及工具,是否完全。(4)将各器件进行焊接,形成实际电路板。(5)对电路板进行调试,解决存在的问题[13]。其主要组成部分有控制模块、传感器模块、键盘/显示模块、时钟模块、驱动模块。虽然其模块组成不多,但是在布局及焊接时出现的问题却频频不断,比如在走线过程中焊锡供量不均匀导致的短路、模块管脚与芯片管脚出现断路等。经过反复的检测与资料查找了解了PCB电路的走线方式通过导线来完成连接解决了此问题,在整体电路走线方面则采用杜邦线来完成LCD1602与STC89C52单片机及DHT11与STC89C52单片机的连接,这样不仅减少了焊接的工作量也避免了短路情况的再次发生。5.2调试在调试环节分别对系统硬件调试、软件调试及软硬结合的调试。硬件调试主要是针对电路中存在的短路、断路、虚焊等问题来进行。在焊接所有模块之前首先对各个模块的性能管脚导通性进行测试,主要是通过一些简单的小程序来测试芯片能否达到预期目标。软件调试则是先对各部分模块的子程序进行验证,然后再将各个子程序引用于主程序中整体调试,逐步改进。实物组装完成后如图5.1所示。图5.1实物连接图5.3功能及其实现5.3.1温湿度及时钟显示系统开启后LCD1602对温湿度及时钟开始显示。温湿度显示在第一行,时钟显示在第二行。如图5.2所示。图5.2系统开启图5.3.2窗户的人工控制本系统采用单点键盘控制,key1来控制电机正转(左上第一个),key2来控制电机反转(左上第二个),每一次按下步进电机便会有一定角度的转动。UNL2003A灯亮则表示其正常工作,而亮灯的顺序则表示此时驱动步进电机的相位拍数。如图5.3和5.4所示。图5.3手控电机转动前图5.4手控电机转动后5.3.3窗户的环境控制经数据收集人体最舒适的室内温湿度是:冬天温度为18至25℃,湿度为30%至80%;夏天温度为23至28℃,湿度为30%至60%。在此范围内感到舒适的人占95%以上。据此数据本设计在内置程序中预置开窗温度设定在30°—35°,高于此温度可视为高温天气系统将不判定此温度为开窗温度,湿度定义在80%—85%区间,判定为阴雨天气防止屋内受潮,系统执行关窗操作。由于测试期间湿度难以达到预置区间,遂降低至70%—75%来进行测试[14]。如图5.5和5.6所示。图5.5温控电机转动前图5.6温控电机转动后5.4焊接及注意事项5.4.1焊接前处理(1)检查电烙铁通电后是否正常,是否有良好的接地。(2)检查器件焊接部位的氧化层,若存在氧化层可用小刀刮去焊接部位表面的氧化层,使其露出金属光泽。电路板可用细纱纸将铜箔打光后,涂上一层松香酒精溶液。(3)对元件镀锡,进行以上处理后对器件和引线镀锡。可将引线蘸一下松香后,将带锡的电烙铁头压在引线上,并转动引线,即可使引线均匀地镀上一层很薄的锡层。导线焊接前,应将绝缘外皮剥去,再经过上面两项处理。如果导线内不是是多股金属丝,经过处理后应先拧在一起,然后再镀锡[15]。5.4.2焊接(1)握持电烙铁的方法。
通常握持电烙铁的方法有握笔法和握拳法两种。a.握笔法。适用于轻巧型的烙铁如30W的内热式。它的烙铁头是直的,头端锉成一个斜面或圆锥状的,适宜焊接面积较小的焊盘,本设计制作所采用的方法。b.握拳法。适用于功率较大的烙铁,在本设计的制作过程中采用的是小功率的烙铁因此不采用这种方法。(2)在印刷电路板上焊接引线的几种方法。a.直通剪头。引线直接穿过通孔,焊接时使适当的锡熔化在焊盘上方让其均匀地分布在沾锡的引线四周,形成一个圆锥体模样,等到它冷却凝固后,将过长的引线剪去。b.直接埋头。将引线通过焊孔并路出一定的长度,用熔化的焊锡把引线头固定在焊点里面。这种焊点像半球形,需要注意的是焊点是否存在虚焊。6结束语经过这几个月毕业设计的学习制作过程,让我对大学四年所学到的知识有了一个很直观的认识,我们所学到的电路原理、软件编程知识,不仅仅是课本上的字句、作业中犯下的错误以及老师的批注,在实打实的制作过程中那些字句错误是我一次次试验成功与失败的原因,唯一不同的是这次没有了老师的批注对我犯下错误的指正,这些都要我自己在失败中总结,要亲自去翻阅元器件资料、组装了又拆卸电路板、对程序一遍遍的优化。通过这几个月我意识到了之前学过的知识并不是虚有的,它不但存在更为我指明前进的方向。现在回顾起来,可以说有甘有苦。在整个过程中遇到很多问题,而有些更是难以发现问题所在,这让我头疼万分,索性有指导老师的帮助,共同度过了难关。相比于苦,随着毕业设计验收答辩的顺利让之前的苦显得是那么值得,那么有意义。这是一个学习的过程,更是一个完善自我的过程,只是比课堂课本来的更痛快罢了。致谢在此,非常感谢帅春江老师对我毕业设计的指导以及每周一次的督促。其次,感谢这四年来教我知识的各位老师,毕业设计及论文的顺利完成,你们对我有莫大的帮助。最后向与我一样日夜奋斗的同学们说声谢谢,你们的陪伴让枯燥的生活多了一阵清风。毕业论文的结束,标志着大学走到了最后,也标志着新生活的开始。愿大家往后能如今日般为梦想奋斗不息。参考文献[1]邓学欣,檀润华.智能窗的概念设计[J].河北工业大学学报,2003(1).[2]GoldmanJM,PettersonMT,KopoticRJ,BarkerSJ.Masimosignalextractionpulseoximetry[J].JClinMonitComput.2000;16(7):75-83.[3]D.Tulone.Onthefeasibilityofglobaltimeestimationunderisolationconditionsinwirelesssensornetworks.[J].2010.[4]张毅刚.MCS-51单片机应用系统[M].哈尔滨:哈尔滨工业大学出版社,1997.[5]高洪志.MCS-51单片机原理及应用技术教程[M].北京:人民邮电出版社,2009.4.[6]杨学昭,王东云.单片机原理接口技术及应用第一版[M].西安,西安电子科技大学出版社,2009.[7]王煜东.传感器应用电路400例[M].北京:中国电力出版社,2008.[8]王化祥,张淑英.传感器原理及应用(第三版)[M].天津:天津大学出版社,2007.2.[9]曾光宇.现代传感器技术与应用基础[M].北京:北京理工大学出版社,2001:30—63.[10]周立功.DS1302使用数据手册[J].广州:广州周立功单片机发展有限公司,2009.[11]康华光.电子技术基础(数字部分)[M].北京:高等教育出版社,2000.[12]徐爱钧,彭爱华.单片机高级语言C51应用程序设计[M].北京:北京工业出社,1999.[13]罗民昌.集成电路系统[M].北京:中国铁道出版社,1998[14]华成英,童诗白.模拟电子技术基础-4版[M].北京.高等教育出版社,2006.[15]秦曾煌.电子技术(第六版)[M].北京:高等教育出版社,2004:80—103.附录A外文文献Progress
in
ComputersPrestige
Lecture
delivered
to
IEE,
Cambridge,
on
5
February
2009
Maurice
Wilkes
The
first
stored
program
computers
began
to
work
around
1950.
The
one
we
built
in
Cambridge,
the
EDSAC
was
first
used
in
the
summer
of
1949.
These
early
experimental
computers
were
built
by
people
like
myself
with
varying
backgrounds.
We
all
had
extensive
experience
in
electronic
engineering
and
were
confident
that
that
experience
would
stand
us
in
good
stead.
This
proved
true,
although
we
had
some
new
things
to
learn.
The
most
important
of
these
was
that
transients
must
be
treated
correctly;
what
would
cause
a
harmless
flash
on
the
screen
of
a
television
set
could
lead
to
a
serious
error
in
a
computer.
As
far
as
computing
circuits
were
concerned,
we
found
ourselves
with
an
embarass
de
richess.
For
example,
we
could
use
vacuum
tube
diodes
for
gates
as
we
did
in
the
EDSAC
or
pentodes
with
control
signals
on
both
grids,
a
system
widely
used
elsewhere.
This
sort
of
choice
persisted
and
the
term
families
of
logic
came
into
use.
Those
who
have
worked
in
the
computer
field
will
remember
TTL,
ECL
and
CMOS.
Of
these,
CMOS
has
now
become
dominant.
In
those
early
years,
the
IEE
was
still
dominated
by
power
engineering
and
we
had
to
fight
a
number
of
major
battles
in
order
to
get
radio
engineering
along
with
the
rapidly
developing
subject
of
electronics.dubbed
in
the
IEE
light
current
electrical
perly
recognised
as
an
activity
in
its
own
right.
I
remember
that
we
had
some
difficulty
in
organising
a
conference
because
the
power
engineers’
ways
of
doing
things
were
not
our
ways.
A
minor
source
of
irritation
was
that
all
IEE
published
papers
were
expected
to
start
with
a
lengthy
statement
of
earlier
practice,
something
difficult
to
do
when
there
was
no
earlier
practice
Consolidation
in
the
1960s
By
the
late
50s
or
early
1960s,
the
heroic
pioneering
stage
was
over
and
the
computer
field
was
starting
up
in
real
earnest.
The
number
of
computers
in
the
world
had
increased
and
they
were
much
more
reliable
than
the
very
early
ones
.
To
those
years
we
can
ascribe
the
first
steps
in
high
level
languages
and
the
firstoperating
systems.
Experimental
time-sharing
was
beginning,
and
ultimately
computer
graphics
was
to
come
along.
Above
all,
transistors
began
to
replace
vacuum
tubes.
This
change
presented
a
formidable
challenge
to
the
engineers
of
the
day.
They
had
to
forget
what
they
knew
about
circuits
and
start
again.
It
can
only
be
said
that
they
measured
up
superbly
well
to
the
challenge
and
that
the
change
could
not
have
gone
more
smoothly.
Soon
it
was
found
possible
to
put
more
than
one
transistor
on
the
same
bit
of
silicon,
and
this
was
the
beginning
of
integrated
circuits.
As
time
went
on,
a
sufficient
level
of
integration
was
reached
for
one
chip
to
accommodate
enough
transistors
for
a
small
number
of
gates
or
flip
flops.
This
led
to
a
range
of
chips
known
as
the
7400
series.
The
gates
and
flip
flops
were
independent
of
one
another
and
each
had
its
own
pins.
They
could
be
connected
by
off-chip
wiring
to
make
a
computer
or
anything
else.
These
chips
made
a
new
kind
of
computer
possible.
It
was
called
a
minicomputer.
It
was
something
less
that
a
mainframe,
but
still
very
powerful,
and
much
more
affordable.
Instead
of
having
one
expensive
mainframe
for
the
whole
organisation,
a
business
or
a
university
was
able
to
have
a
minicomputer
for
each
major
department.
Before
long
minicomputers
began
to
spread
and
become
more
powerful.
The
world
was
hungry
for
computing
power
and
it
had
been
very
frustrating
for
industry
not
to
be
able
to
supply
it
on
the
scale
required
and
at
a
reasonable
cost.
Minicomputers
transformed
the
situation.
The
fall
in
the
cost
of
computing
did
not
start
with
the
minicomputer;
it
had
always
been
that
way.
This
was
what
I
meant
when
I
referred
in
my
abstract
to
inflation
in
the
computer
industry
‘going
the
other
way’.
As
time
goes
on
people
get
more
for
their
money,
not
less.
Research
in
Computer
Hardware.
The
time
that
I
am
describing
was
a
wonderful
one
for
research
in
computer
hardware.
The
user
of
the
7400
series
could
work
at
the
gate
and
flip-flop
level
and
yet
the
overall
level
of
integration
was
sufficient
to
give
a
degree
of
reliability
far
above
that
of
discreet
transistors.
The
researcher,
in
a
university
or
elsewhere,
could
build
any
digital
device
that
a
fertile
imagination
could
conjure
up.
In
the
Computer
Laboratory
we
built
the
Cambridge
CAP,
a
full-scale
minicomputer
with
fancy
capability
logic.The
7400
series
was
still
going
strong
in
the
mid
1970s
and
was
used
for
the
Cambridge
Ring,
a
pioneering
wide-band
local
area
network.
Publication
of
the
design
study
for
the
Ring
came
just
before
the
announcement
of
the
Ethernet.
Until
these
two
systems
appeared,
users
had
mostly
been
content
with
teletype-based
local
area
networks.
Rings
need
high
reliability
because,
as
the
pulses
go
repeatedly
round
the
ring,
they
must
be
continually
amplified
and
regenerated.
It
was
the
high
reliability
provided
by
the
7400
series
of
chips
that
gave
us
the
courage
needed
to
embark
on
the
project
for
the
Cambridge
Ring.
The
RISC
Movement
and
Its
Aftermath
Early
computers
had
simple
instruction
sets.
As
time
went
on
designers
of
commercially
available
machines
added
additional
features
which
they
thought
would
improve
performance.
Few
comparative
measurements
were
done
and
on
the
whole
the
choice
of
features
depended
upon
the
designer’s
intuition.
In
1980,
the
RISC
movement
that
was
to
change
all
this
broke
on
the
world.
The
movement
opened
with
a
paper
by
Patterson
and
Ditzel
entitled
The
Case
for
the
Reduced
Instructions
Set
Computer.
Apart
from
leading
to
a
striking
acronym,
this
title
conveys
little
of
the
insights
into
instruction
set
design
which
went
with
the
RISC
movement,
in
particular
the
way
it
facilitated
pipelining,
a
system
whereby
several
instructions
may
be
in
different
stages
of
execution
within
the
processor
at
the
same
time.
Pipelining
was
not
new,
but
it
was
new
for
small
computers
The
RISC
movement
benefited
greatly
from
methods
which
had
recently
become
available
for
estimating
the
performance
to
be
expected
from
a
computer
design
without
actually
implementing
it.
I
refer
to
the
use
of
a
powerful
existing
computer
to
simulate
the
new
design.
By
the
use
of
simulation,
RISC
advocates
were
able
to
predict
with
some
confidence
that
a
good
RISC
design
would
be
able
to
out-perform
the
best
conventional
computers
using
the
same
circuit
technology.
This
prediction
was
ultimately
born
out
in
practice.
Simulation
made
rapid
progress
and
soon
came
into
universal
use
by
computer
designers.
In
consequence,
computer
design
has
become
more
of
a
science
and
less
of
an
art.
Today,
designers
expect
to
have
a
roomful
of,
computers
available
to
do
their
simulations,
not
just
one.
They
refer
to
such
a
roomful
by
the
attractive
name
of
computer
farm.
The
x86
Instruction
SetLittle
is
now
heard
of
pre-RISC
instruction
sets
with
one
major
exception,
namely
that
of
the
Intel
8086
and
its
progeny,
collectively
referred
to
as
x86.
This
has
become
the
dominant
instruction
set
and
the
RISC
instruction
sets
that
originally
had
a
considerable
measure
of
success
are
having
to
put
up
a
hard
fight
for
survival.
This
dominance
of
x86
disappoints
people
like
myself
who
come
from
the
research
wings.both
academic
and
industrial.of
the
computer
field.
No
doubt,
business
considerations
have
a
lot
to
do
with
the
survival
of
x86,
but
there
are
other
reasons
as
well.
However
much
we
research
oriented
people
would
like
to
think
otherwise.
high
level
languages
have
not
yet
eliminated
the
use
of
machine
code
altogether.
We
need
to
keep
reminding
ourselves
that
there
is
much
to
be
said
for
strict
binary
compatibility
with
previous
usage
when
that
can
be
attained.
Nevertheless,
things
might
have
been
different
if
Intel’s
major
attempt
to
produce
a
good
RISC
chip
had
been
more
successful.
I
am
referring
to
the
i860
(not
the
i960,
which
was
something
different).
In
many
ways
the
i860
was
an
excellent
chip,
but
its
software
interface
did
not
fit
it
to
be
used
in
a
workstation.
There
is
an
interesting
sting
in
the
tail
of
this
apparently
easy
triumph
of
the
x86
instruction
set.
It
proved
impossible
to
match
the
steadily
increasing
speed
of
RISC
processors
by
direct
implementation
of
the
x86
instruction
set
as
had
been
done
in
the
past.
Instead,
designers
took
a
leaf
out
of
the
RISC
book;
although
it
is
not
obvious,
on
the
surface,
a
modern
x86
processor
chip
contains
hidden
within
it
a
RISC-style
processor
with
its
own
internal
RISC
coding.
The
incoming
x86
code
is,
after
suitable
massaging,
converted
into
this
internal
code
and
handed
over
to
the
RISC
processor
where
the
critical
execution
is
performed.
In
this
summing
up
of
the
RISC
movement,
I
rely
heavily
on
the
latest
edition
of
Hennessy
and
Patterson’s
books
on
computer
design
as
my
supporting
authority;
see
in
particular
Computer
Architecture,
third
edition,
2003,
pp
146,
151-4,
157-8.
The
IA-64
instruction
set.
Some
time
ago,
Intel
and
Hewlett-Packard
introduced
the
IA-64
instruction
set.
This
was
primarily
intended
to
meet
a
generally
recognised
need
for
a
64
bit
address
space.
In
this,
it
followed
the
lead
of
the
designers
of
the
MIPS
R4000
and
Alpha.
However
one
would
have
thought
that
Intel
would
have
stressed
compatibility
with
the
x86;
the
puzzle
is
that
they
did
the
exact
opposite.
Moreover,
built
into
the
design
of
IA-64
is
a
feature
known
as
predicationwhich
makes
it
incompatible
in
a
major
way
with
all
other
instruction
sets.
In
particular,
it
needs
6
extra
bits
with
each
instruction.
This
upsets
the
traditional
balance
between
instruction
word
length
and
information
content,
and
it
changes
significantly
the
brief
of
the
compiler
writer.
In
spite
of
having
an
entirely
new
instruction
set,
Intel
made
the
puzzling
claim
that
chips
based
on
IA-64
would
be
compatible
with
earlier
x86
chips.
It
was
hard
to
see
exactly
what
was
meant.
Chips
for
the
latest
IA-64
processor,
namely,
the
Itanium,
appear
to
have
special
hardware
for
compatibility.
Even
so,
x86
code
runs
very
slowly.
Because
of
the
above
complications,
implementation
of
IA-64
requires
a
larger
chip
than
is
required
for
more
conventional
instruction
sets.
This
in
turn
implies
a
higher
cost.
Such
at
any
rate,
is
the
received
wisdom,
and,
as
a
general
principle,
it
was
repeated
as
such
by
Gordon
Moore
when
he
visited
Cambridge
recently
to
open
the
Betty
and
Gordon
Moore
Library.
I
have,
however,
heard
it
said
that
the
matter
appears
differently
from
within
Intel.
This
I
do
not
understand.
But
I
am
ver
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理护理循证医学教学法课件与教案分享
- 护理教学中的团队合作精神培养
- 金融前台职业规划
- 剖宫产术后引流管护理
- 护理教师竞赛培训课程
- 护理实验问题解决
- 快消品行业市场专员岗位全解
- 临床事务经理工作汇报总结
- 快递业务岗位的面试全解析
- 快消品销售员市场推广技巧培训
- 2025年河南法院书记员招聘考试真题及答案
- 2026年劳动合同范本
- 租赁修井设备合同范本
- 哈罗德多马增长模型课件
- 儿童手功能训练
- 《中华中医药学会标准肿瘤中医诊疗指南》
- 江苏安全生产许可证办理流程
- GB/T 384-2025烃类燃料热值的测定氧弹量热计法
- 沉井施工及顶管方案
- 五年(2021-2025)高考历史真题分类汇编:专题23 中国近现代史(材料分析题、观点论述题)(全国)(解析版)
- 2025年个人问题清单及整改措施服务群众方面
评论
0/150
提交评论