《毕业论文之基于AT89C52的太阳能热水器控制系统.docx》由会员分享,可在线阅读,更多相关《毕业论文之基于AT89C52的太阳能热水器控制系统.docx(84页珍藏版)》请在三一办公上搜索。
1、编号:06023103 河南大学2010届本科毕业论文 基于AT89C52的太阳能热水器控制系统The Control System of the Solar Energy Water-heater based on AT89C52论文作者姓名:杨萍 作 者 学 号:06023103 所 在 学 院:计算机与信息工程学院 所 学 专 业:自动化 导师姓名职称:杜海顺(副教授) 论文完成时间:2010年5月20日 2010年5月20日河南大学2010届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号06023103姓名杨萍导师姓名职称杜海顺(副教授)开题时间2009年12月1日课题题目基
2、于AT89C52的太阳能热水器控制系统课题来源导师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1、目的:近些年来,太阳能的开发和利用已越来越受到人们的重视和青睐,因为节能、环保、使用方便等因素,太阳能热水器发展速度更是迅猛。安装太阳能热水器已成为房产开发商售房的诱人条件之一。在农村,随着农民生活水平的提高,太阳能热水器渐渐成为必备的家用装置。所以,普通太阳能热水器每次使用前需排水;不可缺水,空晒情况下上水会爆炸;冬天水温不够,需用电等问题急需解决。本设计通过单片机AT89C52控制A/D转换芯片、发光二极管、LED驱动芯片实现热水器液位及温度检测和显示,并实现相应控制
3、。使用户省心,使用方便,智能运行,用户不必做任何操作。2、意义:解决太阳能热水器现存的一些问题,实现一定程度的智能控制,方便用户,安全高效。3、现状:进入二十一世纪以来,随着生产工艺和生产技术的发展,人们对产品的要求越来越高。而随着新型电子技术和微型计算机的广泛应用与普及, 单片机控制系统以其控制精度高, 性能稳定、可靠, 设置操作方便, 造价低等特点, 被应用到太阳能热水器的控制中来,增强了系统的可视性, 使得温度及液位检测和显示系统更加智能化、人性化。研究目标、研究内容和准备解决的问题:1目标:通过设计一个基于AT89C52的太阳能热水器的温度和液位显示及简单的控制系统,从而实现一定程度的
4、智能控制,方便用户使用。2内容:利用集成温度传感器DS18B20和液位传感器LM1042分别进行温度检测和液位检测后,将检测到的信息传送给单片机,单片机经过相应的处理控制电磁阀的开启及温度和液位的显示。3准备解决的问题:如何实现温度及液位的显示,如何实现智能上水、缺水上水和手动上水的功能,如何实现输水管道排空水控制,在水箱上水或洗浴完毕后自动把上水管道内的水排出。拟采取的方法、技术或设计(开发)工具:软件环境:单片机端的程序开发环境采用Keil uVision3,开发语言是Keil C51。硬件环境:硬件电路原理图用Protel 99SE绘制。预期成果:1毕业设计成果太阳能热水器控制系统的设计
5、2毕业论文进度计划:2009.12.1 - 2010.3.5: 查找资料、搜集相关素材2010.3.6 - 2010.3.26:完成需求分析2010.3.27 - 2010.4.7: 完成概要设计2010.4.8 - 2010.4.15:完成详细设计2010.4.16 - 2010.4.28:完成编码2010.4.29 - 2010.5.4: 完成软件测试2010.5.5 - 2010.5.15:整理资料、撰写毕业论文2010.5.16 - 2010.5.20:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见:指导教师签名: 2009年12月1日河南大学2010届毕业论文(设计、创作)
6、任务书题目名称 基于AT89C52的太阳能热水器控制系统学院计算机与信息工程学院学生姓名杨萍所学专业自动化学号06023103毕业论文(设计、创作)要求1. 可行性分析:完成系统的技术可行性分析2. 系统设计:对系统中用到的关键技术进行初步设计3. 程序开发与调试:具体进行项目的开发4. 撰写论文:完成论文撰写毕业论文(设计、创作)进度安排2009.12.1 - 2010.3.5: 查找资料、搜集相关素材2010.3.6 - 2010.3.26:完成需求分析2010.3.27 - 2010.4.7: 完成概要设计2010.4.8 - 2010.4.15:完成详细设计2010.4.16 - 20
7、10.4.28:完成编码2010.4.29 - 2010.5.4: 完成软件测试2010.5.5 - 2010.5.15:整理资料、撰写毕业论文2010.5.16 - 2010.5.20:根据导师要求,完善毕业设计和论文需收集的资料和指导性参考文献1 郑郁正.单片机原理及应用.四川大学出版社.2003.2 求是科技.单片机典型模块设计实例导航(第2版).人民邮电出版社.20083 王庆. Protel 99 SE&DXP电路设计教程(附盘).电子工业出版社.20064 康华光.电子技术基础模拟部分.高等教育出版社.1999.5 谭浩强.C程序设计(第二版).清华大学出版社.19996 基于ns
8、p处理器的太阳能热水器智能控制系统.德州学院学报第23卷第6期.2007年12月7 基于数字温度传感器DS18B20的分布式测温系统的设计.吉林化工学院学报.第20卷 第3期.2003年9月8 指导教师签名:2009年12 月 8 日河南大学2010届毕业设计(论文、创作)中期检查表题目名称:基于AT89C52的太阳能热水器控制系统学院计算机与信息工程学院学生姓名杨萍所学专业自动化学号06023103一、毕业论文(设计、创作)进展情况已经搜集了大量有关系统硬件及软件设计的资料,并查阅了有关的书籍,通过参考这些资料,我已经勾画出系统硬件的整体框图及各模块的电路图。并根据系统框图和电路图,采用Pr
9、otel 99 SE 进行硬件原理图设计。后续工作是进行系统软件设计。二、毕业论文(设计、创作)存在问题及解决方案存在的问题:在数码管显示温度时,需要加两片驱动芯片,这样会导致单片机的I/O口不够用。解决方案:选用通用数码管驱动芯片ICM7218,一片即可。三、指导教师对学生毕业论文(设计、创作)进展方面的评语该生在做毕业设计的期间,积极认真,能够及时分析和解决遇到的各种问题。但是在数据捕获模块的数据显示存在界面冻结现象,希望在后续的工作期间,很好的解决这些问题。指导教师签名 2010年 4 月 10日河南大学2010届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号
10、06023103姓名杨萍专业自动化指导教师杜海顺(副教授)综合得分论文题目基于AT89C52的太阳能热水器控制系统指导教师评语及得分指导教师评语该生的课题选择立意新,论文叙述条理清晰、详略得当,并按时完成了项目所要求的功能,是一篇优秀的本科论文。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分指导教师签名 2010年5月20日评阅教师评语及评分评阅教师评语该生论文语句流畅,论点明确,思路清晰,符合本科论文的要求。评分项目分值评阅毕业论文(设计、创作)评
11、分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分评阅教师签名 2010年5月22日此表由教师填写河南大学2010届毕业论文(设计、创作)综合成绩表(二)学号06023103姓名杨萍所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语该生答辩过程中思路清晰,反应敏捷,论文结构合理,条理清楚,达到本科毕业设计和毕业论文要求的标准,经答辩小组评议,同意通过论文答辩。答辩委员签字: 2010年5月25日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况
12、(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分答辩委员会主任签字: 2010年5月25日毕业论文(设计、创作)成绩综合评定: 分综合评定等级:备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-
13、89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1. 目录;2. 内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3. 正文(含引言、结论等);4. 参考文献(或
14、资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目基于AT89C52的太阳能热水器控制系统姓 名杨萍所学专业自动化学 号06023103完成时间2010年5 月20日指导教师姓名职称杜海顺(副教授)承诺内容:1本毕业论文(设计、创作)是学生 杨萍 在导师 杜海顺 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2010 年 5 月 20 日 2010 年 5 月
15、20 日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容目 录摘 要当前能源紧缺,用电紧张,太阳能是绿色能源,得到广大用户的喜爱。本文介绍了用液位检测集成芯片LM1042、温度传感器DS18B20和A/D转换芯片ADC0804,以AT89C52 单片机作为主控元件的太阳能热水器液位和温度显示及控制系统。对太阳能热水器的控制系统进行了全新的智能设计,可以实现:水箱中水位、水温的智能控制与显示;自动排空水箱至淋浴器间管道(也是上水管道) 中的存水;智能处理再利用管道排空的水等。使太阳能热水器操作性能、利用功能、扩展范围、产品档次等诸多方面得到提高。解决了普通太阳能热水器上水
16、时水满益出;上(下) 水管道需要保温;使用前需要放出水管中大量冷水等问题。关键词:太阳能;液位控制;温度控制;水管排空Abstract With the current energy and power shortage, solar energy which is green energy is becoming more and more popular with the majority of users. This article describes the control system of solar energy water-heater based on a liquid le
17、vel detection LM1042, temperature sensor DS18B20, A / D conversion chip ADC0804 and AT89C52 microcontroller as a master device .Carried on an all new intelligence design to the control system, it can carry out: Intelligence controlling and manifestation of water level, water temperature in the water
18、 tank; Automatic emptying pipe line row between tank and shower machine to save water; The intelligence processing and making use of the water again. These improve the performance of the solar energy water-heater greatly. The system solves some problems which a common solar energy water heater exist
19、s such as, overflowing when the tank is full; the pipe line need a heat preservation ;Need to let out in great quantities cold water in the pipe line before use.Key words: solar energy; liquid control; temperature display; pipe line row empty第1章 绪 论1.1 开发背景及意义近些年来,太阳能的开发和利用已越来越受到人们的重视和青睐,因为节能、环保、使用方
20、便等因素,太阳能热水器发展速度更是迅猛。安装太阳能热水器已成为房产开发商售防的诱人条件之一,随着人们的消费意识、消费层次和消费要求的提高,普通太阳能热水器上水时水满溢出;冬天太阳能水温偏低;上(下)水管道需要保温;使用前需要放出管道中大量冷水等诸多弊病需要解决。针对上述问题,本文设计了以AT89C52单片机为核心的太阳能热水器智能控制系统,实现了水箱中水位及温度的智能控制与显示;自动排空水箱至淋浴器(上下水共用)管道间的存水;为了使排空管道时的水不浪费掉,在浴室内部又设置了一个室内水箱,以备他用。同时,也可实现手动上水,使用方便。使太阳能热水器系统的操作性能、利用功能、扩展范围、产品档次等诸多
21、方面实现质的飞跃。使用户省心、智能运行。1.2 本文研究的内容本文经过调研及收集相关技术资料,提出如下技术方案。以AT89C52为核心,利用液位传感器LM1042、测温元件DS18B20、发光二极管及数码管实现以下性能:l 水温数码显示,测温范围099,精度0.5;l 水位分五档显示(缺水、20、50、80、100);l 智能上水控制、具有缺水上水和手动上水等功能;l 输水管道排空水控制,在水箱上水或洗浴完毕后自动把上水管道内的水排出。系统控制和主要结构框图如图1.1所示:图1.1 系统组成框图第2章 系统硬件设计2.1 系统总体功能概述该系统以AT89C52作为核心控制部件,外加液位传感器、
22、测温元件、一片A/D转换芯片、五个发光二极管、两个数码管及驱动芯片来达到系统的性能要求。LM1042外接的热阻探针温度的变化依赖于周围材料的热阻的大小,而空气和液体的热阻大小有很大差别,从而可以根据探针在液体中的深度不同时电阻的不同检测出液位的深度信息,由LM1042内部转换电路网络转换为与液位成线性关系的电压信号,再由8位逐次逼近型A/D转换芯片ADC0804将模拟信号转换为数字信号,实现液位信息的输入。AT89C52从ADC0804读取液位信息后进行数据处理,结合DS18B20测得的温度进行液位和温度的显示及阀门的控制。图2.1为系统整体结构图:图2.1 系统整体结构图各部分功能: 1.电
23、源部分提供+5V电压供系统使用。 2.按键部分用来实现手动上水。 3.LM1042实现液位信息到电压信号的转换。4.ADC0804将液位传感器输出的电压信号经A/D转换后送到单片机。5.DS18B20实现温度检测。 6.AT89C52为处理器,实现液位信息和温度信息的接收、数据处理和输出到发光二极管和数码管显示。2.2 核心芯片选择核心控制系统采用ATMEL公司89系列的一款单片机AT89C52,此单片机包含一个8位CPU、256字节的片内RAM和片内Flash存储器、4个8位的双向可寻址I/O口、1个全双工UART的串行接口、3个16位的定时/计数器、多个优先级的嵌套中断结构(8级中断,可实
24、现多个优先级的嵌套)、一个片内振荡器和时钟电路。在AT89C52单片机结构中,显著的特点是内部含有Flash存储器,使用户在开发过程中十分容易修改程序,缩短系统的开发周期。同时,它继承了CMOS产品低功耗的特点,有两种产生低功耗的方式:空闲方式和掉电方式。在空闲方式下,CPU停止工作,RAM和其他片内的部件继续工作,此时的电流大约是正常工作方式下的15%。在掉电方式下,电流可降到15uA以下。AT89C52单片机有多种封装方式:PDIP封装、方形的PLCC和PQFP/TQFP封装,使用方便。其引脚结构图如图2.2:图2.2 AT89C52引脚图2.3 液位检测2.3.1 液位传感器 本次设计液
25、位传感器选用集成芯片LM1042,实现液位信号到电压信号的转换。LM1042是用于液位检测的专用集成电路,它内部集成了所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路,具有很强的功能。LM1042使用热阻探针技术来测量非可燃性液体的液面高度,它能提供一正比于液位高度的输出,可进行单次或重复测量,所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路都集成在LM1042芯片内部。此外该芯片还可采用其它传感器信号或线性输入作为输入信号。该器件采用16脚DIP封装。芯片的主要特点如下:l 可以选择热阻或线性信号作为输入;l 集成有热阻探针的控制电路;l 可单次测量或重复测量;l 在复位时切
26、换,延时功能可避免瞬态信号的影响;l 具有探针短路、开路检测功能;l 电源或控制输入端具有50V的瞬态电压保护电路;l 电源范围7.518V;l 内部有电源调节器;l 可在4080的工作温度范围内工作。热阻探针工作的基本原理是基于功率在探针上耗散,探针温度的变化依赖于周围材料的热阻的大小,由于空气和其它气体相对于水和油来说是热的不良导体,利用这一点有可能测量探针等浸入液体媒介的深度。其原理如图2.3所示:图2.3 测温原理图在测量周期中,一固定的驱动电流I施加到探针上,在测量的起始时刻和结束时刻探针两端的电压被采样,得到电压差V0由于空气的热阻RTHA大于油的热阻RTHO,由它们引起的温度变化
27、分别为T1和T2,相应的探针电阻也会随着改变为R1和R2差值,在每单位长度上产生相应的电压变化V1和V2。电压差V由下式给出:V=LAV1/L(LLA)V1/L由于V1V2,RTHARTHO,V会随着探针在空气中长度的增加而增大。在实际应用中,为获得最佳效果,探针需要具有高的温度系数和低的热阻时间常数,为避免误触发探针短路开路检测器,探针电压必须介于0.7V和5.3V之间,对于200mA的电流容许的探针阻值范围是3.5到24。在图2.4中,7脚和10脚是用于探针2的调整,由于本系统只用到探针1,故只需将7脚和10脚接地即可;1 脚是热阻探针输入端;5脚是探针故障检测端;6脚是电源端;3、4脚分
28、别接PNP管的发射极和集电极用于给探针提供200mA的固定电流;16脚为模拟电压输出端,输出与液位成正比的模拟电压;12、13脚用来调整探针的测量周期;9、14脚外接两个电容作为探针的记忆电容,记忆探针的电压值。图2.4 LM1042电路图2.3.2 AD转换电路由于LM1042输出的是模拟信号,须经AD转换器转换成单片机可处理的数字信号,且考虑到该装置是应用于太阳能热水器中,无需高精度,故选用8位AD转换器ADC0804进行AD转换即可。ADC0804型8位全MOS A/D转换器是中速廉价型产品之一。片内有三态数据输出锁存器,与微处理器兼容,输入方式为单通道,转换时间约为100s。它的非线性
29、误差为1LSB。电源电压为+5V。其引脚图如图2.5所示:图2.5 ADC0804引脚图 被转换的电压信号从Vin(+)和Vin(-)输入。允许此信号是差动的或不共地的电压信号,模拟地和数字地分别设置引入端,使数字电路的地电流不影响模拟信号回路,以防止寄生耦合造成的干扰。Vref/2端不必外接电源,悬空即可。/CS是片选端,/WR是控制芯片启动的输入端;/INTR是转换结束信号输入端,输出电平由高跳低则表示本次转换已经完成,可作为中断或查询信号。ADC0804片内有时钟电路,只要在外部“CLKR”和“CLK”两端外接一对电阻和电容即可产生A/D转换所需要的时钟,其振荡频率为fclk1/1.1R
30、C。本次设计选用R=10k,C=150pF,此时fclk640kHz。其与单片机的接口电路如图2.6所示:2.4 温度检测对水箱水温的测定,采用了较为先进的DS18B20集成模块温度传感器,该传感器将温度信号以数字量传给单片机,无需其他的外围电路,一条口线,电路简单,使用稳定,可以方便的实现单片机对温度参量的读取。DS18B20采用3脚PR_35封装或8脚SOSI封装,管脚排列如图2.7所示。 图2.7 DS18B20封装图DS18B20内部结构如图2.8所示,主要由4部分组成:64位ROM;温度传感器;温度报警触发器TH和TL;配置寄存器。考虑到系统功能的限制,传感器的报警功能没有使用。图2
31、.8 DS18B20的内部结构示意图单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。其基本的通信过程如下:l 主机通过拉低单总线至少480us产生复位脉冲。l 然后由主机释放总线,并进入接收模式。主机释放总线时,会产生一由低电平跳变为高电平的上升沿。l 单总线器件检测到该上升沿后,延时1560us。l 单总线器件通过拉低总线60240us来产生应答脉冲。l 主机接收到从机的应答脉冲后,说明有单总线器件在线,然后主机就可以开始对从机进行ROM命令和功能命令操作。所有的读、写时序至少需要60us,且每两个独立的时序之间至少需要1us的恢复时间。在写时序中,主机将在拉低总线15us之内
32、释放总线,并向单总线器件写1;若主机拉低总线后能保持至少60us的低电平,则向单总线器件写0。单总线器件仅在主机发出读时序时才向主机传输数据,所以,当主机向单总线发出读数据命令后,必须马上产生读时序,以便于单总线器件能传输数据。DS18B20可以使用外部电源VDD,也可以使用内部的寄生电源,无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。本系统选用外部电源,即在VDD端口接5V的电压。故单片机与DS18B20的连接图如图2.9所示: 图2.9 AT89C52与DS18B20的连接图2.5 显示电路2.5.1 温度显示电路常用的LED显示器有7段或8段,有共阴极和共阳极种。本次
33、设计选用的是7段共阴极。由于单片机I/O的电气特性决定了单片机的端口的驱动能力有限,一般的,单片机的端口只是驱动TTL电平,不提供或者提供很小的驱动电流,所以在带负载时,单片机应当在I/O口加上驱动芯片。本次设计选用ICM7218数码管驱动芯片。ICM7218 是INTERSIL公司生产的一种性能价格比较高的通用8 位L ED 数码管驱动电路,28 脚双列封装,可与多种单片机接口使用。ICM7218 的输出可直接驱动L ED显示器,不需外接驱动电路,其构成的显示电路结构简单,使用方便。ICM7218A显示电路如图2.10所示:图2.10 温度显示电路 本系统显示用的2位七段数码管由数码管专用驱
34、动芯片ICM7218A驱动,27、3、1、25、2、24、26脚分别接数码管的ag,15、16脚为位选,分别控制2位数码管的亮灭,ID07为数据线,接单片机P0口,/WRITE、MODE是写控制位和模式控制位,分别接单片机P2.5、P2.6。2.5.2 液位显示电路 考虑到热水器的液位显示只需给人以直觉上水量的多少(即当前水量占总容积百分比),而不必给出当前液位的具体数值。故选用5个发光二极管,用它们的亮灭来显示水位的五种状态。发光二极管、按键与单片机连线如图2.11所示:图2.11 发光二极管、按键与单片机连线图 1. 发光二极管发光二极管在两端的电压差超出其导通压降时开始工作,发光二极管的
35、导通压降一般约为1.71.9V。此外,工作电流要满足该二极管的工作电流,满足电流和电压的要求,二极管就可以发光了。单片机系统中往往是数字信号,其电源不是5V就是0V,所以只要将二极管的正负极和电源对应上就可以了。在发光二极管前面要接一个电阻,这个电阻的作用在于限制二级管的电流,从而达到减少功耗或者满足端口对最大电流的限制。一般二极管的点亮电流为5mA10mA,在5V电源驱动时,厂家多采用470 。限流电阻,在该设计中选用510,这样既不会超出单片机的I/O口最大限流,二极管也比较明亮。使用五个发光二极管来表示液位的五种状态:全亮时对应水满,全灭时对应缺水,仅D1亮时对应20,仅D1和D2亮时对
36、应40,D1、D2、D3亮时对应60,仅D5灭时对应80。2. 按键当有按键被按下时说明用户要手动上水。按键使用上拉电阻方式接入单片机。未按下时对单片机输入一个高电平,按下后输入一个低电平。键的闭合与否,反映在行线输出电压上就是呈现出高电平或低电平,如果高电平表示断开的话,那么低电平则表示闭合,所以通过对行线电平的高低状态的检测,便可以确认按键按下与否。为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响。3. 电磁阀电磁阀在本次设计中是输出设备,用来控制上下水,24V三极管电磁阀驱动电路图如图2.12所示。系统中用到三个电磁阀控制水箱和水管的连接。图2.12 电磁阀与单片机的连接目
37、前市场上的太阳能热水器大都装有管道保温装置,以防在冬天管道中的水结冰,即使不结冰,在使用前也要放掉管道中的全部冷水,不但给使用者带来了很多的不便,也对水资源形成了较大的浪费。为此设计了水管排空功能,在水箱下安装一个电磁阀,当关闭上水阀和水箱的阀门,停止向水箱加水后,开启通往小水箱的电磁阀门,则单向阀进气使水管内存水排至室内小水箱,完全把水管内的存留水排出水管,从而达到在使用时直接使用热水和节水的目的。电磁阀的开关全由单片机控制,在上水和洗浴完毕后单片机发出电磁阀1和电磁阀2关闭,电磁阀3开启的放水指令,10s后关闭电磁阀3,系统处在待命状态。同时打开电磁阀2和电磁阀3即可给室内水箱供水,供水完
38、毕后再执行管道排空水指令使整个系统处在待命状态。2.6 电源电路为了使单片机有一个稳定的工作环境,且各组件都正常的工作,特别制作了5V的直流稳压电源。电源电压器将220V的交流电压变为所需电压值,然后通过桥式整流电路将交流电压变成脉动的直流电压。由于其含有较大的纹波,必须通过滤波电路加以滤除,以得到平滑的直流电压最后通过稳压电路维持输出直流电压稳定。本电路的特点是:电源输出稳定,具有较好的抗干扰能力。输出标准的5V直流电压。给整个控制系统供电,电源电路如图2.13 所示:图2.13 电源电路图第3章 系统软件设计3.1 软件功能概述 在系统的硬件确定以后,功能完善的软件能够很好的指导和协调硬件
39、的工作,可使系统发挥其最大的作用,并且便利以后的更新换代升级。一个完整的系统都离不开对系统状态的监控,为了更好的协调软件、硬件各个部分正常工作,就必须对整个系统进行严密监控。在本系统中定时器T0中断服务程序担任液位数据读取、处理和输出显示任务,每隔一定的时间对A/D转换进行一次采样,并进行相应的处理,再经过发光二极管来实现液位的显示。而定时器T1中断服务程序担任温度数据读取、处理和输出显示任务,并经LED显示。而主程序完成的任务相对简单,它只是完成系统初始化及检测是否有键按下等工作。若有键按下,则进入手动上水模式。3.2 主程序设计图3.1 主程序流程图在本系统中主程序完成的任务相对简单,它只
40、是完成初始化等工作而进入按键查询等待方式。主程序的初始化主要包括:DS18B20初始化、T0和T1的初始化并启动T0。按键查询主要是S1键,当功能键S1按下就转入手动上水子程序,每按一次上水一个档位。主程序流程图如图3.1所示。3.3 定时器T0中断程序T0定时时间为1S,即每隔1S执行一次T0中断服务程序。该程序完成的任务比较多,主要包括:(1)温度信息的采集和显示;(2)读取、显示和处理液位信息。至于完成哪项任务由标志位TW决定。T0中断服务程序流程图如图3.2所示:由于液位和温度均是变化比较缓慢的量,故只需每隔一定时间检测一次。图3.2 T0中断程序流程图在此选定1s检测一次,即1s进行
41、一次A/D转换。由于本系统所用晶振为12MHZ,默认为12分频,故定时器每计时一次用时为12/11.0592s,约为1s。因为定时器为16位定时器,故最多计时65536次,即计时65536s=65.536ms,此处用定时器T0定时50ms,则当定时器定时20次,共定时2050ms=1s,满足系统需求。T0定时50ms即计时50000次,则定时器初值为TH0=(65536-50000)/256=0x3c,TL0=(65536-50000)%256=0xB0。3.4 定时器T1中断程序当停止上水和洗浴完毕时,关闭电磁阀1、2,开启电磁阀3,从而排空管道水,10s后关闭电磁阀。用T1来定时10S,其
42、定时方式同T0,定时200次。T1中断程序的流程图如图3.3所示:图3.3 T1中断程序流程图 3.5 A/D转换及液位显示程序A/D转换子程序主要完成A/D值的读取、处理及液位信息的显示。因为ADC0804进行A/D转换的过程中/INTR=1,转换完成后/INTR=0,故启动A/D转换后要先检测/INTR,当/INTR为低电平时才进行A/D值读取操作。将读取得到的8位液位值,并经发光二极管显示。其流程图如图3.4所示,事先测得水满时的液位,用wlmax表示,且用十六进制表示,令wl=wlmax/5。图3.4 A/D转换及液位显示程序流程图3.6 温度采集程序温度采集子程序的功能是对DS18B
43、20进行初始化、查询温度采集和转换是否完成,并且完成对温度数据的处理以便送LED显示。其程序流图如图3.5所示:图3.5 温度采集程序3.7 温度显示程序LED显示子程序主要完成温度值的显示,本系统采用数码管专用驱动芯片ICM7218驱动2位七段数码管用于温度值的显示,只需要把要显示的数据写入ICM7218的RAM中即可,由于该芯片默认驱动8位数码管,必须写入8字节显示数据,而此系统只用低2位,只需把高6位置为随机数即可,故先通过ICM7218的控制位WR=0和MODE=1使芯片工作于方式1,写入控制字B*H,即选择BCS码译码选择模式,然后使MODE=0使芯片工作于方式0,写入8字节数据即可
44、完成温度值的LED显示。温度显示子程序流程图如图3.6所示图3.6 温度显示子程序结论本次毕业设计主要是为了改善太阳能控制系统的功能,实现液位和温度的检测与显示,上水控制及输水管道排空水控制。该控制系统基本上考虑了太阳能热水器的功能扩展和档次提升的空间。通过反复实验,系统的程序执行状况、模拟效果演示均是令人满意的。整个系统存在如下特点:具有一定程度的智能性,可实现自动上水及液位和温度信息的显示,自动排空管道中的存水以节约用水且方便下次使用。但也存在一些不足。受AT89C52资源的限制,没有设计看门狗电路。另外没有加入加热装置,所以水温受天气影响较大。本次毕业设计让我进一步巩固了四年来学习的理论知识,还要做到理论与实践相结合。如机型和元器件的选择,要以性价比高为原则,以组成最小最优化的系统,硬件和软件在一定程度上具有互换性,多用软件可节省成本,这些都是在设计中应该考虑的。学到了许多课本上学不到的知识软件,通过这次毕业设计使动手能力和理论知识有了很大的提高。参考文献1 郑郁正.单片机原理及应用.四川大学出版社.2003.2 求是科技.单片机典