毕业设计-基于at89s51单片机的智能温度控制系统设计_第1页
毕业设计-基于at89s51单片机的智能温度控制系统设计_第2页
毕业设计-基于at89s51单片机的智能温度控制系统设计_第3页
毕业设计-基于at89s51单片机的智能温度控制系统设计_第4页
毕业设计-基于at89s51单片机的智能温度控制系统设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中使用较为广泛的控制器。为了更好地推广单片机在实际生活和生产中的应用,本文介绍一种应用AT89S51单片机设计的空调智能温度控制系统。该系统通过温度传感器多点采集温度取其平均值后反馈给单片机,单片机通过采集到的平均值与内设的温度值进行比较,来决定运行冬天模式还是夏天模式。在智能模式下,系统启动后,会根据选择的冬天或夏天模式自动调节到人体最适温度,调节室温。实现了温度的自动控制,同时也达到了一定的节能目的。在手动模式下,系统启动后,在冬天或夏天模式中均可运行加热或制冷模式,温度的高低由设定值决定。而加热和制冷模式的运行,取决于设定值与平均值的比较。通过数码管实时显示出当前的温度。本文根据任务要求从理论出发,设计思路,最终实现了任务要求。关键词单片机,温度控制,智能化ABSTRACTWITHTHEDEVELOPMENTOFELECTRONICPRODUCTSININTELLIGENTIALIZEANDMICROMINIATURIZATION,SINGLECHIPMICROCOMPUTERHASBECOMETHEMOSTWIDELYUESDCONTROLLERINTHERESEARCHANDDEVELOPMENTOFELECTRONICPRODUCTSFORPOPULARIZINGTHESINGLECHIPMICROCOMPUTERSUSEINOURLIVESANDPRODUCEBETTER,THISARTICLEINTRODUCESONEKINDOFINTELLIGENTTEMPERATURECONTROLSYSTEMBASEDONAT89S51THISSYSTEMFEEDBACKDIFFERENTTEMPERATUREWHICHCOLLECTEDBYTEMPERATURETRANSMITTERTOTHESINGLECHIPMICROCOMPUTERTHENSINGLECHIPMICROCOMPUTERCOMPARESTHEDIFFERENTTEMPERATURETODESIDEUSINGWHICHMODEWINTERORSUMMERANDHEATINGORREFRIGERATINGWHENTHESYSTEMWORKS,ITWILLCONTROLSTHETEMPERATURETOMAKEPEOPLEFEELCOMFORTABLEBYDIFFERENTMODESBYTHISWAYSYSTEMCOMESTRUETHEPURPOSETHATINTELLIGENCEONTHEOTHERHANDITCANSAVINGENERGYBYNIXIETUBE,PEOPLECANKNOWTHETEMPERATUREATTHESAMETIMETHISARTICLEACCORDINGTOTHEMISSIONREQUIREMENT,DESIGNSTHEPROJECT,FINALLYREALIZEDTHEMISSIONREQUIREMENTKEYWORDSSINGLECHIPMICROCOMPUTER,TEMPERATURECONTROL,INTELLIGENTIZE目录前言1第1章系统方案的确立211系统方案的确立212本设计采用的方案213系统原理框图2第2章系统方案的设计421系统的功能422单片机最小系统电路4221电源电路5222复位电路5223晶振电路5第3章系统硬件电路设计731主控芯片7311AT89S51单片机的主要性能特点7312AT89S51单片机的管脚说明8313AT89S51单片机的中断系统1032各模块的硬件设计12321电源模块12322温度采集模块13323显示模块16324按键模块18325加热及制冷电路模块18第4章系统软件设计2041PROTEL99SE简介20411电路原理图编辑器20412原理图元件库编辑器21413PROTEL99SEGERBE输出文件后缀名定义2142KEIL的简介2243系统程序流程图23第5章总结与展望28参考文献29致谢30附录电路原理图31附录主程序程序代码32附录DS18B20子程序代码35前言本课题研究一种基于单片机的空调智能温度控制系统,该系统能根据环境温度自动调节室内温度,让人们有一个舒适的生活和工作环境。随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。在日常生活中,人们为了拥有一个更舒适的生活环境,往往需要室内拥有一个合适的温度,而单片机的准确性高、价格低、功耗低等一系列优点,可结合升温和降温设备,有效的应用到实际生活中。第一代空调温控器主要是电气式产品,空调温控器的温度传感器采用双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机三速开关和季节转换开关为泼档式机械开关。这类空调温控器产品普遍存在“温度设定分度值过粗”、“时间常数太大”、“机械开关易损坏”等问题。第二代空调温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产品的温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。这类智能空调温控器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高”、“时间常数大”、“操作较复杂”等问题。目前国内外生产厂家正在研究开发第三代智能型室温空调温控器,个厂家积极响应国家的政策,应用新型控制模型和数控芯片实现智能控制。这一生产带动电子行业的发展。本课题研究一种基于单片机的空调智能温控系统,该系统分为两种模式,即冬天模式和夏天模式。在每种模式下再分为两种模式,即加热模式和制冷模式。通过两个温度传感器多点采集温度,通过温度平均值与设定值比较选择模式,当温度低于某一温度时,实行冬天模式,当温度高于某一温度时,实行夏天模式。第1章系统方案的确立11系统方案的确立考虑到本设计要使用温度传感器,在单片机电路设计中,最常见的一种方法是,使用多个DS18B20采集多点温度值,然后将各点温度值反馈给单片机,单片机读取温度值并进行相应运算,决定空调采用哪种模式,再对加热器或压缩机发出相应指令,即可满足设计要求。12本设计采用的方案本方案以AT89S51单片机为控制核心,以智能温度传感器DS18B20为温度测量元件,对多点进行温度测量。对采集到的温度值取平均值,再与设定的人体最适温度进行比较,来决定空调采用哪种模式。温度由两位数码管显示。配有按键,可以改变空调的模式及温度。13系统原理框图初始方案原理框如图11所示。图11最初方案原理框图考虑到温度多变,不同的人群对温度需求不同的问题,故给系统加上了按键,以便于人们对空调的模式和温度的高低进行实时的个性化调节,满足个人DS18B20DS18B20AT89S51加热器压缩机的需求。再加上温度显示,人们对于温度的调节可以更加精确。最终方案原理框图如图12所示。图12最终方案原理框图按键AT89S51DS18B20DS18B20加热器压缩机两位数码管第2章系统方案的设计21系统的功能本系统是基于单片机的空调智能温度控制系统,拥有冬天模式和夏天模式,在每种模式下又分为加热模式和制冷模式。系统以AT89S51单片机为核心,DS18B20为温度测量元件,附有数码管显示当前温度值,有按键可改变当前模式以及温度。系统通过DS18B20采集到多点温度值,取其平均值。空调内设定两个温度值(18C和28C)。当平均值低于18C时,空调采用冬天模式,默认下运行加热模式,当加热至22C时停止加热,延时五分钟后若平均值低于22C,则继续加热到22C时再停止,否则不加热并继续延时5分钟,如此循环下去。当平均值高于28C时,空调采用夏天模式,默认下运行制冷模式,当温度降至26C时停止制冷,延时五分钟后若平均值高于26C,则继续制冷到26C时再停止,否则不制冷并继续延时5分钟,如此循环下去。该系统配有按键,可改变空调的模式,以及温度高低。当空调自动运行冬天模式或夏天模式时,若开关S1闭合则此时进入手动模式。手动模式下,温度高低由人为设定,温度传感器采集到的数据平均值与设定值比较,当平均值高于设定值时,运行制冷模式,温度降至设定值后停止制冷,并延时5分钟,然后再判断温度是否高于设定值,否则停止制冷并继续延时5分钟,是则继续制冷,如此循环下去。当平均值低于设定值时,运行加热模式,温度升至设定值后停止加热,并延时5分钟,然后在判断温度是否低于设定值,否则停止加热并继续延时5分钟,是则继续加热,如此循环下去。系统原理图见附录22单片机最小系统电路因为该系统是以单片机为控制核心,故必有组成单片机最小系统的电路,即电源电路、复位电路、晶振电路。221电源电路电源模块使用L7805CV芯片,电源模块如图21所示。VIN73GND4OUT5U2L80CF16图21单片机电源模块222复位电路AT89S51的复位输入端为RST,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。如图22,当摁下摁键S4时,RST输入高电平,单片机复位。为了可靠,再加上一只0LUF的电容以消除干扰、杂波。复位电路如图22所示。PRKS图22单片机复位电路223晶振电路单片机的XTAL1和XTAL2分别为用作片内振荡器的反向放大器的输入和输出。这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。C1和C2的数值要一样,不管使用的是晶体还是谐振器。最佳的数值与使用的晶体或谐振器有关,还与杂散电容和环境的电磁噪声有关。数据手册中给出了针对晶体选择电容的一些指南。对于陶瓷谐振器,应该使用厂商提供的数值。本系统的晶振设计采用典型电路,晶振两端接30PF左右的电容。晶振电路如图23所示。Y12MHZC30PF图23单片机晶振电路第3章系统硬件电路设计31主控芯片本系统采用AT89S51单片机作为主控芯片。AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4KBYTESISPINSYSTEMPROGRAMMABLE的可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFLASH存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。外加ATMEL公司现在已经停产了89CXX系列的单片机,考虑到购买问题,故选择AT89S51单片机。311AT89S51单片机的主要性能特点14KBYTESFLASH片内程序存储器;集成度高、体积小、可靠性高;2128BYTES的随机存取数据存储器(RAM);332个外部双向输入/输出(I/O)口;45个中断优先级、2层中断嵌套中断;56个中断源;62个16位可编程定时器/计数器;72个全双工串行通信口;8看门狗(WDT)电路;9片内振荡器和时钟电路;10与MCS51兼容;11全静态工作0HZ33MHZ;12三级程序存储器保密锁定;13可编程串行通道;14低功耗的闲置和掉电模式。312AT89S51单片机的管脚说明VCC电源电压输入端。GND电源地。P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(T0定时器的外部计数输入)P35T1(T1定时器的外部计数输入)P36/WR(外部数据存储器的写选通)P37/RD(外部数据存储器的读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。RST复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1片内振荡器反相放大器和时钟发生器的输入端。XTAL2片内振荡器反相放大器的输出端。AT89S51管脚图如图31所示。图31AT89S51单片机管脚图313AT89S51单片机的中断系统1中断程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理内部事件的中断服务程序中去;完成中断服务的程序后,CPU继续原来被打断的程序,这样的过程称为中断过程。2中断源能产生中断的外部和内部事件。89S51有5个中断源1INT0外部中断0请求,低电平有效。通过P32引脚输入。2INT1外部中断1请求,低电平有效。通过P33引脚输入。3T0定时器/计数器0溢出中断请求。4TI定时器/计数器1溢出中断请求。5TXD/RXD串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。每一个中断源都对应一个中断请求标志位,它们设置在特殊功能寄存器TCON和SCON中。当这些中断源请求中断时,相应的标志分别有TCON和SCON中的相应位来锁存。389S51中断系统有以下4个特殊功能寄存器1定时器控制寄存器TCON(用6位);2串行口控制寄存器SCON(用2位);3中断允许寄存器IE;4中断优先级寄存器IP。其中,TCON和SCON只有一部分用于中断控制。通过对以上各特殊功能寄存器的各位进行置位或复位等操作,可实现各种中断控制功能。4中断的响应过程及中断矢量地址中断处理过程可分为3个阶段中断响应、中断处理和中断返回。89C51的CPU在每个机器周期的S5P2期间顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志。如查询到某个中断标志为1,则将在接下来的机器周期S1期间按优先级进行中断处理。中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。表2既是各个中断源对应的中断矢量地址。由于89S51系列单片机的两个相邻的中断源中断服务程序入口地址相距只有八个单元,一般的中断服务程序是容纳不下的,通常是在相应的中断服务程序入口地址中放一条常跳转指令LJMP,这样就可以转到64KB任何可用区域了。中断服务程序从矢量地址开始执行,一直到返回指令RETI为止。RETI指令的操作一方面告诉中断系统该中断服务程序已执行完毕,另一方面把原来压入堆栈保护断点地址从栈顶弹出,装入程序寄存器PC,使程序返回到被中断的程序断点处继续执行。在编写中断服务程序时应注意(1)在中断矢量地址单元处存放一条无条件转移指令(如LJMPH),使中断程序可灵活的安排在64KB程序存储器的任何空间。(2)在中断服务程序中,用户应注意用软件保护现场,以免中断返回后丢失原寄存器、累加器中的信息。(3)若要在执行当前中断程序时禁止更高优先级中断,则可先用软件关闭CPU中断或禁止某中断源中断,在中断返回前在开放中断。32各模块的硬件设计321电源模块AT89S51工作,需要为其提供5V电源。本系统采用线性稳压电源,通过三端稳压管L7805CV,输出5V直流电压。L7805CV的基本参数为1输出电压475525V;2最大输入电压35V;3静态电流428MA;4输出噪音电压40UV;5纹波抑制比78DB;6输出电阻17M;7输出电压温度系数11MV/C。L7805CV的特征1输出电流可达15A;2不需外接补偿元件;3内含限流保护电流,防止负载短路烧毁元件;4内含高温过热保护电路,防止结温过热烧毁器件;5内含功耗限制电路,防止烧毁输出驱动器晶体管。电源模块原理图如图32所示。VIN73GND4OUT5U2L80CF16图32电源模块322温度采集模块DS18B20是目前使用较为广泛的温度传感器,且其接线方便,适用于多种场合,故本系统中也使用DS18B20作为温度测量元件。系统通过DS18B20采集到多点温度值,取其平均值。空调内设定两个温度值(18C和28C)。当平均值低于18C时,空调采用冬天模式,默认下为加热模式,当加热至22C时停止加热,延时五分钟后若平均值低于22C,则继续加热到22C时再停止,否则不加热并继续延时5分钟,如此循环下去。当平均值高于28C时,空调采用夏天模式,默认下为制冷模式,当温度降至26C时停止制冷,延时五分钟后若平均值高于26C,则继续制冷到26C时再停止,否则不制冷并继续延时5分钟,如此循环下去。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。温度传感器可编程的分辨率为912位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统。描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。因为每一个DS18B20的包含一个独特的序号,多个DS18B20S可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一1)读ROM,2)ROM匹配,3)搜索ROM,4)跳过ROM,5)报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。DS18B20有4个主要的数据部件(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRCX8X5X41)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例用16位符号扩展的二进制补码读数形式提供,以00625/LSB形式表达,其中S为符号位。DS18B20的主要特性1适应电压范围更宽,电压范围3055V,在寄生电源方式下可由数据线供电。2独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。3DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。4DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。5温范围55125,在1085时精度为05。6可编程的分辨率为912位,对应的可分辨温度分别为05、025、0125和00625,可实现高精度测温。7在9位分辨率时最多在9375MS内把温度转换为数字,12位分辨率时最多在750MS内把温度值转换为数字,速度更快。8测量结果直接输出数字温度信号,以“一线总线“串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。9负压特性电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20的应用范围1该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域。2轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。3汽车空调、冰箱、冷柜、以及中低温干燥箱等。4供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制。DS18B20的管脚介绍TO92封装的DS18B20的引脚排列见图33,其引脚功能描述见表31。图33DS18B20底视图表31DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。其内部结构图如图34所示。图34DS18B20内部结构GND1I/O2V3JS8B0C图35温度采集模块323显示模块在做这个模块的设计时有两种方案选择,一种是采用液晶屏显示,另一种是数码管显示。考虑到数码管显示较液晶屏显示清晰,其次液晶屏的编程也较为繁琐,所以本设计采用了数码管显示。显示模块原理图如图36所示。ABFCGDEDPY12345678PLE0/GA9USRKVC图36显示模块LED数码管的结构及工作原理LED数码管(LEDSEGMENTDISPLAYS)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“1”型。位数有半位,1,2,3,4,5,6,8,10位等等,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。其引脚定义如图37所示。图37引脚定义每一笔划都是对应一个字母表示。DP是小数点。数码管正面引脚示意图如图38所示。图38数码管正面引脚示意图324按键模块这个模块是为了方便人们自主调节空调的温度和模式而设计的。按键模块如图39所示。S23R71K8VC6图39按键模块当S1闭合时系统运行手动模式。手动模式下,制冷模式和加热模式的运行取决于,人为设定的温度和温度传感器采集到的温度平均值之间的比较。当平均值低于设定值时,运行加热模式。当平均值高于设定值时,采用制冷模。S2用来调高温度,每摁一下设定温度升高一度。S3用来调低温度,每摁一下设定温度降低一度。当S1断开时,系统运行智能模式。325加热及制冷电路模块在本设计中采用了发光二级管来指示空调的模式运行,以及加热和制冷模块的运行。L1表示夏天模式,L2表示冬天模式,L3表示加热模式,L4表示制冷模式。模式指示模块如图310所示。R1K234LED加图310模式指示模块当运行制冷模式时,三极管Q1导通,继电器K1开关闭合,压缩机开始工作。当运行加热模式时,三极管Q2导通,继电器K2开关闭合,加热器开始工作。L5,L6用来保护电路。R9和R10用来限流,防止三极管被烧坏。加热及制冷模块如图311所示。QPNVC5609图311加热及制冷模块第4章系统软件设计41PROTEL99SE简介PROTEL99SE是PROKLTECHNOLOGY公司开发的基于WINDOWS环境下的电路板设计软件。该软件功能强大,人机界面友好,易学易用,仍然是大中专院校电学专业必学课程,同时也是业界人士首选的电路板设计工具。PROTEL99SE由两大部分组成电路原理图设计(ADVANCEDSCHEMATIC)和多层印刷电路板设计(ADVANCEDPCB)。其中ADVANCEDSCHEMATIC由两部分组成电路图编辑器(SCHEMATIC)和元件库编辑器(SCHEMATICLIBRARY)。411电路原理图编辑器4111概述进入DESIGNPROTEL99SE后在DOCUMENTS中通过右键“NEW”建立“SCHEMATICDOCUMENT”文件,打开后即可进行电路原理图的编辑。先按照已画好的电路草图将所有元件找到拖放到编辑框里。将编辑框缩小,将元件照电路的样子搭好,整体上排列匀称。接下来就可以进行局部的连线了。或者可以先将电路的各个模块先搭好,再通过框定各模块平移组合成完整的电路,取消框定要通过EDITDESELECTINSIDEAREA再用鼠标框定以前选中的模块,就可以解除,表现为模块由黄色变成普通颜色。对某个工程的操作是对一个数据库的操作,因此不同的数据库会在不同的窗口中打开,通过最小化可看高各个数据库的窗口。4112常用操作1、调用画图工具VIEWTOOLBARSCUSTOMIZE。2、在移动元件时按空格可旋转元件。3、找元件时要参照对元件库的描述,CONVERTER含有AD、DA等;ANALOG是模拟器件如运放等;MEMORY是存储器件4、一个工程数据库中最好不要将所有文件都放在文件夹DOCUMENTS中,因为这样会产生一些意想不到的小问题。而将文件直接放在数据库根目录下则不会出现这些问题。412原理图元件库编辑器4121概述虽然PROTEL本身包含了庞大的元件库,但在实际应用中总会遇到找不到元件的情况,这时就需要根据元件资料自己动手在元件库中制作这个元件。还有一种情况是各种元件分散在各个公司的元件库中,不便与使用,所以要把常用元件集中到一个元件库中,这就要自己动手制作,将经常用到的元件复制到这个元件库中,方便以后的使用。4122基本操作元件库文件(LIB)也是基于数据库文件(DDB)下的操作,同一个数据库下元件库中的元件才可以通过TOOLSCOPYCOMPONENT相互复制,不同数据库时可先用右键的COPY将整个元件库复制到当前数据库,再在该数据库中进行单个元件的复制。在放置芯片引脚时大头指的是引脚外侧,引脚名称会嵌到芯片框里,引脚号在外侧。1、在画芯片图时,如果用到画线的功能,则应将VIEWSNAPGRID功能打开,可增加画线时的定位精度。2、不同设计文件之间拷贝模块时,操作如下先选中要拷贝的部分拷贝,鼠标变成十字线后在选定的区域中间点击左键切换到另一个设计文件,粘贴即完成了操作。413PROTEL99SEGERBE输出文件后缀名定义TOPLAYERGTL顶层走线BOTTOMLAYERGBL底层走线TOPOVERLAYGTO顶层丝印BOTTOMOVERLAYGBO底层丝印TOPPASTEGTP顶层表贴(做激光模板用)BOTTOMPASTEGBP底层表贴(做激光模板用)TOPSOLDERGTS顶层阻焊(也叫防锡层,负片)BOTTOMSOLDERGBS底层阻焊(也叫防锡层,负片)MIDLAYER1G1内部走线层1MIDLAYER2G2内部走线层2MIDLAYER3G3内部走线层3MIDLAYER4G4内部走线层4INTERNALPLANE1GP1内平面1(负片)INTERNALPLANE2GP2内平面2(负片)MECHANICAL1GM1机械层1KEEPOUTLAYERGKO禁止布线层DRILLGUIDEGG1钻孔引导层DRILLDRAWINGGD1钻孔图层TOPPADMASTERGPT顶层主焊盘BOTTOMPADMASTERGPB底层主焊盘本系统采用PROTEL99SE中文版进行原理图的。42KEIL的简介KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部分组合在一起。运行KEIL软件需要WIN98、NT、WIN2000、WINXP等操作系统。KEILVISION32006年1月30日ARM推出全新的针对各种嵌入式处理器的软件开发工具,集成KEILVISION3的REALVIEWMDK开发环境。REALVIEWMDK开发工具KEILVISION3源自KEIL公司。REALVIEWMDK集成了业内领先的技术,包括KEILVISION3集成开发环境与REALVIEW编译器。支持ARM7、ARM9和最新的CORTEXM3核处理器,自动配置启动代码,集成FLASH烧写模块,强大的SIMULATION设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,REALVIEW编译器的最新版本可将性能改善超过20。KEILVISION42009年2月发布KEILVISION4,KEILVISION4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。2011年3月ARM公司发布最新集成开发环境REALVIEWMDK开发工具中集成了最新版本的KEILUVISION4,其编译器、调试工具实现与ARM器件的最完美匹配。本设计采用了KEILVISION3进行软件编程。43系统程序流程图系统主程序流程图如图41所示。当系统运行后,采集温度传感器数值的平均值,平均值会实时的显示出来。系统内设了两个温度28C和18C,平均值会与这两个温度比较。大于28C时,系统自动运行夏天模式,此时开关S1若是闭合的则运行手动模式,否则运行智能模式。智能模式下,压缩机工作,每隔5分钟系统自动比较一次温度平均值与26C的大小。若高于26C则压缩机继续工作;否则停止制冷并延时5分钟后比较平均值与26C的大小。若此时温度高于26C,则压缩机开始工作,5分钟后再比较平均值与26C的大小;若此时温度不高于26C,则继续延时5分钟,如此循环下去。当采集到的温度平均值低于28C时,再判断它是否低于18C。若高于18C,则判断开关S1是否闭合,闭合了就运行手动模式,没有闭合就运行智能模式。当温度平均值低于18C时,系统自动运行冬天模式,此时开关S1若闭合则运行手动模式,否则运行智能模式。智能模式下,工作原理与夏天模式相似。否是否否是否是否是是是否是否是开始初始化采集温度传感器的数值并取其平均值平均值是否大于28C平均值是否小于18C开关S1是否闭合运行手动模式运行冬天模式运行夏天模式开关S1是否闭合开关S1是否闭合加热器开始工作温度是否升至22C显示压缩机开始工作温度是否降至26C停止制冷并延时5分钟温度是否高于26C运行手动模式BCD是是否图41主程序流程图A是否图41主程序流程图B子程序流程图如图42和图43所示。否是图43显示子程序流程图图42DS18B20子程序流程图停止加热并延时5分钟温度是否低于22CACABD开始初始化延时写入一个字节读取一个字节查表校验是否正确读取温度值返回开始初始化延时读取DS18B20的数据显示返回DS18B20子程序系统运行后,温度传感器开始采集温度,先采集到的温度值要与其自身能够采集到的温度范围作比较,若采集到的温度不在其范围内则重新采集温度值,若采集到的温度值在其范围内,那么采集这个温度值。显示子程序系统运行后,显示模块实时读取温度传感器的数据,实时显示出环境的温度。手动模式子程序流程图如图44所示。否是否否是是是是否开始初始化设定温度值采集温度传感器数值并取其平均值平均值是否大于设置温度运行制冷模式压缩机工作平均值是否降至设置值停止制冷并延时5分钟平均值是否高于设置值运行加模式加热器工作平均值是否升至设置值停止加热并延时5分钟返回平均值是否低于设置值显示否图44手动模式子程序流程图手动模式运行后,人为先设定一个温度,温度传感器采集到的温度平均值与这个设定温度比较,当平均值高于设定温度时,系统运行制冷模式,压缩机开始工作,每隔5分钟比较一次平均值与设定值的大小,若平均值高于设置值,则压缩机继续工作,延时5分钟后再比较两者大小;若平均值不高于设置值,那么延时5分钟后再比较两者大小。此时,若平均值高于设置值,那么压缩机继续工作,5分钟后再比较两者大小;此时,若平均值不高于设置值,那么继续延时5分钟后再比较两者大小。如此循环下去。当平均值低于设置温度时,系统运行加热模式,加热器开始工作,每隔5分钟比较一次平均值与设定值的大小,若平均值低于设置值,则加热器继续工作,延时5分钟后再比较两者大小;若平均值不低于设置值,那么延时5分钟后再比较两者大小。此时,若平均值低于设置值,那么加热器继续工作,5分钟后再比较两者大小;此时,若平均值不低于设置值,那么继续延时5分钟后再比较两者大小。如此循环下去。返回第5章总结与展望经过这几个月的不断努力,以及老师和同学的帮助,终于完成了毕业设计的基本要求。过程虽然艰辛,但是我始终一步一个脚印慢慢的走了过来,回头望去,感慨颇多。在设计之初,始终不能确定自己的方案。我通过查资料,与同学交流慢慢定下了方案,本想着可以开始进程的时候,由因为方案中的细节问题而举棋不定。在这上面就花掉了将近一周的时间。但是确立了一个方向后,所有的工作便有了针对性。我抱着满腔热情投入进去,虚心向老师求教,请教同学,查阅资料,终于按要求完成了毕业设计。在这一艰辛的过程中,锻炼了我的独立思考能力,查阅能力,理解能力,动手能力。对以前不是十分清楚,甚至不清楚的知识,现在都有了新的认识和理解。实现了理论与实践的相结合。本设计以单片机为核心,温度采集和温度控制相结合,实现了对温度的智能控制。基本达到了本次毕业设计的要求。放眼望去,智能温度控制系统,以后会得到更为广泛的应用,而不仅仅是在空调上。而温度的控制精度,以及智能化将会得到更大的提升,为人们的生活和生产带来更多便利。参考文献1温宗周单片机原理及接口技术,中国电力出版社,20092邱关源电路,第五版高等教育出版社,20063康华光电子技术基础(模拟部分),高等教育出版社,20094阎石数字电子技术基础,高等教育出版社,20085杨路明C语言程序设计教程,北京邮电大学出版社,20086杨欣,王玉凤51单片机应用实例详解,清华大学出版社,201020417吴银琴51单片机实践教程,科学出版社,201125648魏伟,胡玮51单片机C语言开发与应用技术案例详解,化学工业出版社,201015339马忠梅单片机的C语言应用程序设计M,北京北航出版社,2003306210潘新民,王燕芳微型计算机控制技术M,高等教育出版社,200422511JUNLIANZHANGANDJIANXUNJIN,ANALYSISOFDCPOWERTRANSMISSIONUSINGHIGHSUPERCONDUCTINGCABLESJJOURNALOFELECTRONICSCIENCEANDTECHNOLOGYOFCHINA,2008223612SLEVIALDI,NATOASTONSIGITALIMAGEPROCESSINGJ1980546513POWERINTEGRATIONINCTOPSWICHGXDATASHEETSR2000121514POWERINTEGRATIONINCNATIONALSEMICONDUCTORDATASHEETSR2005333615CLOVISLTONDOSCOTTEGIMPELTHECANSWERBOOKSOLUTIONSTOTHEEXERCISESINTHECPROGRAMMINGLANGUAGER20003543致谢在本毕设的设计过程中,首先要非常感谢我的毕业设计老师徐进老师对我的辛勤指导,感谢老师在这一段时间里,对我悉心的不辞辛劳的指导和帮助。同时我还要感谢我的同学,在这段时间内,正因为有了他们的帮助,我才能够顺利的完成自己的毕业设计。在这漫长的一学期中,我遇到了种种的困难,有些是自己解决的,有些是在老师和同学的帮助下解决的。过程虽然艰辛,但是让我学到了很多知识,这在我以后的工作中会给予我很大的帮助。在整个毕业设计过程中,让我对大学四年所学进行了回顾,对我的专业知识有了很大的巩固,让我受益匪浅。在这里感谢学校对我的栽培;感谢学校里老师对我的教育;感谢同学们对我的帮助。回想四年里和同学们在一起的点点滴滴,是那么的令人怀念。大学四年,让我学到了理论知识,挺高了动手能力,增强了人际交往的能力,对我的综合实力都有了很大的提高。感谢我的大学。附录电路原理图GND1I/O2V3JS8B0CRK4LE加YMHZPF5P67T9XAABCGDEINOUTUQ附录主程序程序代码INCLUDEEXTERNGETTEMP/声明引用外部函数EXTERNUNSIGNEDINTIDATATEMPERATURE/声明引用外部变量VOIDDELAYUNSIGNEDINTI/ELSEIOSBITLS138AP22/管脚定义SBITLS138BP23SBITLS138CP24/此表为LED的字模,共阴数码管09UNSIGNEDCHARCODEDISP_TAB0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X40UNSIGNEDLONGLEDOUT5,LEDNUMVALVOIDSYSTEM_INITMOD|0X11TH10XD8/10TL10XF0IE0X8ATR11MAINUNSIGNEDCHARISYSTEM_INIWHILE1GETTEMP/以下将读18B20的数据送到LED数码管显示/LEDNUMVALTEMPERATURE/把实际温度送到LEDNUMVAL变量中IFTEMPERATURE27ZHILENGELSELEDOUT0DISP_TABLEDNUMVAL10000/1000LEDOUT1DISP_TABLEDNUMVAL1000/100LEDOUT2DISP_TABLEDNUMVAL100/10/十位LEDOUT3DISP_TABLEDNUMVAL10/个位FORI0I0IFORJ200J0J附录DS18B20子程序代码VOIDTEMPERATUERRESULTVOIDPID_BUFFREADIDCONFIG18B20INIT18B20WRITEBYTE0XCC/SKIPROMWRITEBYTE0X44/TEMPERATURECONVERTINIT18B20WRITEBYTE0XCC/SKIPROMWRITEBYTE0XBE/READTEMPERATUREPTEMP_BUFFGEMTEMPVOIDGETTEMPIFTIM100/每隔1000MS读取温度TIM0TEMPERATUERRESULT/T110MS中断中断/VOIDT1ZDVOIDINTERRUPT3TH10XD8/10TL10XF0TIMGANEMPLOYMENTTRIBUNALCLAIEMPLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHRE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论