自动窗户控制器设计_第1页
自动窗户控制器设计_第2页
自动窗户控制器设计_第3页
自动窗户控制器设计_第4页
自动窗户控制器设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

陕西理工学院毕业设计页共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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论