温度控制毕业论文家用空调智能温控系统设计与仿真.docx_第1页
温度控制毕业论文家用空调智能温控系统设计与仿真.docx_第2页
温度控制毕业论文家用空调智能温控系统设计与仿真.docx_第3页
温度控制毕业论文家用空调智能温控系统设计与仿真.docx_第4页
温度控制毕业论文家用空调智能温控系统设计与仿真.docx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

家用空调智能温控系统设计与仿真第一章 引言(一)课题研究背景随着科技的进步,社会的发展,以及温度传感器应用在各个领域,智能化已经成为现代温度测控系统发展的主要方向。空调家家户户都能用得到,随着时代的进步,现在的空调已经变得越来越智能化。到目前为止, 国内外各个公司开发的空调控制系统都已经摆脱了第一代、第二代的模拟化,都已经实现了数字化,也就是第三代智能化系统已经实现。这一代系统使用快捷、方便,所以许多工程上都应用了温度控制器。以单片机和温度传感器为基础完成了这个课题,这使我更加深入的把握了单片机的工作特点,还有体会到了理论知识和实践操作中的区别与联系,体会到了单片机应用非常的广泛。(二)课题研究的目的和意义社会在变革,时代在发展,温度测量及控制在时代的变革下也变得越来越重要。本设计通过单片机和温度传感器完成了温度控制系统。首先,温度传感器将室内温度收集起来,然后温度数据通过单片机显示在液晶屏LCD上,最后通过单片机的控制使温度保持在设定的范围内。所有的温度数据都要通过液晶显示器LCD完整的显示出来。相关的温度数据可以根据时钟存储。通过该课程的学习使我对空调系统中计算机控制有一个全面的了解,掌握了简单的计算机控制系统软硬件的设计方法,还学会了软件操作的能力,进一步锻炼了我在嵌入式控制方面的实际工作能力。(三)设计任务与要求系统要求利用单片机设计一个智能空调温控系统,能够实时的检测并显示室内温度,能够利用键盘设置温度,并且和室内温度进行比较,当设定的温度高于室内温度时,系统能够自动驱动加热系统工作,使室内温度升高,当设定温度低于室温时,系统能够驱动制冷系统工作,使室温降低,当两者的温度一样时,不做动作。 二、硬件电路设计(一)系统设计的框架我设计的本次系统大致框架如下图所示,它由八个模块组成,单片机是里面最主要的模块,它是这个系统的关键部分。图1 系统设计框架(二)单片机最小系统每个系统都有它本身的核心器件,单片机作为本次设计最重要的器件,下面简单介绍一下它的基本结构和它的最小系统。它为51系列的8位单片机,它由微处理器、程序存储器、数据存储器、四个八位I/O口、计数器、看门狗定时器等等。好多器件都有自己的最小系统,单片机也不例外,它的最小系统也不是完全一样,下图就是我设计的一个基本的最小系统。图2 单片机最小系统(三)、单片机的选型采用单片机STC89C52来完成本次的家用空调的智能温度控制系统,它的特点如下:1、STC89C52单片机简介目前,工业检测领域广泛的应用51系列单片机进行设备检测, STC89C52单片机为深圳宏晶科技有限公司生产的单片机,它也是51系列单片机,与C51单片机只有很小的区别,将微型计算机的各个组成部分集成到了一小块半导体硅片上。其中包括:片内振荡器;时钟产生电路;一个全双工UART串行I/O口;五个中断控制系统;两个定时器/记数器;四个并行I/O接口;4K片内程序存储器;一个数据存储器;一个8位的微型处理器CPU;内部总线。但是微调电容和石英晶体需要外接。最高的允许振荡频率是12MHZ。2、单片机的发展历史我把单片机的发展分为4个阶段,它们是:第一阶段:单片机初级阶段,初级阶段的单片机功能还很简单。只能完成很少的功能。第二阶段:低性能单片机阶段。低性能的单片机可以一次处理8位数据,这个阶段的单片机对单片机的改革与发展起到了一定的促进作用。第三阶段:高性能的单片机阶段。第四阶段:推出了16位的、32位的单片机,而且8位的单片机性能得到深度的完善。功能更加齐全。这个阶段的单片机可以完成工业控制的绝大部分的任务,推动了科技的飞速发展。3、单片机的应用 单片机凭借着它重量轻、体积小,应用到嵌入式系统较容易的特点,得到了特别广泛的应用。首先可以应用于大部分工业控制系统和检测系统中,可以实现智能控制和工业过程控制等一系列的控制;其次,还可以应用例如家用空调、电冰箱、电热水器等家用电器当中;再次,应用在通信领域,比如各类手机、传真机等;最后,应用在各大高科技领域,例如军事领域,参与导弹控制、各种雷达系统等;还可以用在医疗器械领域,比如智能血压计、普通CT仪等。可见,单片机给我们的生活带来了极大的便利,使我们的生活多姿多彩。4、STC89C52单片机时序STC89C52的一个机器周期由6个状态组成,分别是s1、s2、s3、s4、s5、s6,每个状态又持续2个(P1和P2)振荡周期。如果采用12MHz的晶体振荡器,那么每个机器周期为1us,在一般情况下,内部的寄存器到寄存器的传输一般发生在P2期间,而不是P1期间。5、STC89C52单片机的引脚介绍STC89C52单片机有40个引脚,有电源引脚端、时钟引脚、控制引脚、并行I/O口引脚等。这些引脚有的拥有双向功能,它们组合在一起,共同完成单片机大的强大功能。STC89C52单片机的封装有好多种,例如双列直插式、贴片式等。下图是它的一种最常见的封装。 图2.STC89C52单片机封装下面叙述一下引脚的功能。(1)电源引脚VCC和VSSVCC(40脚):接+5V电源正端;VSS(20脚):接+5V电源正端。(2)外接晶振引脚XTAL2和XTAL1XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它为反相运算放大器一个输入端,当采用外部时钟时,对于不同的单片机此引脚又有不同的接法,如表1所示:表1HMOS单片机引脚接地CHOMS单片机外部振荡信号输入端XTAL2(18脚):采用外部时钟时,如下表所示:表2HMOS单片机外部振荡信号输入端CHMOS单片机悬空不接而在单片机内部时,接到反相运算放大器输出端(3)控制引脚 控制引脚有ALE/PROG、EA/VPP、RST/VPD和PSEN等4种形式。(A)RST/VPD(9脚):复位,高电平有效,单片机的掉电保护或上电复位引脚。在它的上面加上2个周期的高电平,就会让它复位,它的内部各个部分都恢复到原位,就像长跑运动员都会到起点一样,程序就会从头开始执行,单片机内部全部清零。当正常的情况下,它为低电平。如果由于某些原因是单片机正常供电的电源不能正常工作了,那么就有可能使存在随机存储器里的数据丢掉。VPD就是在单片机不能正常通电时,提供一个应急电源。接上VPD后,就可以保证随机存储器中的数据不会因断电而消失,保证了存储的安全性。(B)ALE/ PROG (30脚):当访问外部存储器时(程序和数据存储器),它一个机器周期内两次把信号输出,来作为低8位锁存信号。(C)PSEN(29脚): 低电平有效,用来扩展外部存储器。扩展外部程序存储器时,由PSEN通知芯片,表示要从芯片中读取指令。对于内部存储器,PSEN无效,悬空。(D)EA/VPP(31脚):EA为第一功能端,外部程序存储器能不能进行访问的控制端口。当EA端为高电平时,单片机会按着由内到外的顺序执行程序,先执行片内的程序指令,如果超出了片内的范围,就会执行片外存储器的程序指令,如果EA为0时,只执行外部存储器的程序指令,片内的不起作用。VPP作为此引脚的第二功能,对片内存储器进行编程时,该引脚接入编程电压 (4)输入/输出(I/O)引脚(A).P0口(39脚22脚):由P0.0P0.7 口组成,当它作为输入/输出接口使用时,要必须要加上拉电阻,才能正常工作。当接扩展I/O口时,P0口为地址总线和数据总线的分时间的复合使用的端口。 (B).P1口(1脚8脚):P1.0P1.7口,有第一功能和第二功,在此就不赘述了。值得一提的是第二功能,一般只用P1.1和P1.0,而对于FLASH进行程序校验和编程时,可以用到P1.5、P1.6、P1.7。(C).P2口(21脚28脚):P2.0P2.7口,一般可用作准双向I/O口,不需要像P0口那样加上拉电阻,因为它内部自己具有电阻。 (D).P3口(10脚17脚):P3.0P3.7口。它有两个功能,第一个功能和P2口完全一样,第二功能见下表 表3 P3口第二功能的定义引脚第2功能P3.0RXD(串行数据输入口)P3.1TXD(串行数据输出口)P3.2INT0(外部中断0输入)P3.3INT1(外部中断1输入)P3.4T0(计数器0外部计数的输入)P3.5T1(计数器1外部计数的输入)P3.6WR(外部RAM写选通输出)P3.7RD(外部RAM读选通输出)综合上面所介绍的,可以归纳出下面两点:1).它许多引脚基本上都具备第2功能,这样就简化了引脚。2).它对外呈现3总线的形式,P0口作为数据总线,由P2、P1口作为地址总线。(四)温度传感器测量温度的原理及流程减法计数器斜坡累加器减到0减法计数器预 置低温度系数振 荡 器高温度系数振 荡 器计数比较器预 置温度寄存器减到0图3 测温原理内部装置初始化DS18B20跳过ROM匹配温度变换延时1S跳过ROM匹配读暂存器转换成显示码数码管显示图4 DS18B20测温流程(五)温度传感器电路DS18B20是美国的一家公司发明的,它是在模拟的基础上开发的数字温度传感器。它的集成度很高,本设计采用这个传感器有下面的原因: (1)系统的特性:测温范围是-55+125 ,测温的精度为士0.5;精度是9到12位,而且是可变的,并且能够二进制串行输出; 12位精度转换的最长时间是750ms;可以超低功耗的工作。(2)系统复杂称度: 本设计采用的温度传感器是一个单总线形式的元器件,一条总线上可以接许多个传感器,接法十分方便,只连接单片机的一个引脚,测温时不需要任何的外部元器件。(3)系统成本:体积特别小,而成本也非常低,只有十几块钱。所以它的应用特别广泛。如下图所示,它的结构非常简单只有三个引脚:电源引脚VDD、数据传输端口DQ 、 GND。DS18B20有两种供电方式:数据线供电、外部供电。对于第一种供电方式,DS18B20总线的上拉电阻由单片机的任意一个I/O接口来完成。本次设计我采用的是外部供电方式的温度传感器,它的原理图在下面,其中3脚接5V的电源,2脚接一个4.7V的上拉电阻,电阻另一端连接到3脚,并且接到单片机的P1.0口上,1脚则是接地就行。图5 温度传感器接口(六)系统电源电路的设计选择LM2596来完成我本次设计的电源部分,它是属于降压型的,集成度也很高,输出电流3A,输入24V的电压,而输出只有5V,稳定性非常好,负载调节特性能力非常强,线性性能相对来说也是比较好的。本器件有一些优点:在正常工作的情况下,振荡频率误差很小,它是小于15%的,输出电压的误差在4%以下;具有良好的自我保护电路,正常情况下, 80A的待机电流,就可以完全达到从外部断电的效果,既方便又省电。电源电路设计如下图10所示。图6 系统电源模块(七)LCD显示电路下图是液晶显示屏LCD1602原理图,它的接法如下: 1脚VSS:电源地。2脚VDD:电源正极。3脚VO:液晶显示对比度调节端。4脚RS:数据/命令选择端。5脚RW:读写选择端。6脚E:使能信号。脚:数据口。15脚:背光电源正极。16脚:背光电源负极。 图7 液晶显示接口电路(八)串口通讯电路采用MAX232A作为转换芯片,来完成通讯电路,它与MAX232内部原理基本上是一样的,只是外接电容不同而已。它的主要特点是:1、单5V电源工作。2、 LinBiCMOSTM工艺技术。3、 30V输入电平。4、 两个驱动器、两个接收器。5、低电源电流:典型值是8mA。下图中,16脚接VCC,15脚接地,14脚接TXD,13脚接RXD, MAX232A外围接一些电容。接口电路如下图所示:图8 串口通讯接口电路(九)按键接口电路本设计采用了四个键盘来实现功能,它们分别接到了单片机的P2.0、P2.1、P2.2、P2.3口,另外都接有10K的上拉电阻,电阻的另一端接在一起接5V的电源。电路图如下图所示:图8 键盘模块电路(十)DS1302时钟电路单片机的时钟电路如下图所示,它具有如下特点:1、 性能功高,功耗低。2、 带RAM的实时时钟电路。3、 工作电压为2.5V5.5V。4、 与CPU同步通信。它的接口原理图如下图9所示:图9 时钟接口电路(十一)存储器接口电路采用AT24C256为存储器芯片,用它来完成存储器的电路,它的管脚说明如下表:管脚名称功能A0 A1地址输入SDA串行数据/地址SCL串行时钟WP写保护VCC电源VSS接地NC悬空,不连接下图就是它的电路图。图10 存储器电路三、系统软件设计用主要用C语言来完成单片机编程的软件的设计,用它来实现所需的各种功能。主程序开始是先初始化,对单片机内部各个部分进行归位操作,然后,调用其他子程序完成整个系统的程序,实现要完成的功能。程序流程如图10所示。 开始初始化启动DS18B20读温度计算温度LCD显示图11系统程序流程图(一)计算温度的子程序本程序是读温度的程序。首先是开始,然后进行初始化,接着判断DS18B20是不是存在,如果存在执行ROM操作指令程序,还要执行存储器操作命令的程序,将数据存储在ROM中,最后,读取测量的温度值返回到主程序接着执行下面的程序。如果不存在,就说明温度传感器没有进行收集温度的操作,就直接返回到主程序。其程序流程图如图11所示。图12读温度流程图(二)按键处理子程序按键处理子程序参数设置,它分两层分析,首先判断enter键是不是按下,如果没有按下,说明键盘没有输入,就返回主程序。如果判断按键真的按下了,就进行第二层指令的判断,看看enter_flag是不是1,如果是1的话,也要像上面那样返回主程序。如果不是1,则判断是否由enter按下,如果是,则会执行enter子程序flag=1,返回上一级程序;如果不是接着看是不是up和down按下,如果不是,顺序执行下面程序;最后通过display程序返回判断enter_flag是否为1的程序;如果按下了,都要通过自己下面的子程序返回到第二层的enter_flag是不是为1的程序,接着进行判断。它的程序流程框图如图12所示。图12 温度转换流程图(三)计算温度子程序计算温度子程序主要负责将随机存储器中读取的值进行8421BCD码的转换运算,并判断是零上温度还是零下的温度。首先判断温度是零上还是零下,如果是零上的话,就要在温度数值的前面放上正号;接下来执行的是计算小数位温度BCD值的指令,之后执行计算整数位温度BCD值的程序,最后结束程序。如果温度是零下的话,就将温度值进行补码运算并且在前面加负号,接下来和上面一样,执行计算小数位温度BCD值的指令,之后,执行计算整数位温度BCD值的程序,最后结束程序。它的程序流程图如图13所示。开始温度零下?温度值取补码置“”标志计算小数位温度BCD值计算整数位温度BCD值 结束置“+”标志否是图13 计算温度子程序(四)显示数据是不是刷新子程序本程序主要是对数据进行刷新操作。首先执行程序,将温度数据移入显示寄存器,接着判断十位是不是0,如果十位不是0,说明不用进位,所以数据不需要刷新,结束程序。如果十位是0,接下来判断百位是不是0,如果百位不是0,则执行百位显示数据的程序,最后结束程序。当百位是0时,就说明数据需要更新,则执行十位数据显示符号百位不显示的程序。最后结束程序。完成数据的更新。程序流程图如图14。温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号) 结束否否是是图14 数据刷新子程序四、软件的应用 本次设计我采用的电脑软件有protel2004、proteus8、keil uv4来

温馨提示

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

评论

0/150

提交评论