基于单片机的太阳能热水器控制系统设计.doc_第1页
基于单片机的太阳能热水器控制系统设计.doc_第2页
基于单片机的太阳能热水器控制系统设计.doc_第3页
基于单片机的太阳能热水器控制系统设计.doc_第4页
基于单片机的太阳能热水器控制系统设计.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

VIP免费下载

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

文档简介

基于单片机的太阳能热水器控制系统设计摘 要当今社会资源日益紧张,环境污染愈加严重的情况下,太阳能热水器与传统的燃气热水器和电热水器相比有着无比的优越性,太阳能热水器的控制系统也随着科学技术的发展正在朝着智能化的方向发展。本课题是以MCS-51系列单片AT89S52为核心,并采用12864液晶显示模块,传感器温度采集模块,键盘,水温采集模块水位采集模块等,实现对太阳能热水器水位和水温的测量与控制,报警,做到既能手动操作,又能实现控制,从而很好的解决太阳能热水器使用过程中易受季节、气候影响、浪费水资源等缺点。关键词:单片机,太阳能,热水器,控制系统4242基于单片机的太阳能热水器控制系统设计ABSTRACTAs the resources on the earth more and more tight and the environmental pollution more serious , the solar water heaters have obvious advantages compared with the traditional gas water heaters and the electric water heaters, with the development of science and technology the solar water heater control systerm moving toward to intelligent direction. This design incorporates MCS-51 series single-chip AT89S52 as central process, and 12864 LCD module, sensor temperature acquisition module,the keyboard, completion time display of the temperature level, as well as the time and temperature setting, Making it in intelligent controlling, to slove the shortcomings of the solar water heaters using affect by the season, climate, wasting water, etc. Key words: the single-chip ,solar,water heater,control systerm目 录1 绪论11.1 课题研究的背景11.2 论文研究的目的意义11.3 论文的实际应用前景分析22 系统基本方案选择和论证32.1 单片机芯片的选择方案和论证32.2 显示模块的选择方案和论证32.3 时钟芯片的选择方案和论证42.4 温度传感器的选择方案和论证42.5 电路设计最终方案确定43 系统硬件电路设计53.1 系统功能模块划分53.2 时钟模块53.3 温度模块63.4 显示模块83.5 独立键盘模块113.6 蜂鸣器模块123.7 单片机模块133.8 电路原理图的绘制和电路的焊接154 系统软件设计194.1 软件系统的流程图194.2 温度信息的采集204.3 时钟的读取204.4 温度的显示控制214.5 键盘模块214.6 蜂鸣器模块225 总结23参考文献24致 谢25附 录261 绪论1.1 课题研究的背景太阳能是一种古老能源,也是一种安全、洁净、价廉、无污染的绿色能源。在传统化石燃料日趋枯竭的今天,太阳能作为新能源的一种,在多元化能源消费结构中占有重要地位,正越来越受到人们的重视1。科学家预测:二十一世纪太阳能将会得到大量运用。但是由于种种原因,有些技术难点尚未突破,产品的造价还是相对偏高(比如说光电池)。所以还是没有被人们大规模的利用。当今社会发展日新月异,人们衣食住行也在不断的提高。现有电热型热水器的费用比较昂贵还有一些燃气型的热水器也存着着一些不安全的地方,儿且排放的气体也会污染到大气层,我国北方地区使用煤气来取暖也会造成城市上空空气环境污染,PH2.5增加,这些都是太阳能热水器产生的一些外部条件。太阳能热水器可以克服了上述缺点,它能作为绿色环保产品投入使用。使用简单、方便。在太阳能热利用技术中,太阳能热水器算的上是技术上比较成熟、造价比较低廉的产品,同时给人民提供不耗能源、保护环境、绝对安全的热水而受到人们的欢迎2。随着技术的不断进步,转换效率的不断提高,太阳能热水器正在得到迅速的推广应用,方便着千家万户,太阳能热水器能够将太阳辐射能转换热能,供生产和生活使用。太阳能热水器包括2个系统组件:主系统部分是直接利用太阳光能为热水器进行加热;从系统相当于电热水器,在阴天的情况下利用电加热的手段辅助加热。1.2 论文研究的目的意义当今社会资源日益紧张,环境污染愈加严重,太阳能热水器与传统的燃气热水器和电热水器相比有一定的优越性。目前,中国已成世界上最大的太阳能热水器生产国,但市场上太阳能热水器的控制系统大多存在功能单一、操作复杂、控制不方便等问题。该课题采用单片机控制技术实现太阳能热水器水温、水位的自动检测与控制,漏电检测与报警,做到既能手动操作,又能智能控制,从而很好的解决太阳能热水器使用过程中易受季节、气候影响、浪费水资源等缺点。课题涉及到的内容测控系的学生都学过,完成毕业设计,有利于巩固所学单片机、C语言等方面的知识,增强理论联系实际的能力。同时,选题贴近日常生活,具有一定的应用价值3。本课题构思设计的太阳能热水器控制系统是以51系列单片机中的AT89S52为检测控制的中心处理单元, 采用DS1302时钟,不仅实现了时间,日历的显示,还能够储存自动开关机的定时时间,设计了键盘,还能够进行时间设定,控制功能,添加了DS18B20温度传感器,能够实时监测温度,还添加了12864液晶显示器,方便了人机交互功能。控制系统可以根据天气的情况以及人工控制定时的时间利用加热装置(电加热器)使蓄水箱里面的水温达到预先设定的温度, 从而就能达到了24小时供应热水的目的。 1.3 论文的实际应用前景分析目前,中国已成世界上最大的太阳能热水器生产国,年产量约为世界各国总和。但是与之相配套的控制系统却还是一直处于研究和开发阶段。没法做到智能化的处理,目前市场上太阳能热水器的控制系统大多存在功能单一、操作复杂、控制不方便等问题, 很多控制器只具有温度和水位显示功能, 不具有温度控制功能即使热水器具有辅助加热功能, 也可能由于加热时间不能控制而产生过烧, 从而浪费电能4。2 系统基本方案选择和论证2.1 单片机芯片的选择方案和论证方案一:采用89C51芯片作为硬件核心,89C51是一种带4K字节闪烁可编程可擦除只读存储器,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,89C51很多嵌入式控制系统提供了一种灵活性高且价廉的方案但是运用于电路设计中时由于不具备在线编程(ISP)技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插可能对芯片造成一定的损坏,目前该型号芯片已经停产5。方案二:采用AT89S52单片机,AT89S52单片机是ATMEL生产的单片机,是新一代8051单片机,指令代码完全兼容传统8051。内部集成看门狗电路。AT89S52单片机内部有8KB的程序Flash存储器。由于我们设计的烧写文件大概在7KB左右 ,而AT89S52单片机的程序Flash为8KB,不用再外接程序存储器了6。经过综合比较最终选择方案二,即选择AT89S52作为主控制器。2.2 显示模块的选择方案和论证方案一:LCD12864液晶是一种具有8位并行接口方式的点阵图形液晶显示模块,可以显示1616点阵的汉字,系统要求显示年月日、时分秒、星期、和农历。LCD12864液晶可以完成设计的要求 。12864是具有4位或者8位并行或者使用2线或着3线串行的一种多种接口方式的液晶显示器。12864液晶显示器内部含有简体中文字库的点阵图形其显示分辨率为12864,也就是12864个点, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.基本特性:工作温度: 0 - +55 ,存储温度: -20 - +60 方案二:系统采用LED显示。LED应用可分为两大类:一是LED单管应用,包括红外线LED等;另外就是LED显示屏,LED显示屏是由一些发光二极管排列组合而成成的显示器件。它采用的是低电压扫描驱动,采用LED数码管动态扫描.价格上比较经济实惠,但不能显示文字,性价比不是很高,操作起来比较液晶显示来说略显繁琐,所以也不用此种作为显示。经过综合比较最终选择方案一,即选择LCD12864液晶显示屏。2.3 时钟芯片的选择方案和论证方案一:采用单片机定时。单片机有很多优点,直接采用单片机定时计数器提供秒信号,计数的脉冲由外部提供,定时的脉冲由外部晶振提供,定时加1的周期为一个机器周期;定时时间与初值和晶振频率有关。使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案减少芯片的使用,节约成本,但程序复杂度较高。方案二:采用DS1302时钟芯片。DS1302它可以对年、月、日、星期、时、分、秒进行计时,采用的是两种电源的供电方式(主要电源和备用电源),DS1302可以进行数据记录,采用DS1302只需要写出驱动程序,调用程序读出寄存器内数据经过简单的变换就可以输出时间的数据7。经过综合比较最终选择方案二,即采用DS1302时钟芯片。2.4 温度传感器的选择方案和论证方案一:采用热敏电阻作为温度传感器。使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化,当采集两个电阻中间分压变化的值时,通过AD转换进行模数转换。此设计方案需用额外的A/D转换电路,增加硬件成本而且热敏电阻会产生较大的测量误差。方案二:采用DS18B20温度传感器。DS18B20是由DALLAS(达拉斯)公司生产的。体积较小,是一线总线接口的温度传感器。信息经过单线接口送入DS18B20或从DS18B20送出,因此从单片机到DS18B20仅需一条线连接即可。它可在1秒钟(典型值)内把温度变换成数字经过综合比较最终选择方案二,即采用采用DS18B20温度传感器。2.5 电路设计最终方案确定单片机AT89S52作为主控制器;选择LCD12864型液晶作为显示模块,此模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能;选择采用DS1302时钟芯片,使程序实现年、月、日、星期、时、分、秒,即农历阳历时间的显示。采用DS18B20温度传感器,可以对温度做出比较精确的测量,而且和单片机通讯只要一个IO,连接方便。利用继电器控制加热设备。3 系统硬件电路设计3.1 系统功能模块划分根据系统功能要求,可大致画出系统所需硬件结构框图如图3-1所示:数据处理模块MSC-51系列单片机键盘输入模块块12864显示模块电加热模块光敏电阻测量光照强度模块水位采集模块时钟模块温度采集模块报警模块图3-1 系统原理框图主控模块采用性价比较高的AT89S52单片机芯片,在其内部烧写好程序,可通过程序的运行控制测温模块进行测温;测温模块主要是由DS18B20构成,将其与所测对象进行接触即可获取被测对象的温度数据,而所测得的温度和时钟芯片测得的实时日历将通过显示模块的液晶显示器以数字形式显示;单片机调用程序,读取DS1302内寄存器,可以得到我们系统的时间数据,经过程序处理就可以输出在LCD上;键盘电路可对时间,日历进行调整;蜂鸣器可以在开启定时加热中,作为声音提醒。3.2 时钟模块DS1302为美国DALLAS公司的一种实时时钟芯片,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用32.768Hz晶振。它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302 可以用于数据记录,掉电不丢失。在本设计中,它的实际电路图如图3-2所示:图3-2 DS1302与单片机的连接DS1302需要外接32.768K的晶振,1号引脚接主电源VCC(5V)电源,8号引脚接备用电池(3V),当主电源掉电后,备用电源为DS1302提供电源,维持DS1302内数据不丢失,这正是时钟芯片所必须的特性。3.3 温度模块传统的温度检测系统大多数都是采用模拟采集,A/D转换,转换后的数字信号送入计算机处理,处理电路相对比较复杂、可靠性也相对较差,占用MCU的资源比较多,本设计测温模块采用一线制总线数字温度传感器DS18B20,可将温度的模拟信号直接转换成温度的数字信号送给微处理器,电路简单,其电路原理图如图3-3所示:图3-3 DS18B20温度模块从图中可看出,将温度传感器的一线制总线通过端口2与本设计主控芯片AT89S52的端口标号为DS18B20的相连即可实现相互之间的通信。设计中的测温元件采用的是DS18B20测温元件,DS18B20是由DALLAS(达拉斯)公司生产的一种温度传感器。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20很受欢迎。这是世界上第一片支持“一线总线”接口的温度传感器。DS18B20温度传感器提供了9位的(二进制)温度读数。信息经过单线接口送入DS18B20或从DS18B20送出,因此从单片机到DS18B20仅需一条线连接即可。它可在1秒钟(典型值)内把温度变换成数字。3.3.1 DS18B20的主要特征1.DS18B20的主要特征:从转换开始到结束全部都是数字温度的转换和输出;是单总线数据的通信方式;最高可以支持12位的分辨率,精度可以达到土0.5;最大分辩率的最大工作周期仅仅为750毫秒;检测温度范围为55+125;内置EEPROM,可以做上下限温报警功能;内置产品序列号,方便多机单总线挂接。2.DS18B20芯片其封装结构如下: 图3-4 DS18B20芯片封装图由其引脚可看出,其3个引脚: GND为电压地直接接地;DQ为单数据总线用来与单片机相连接,本系统中DS与单片机P2.6接口连接,仅此一个连接就能保证DS18B20与单片机之间的数据交换;VDD引脚接电源电压。3.3.2 DS18B20的工作原理DS18B20共有三种形态的存储器资源,分别是:ROM 只读存储器,用于存放DS18B20ID编码,它的前8位数据是单线系列的编码(DS18B20的编码是19H),后面的48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM, RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。我们在每一次读温度之前都必须进行复杂的且精准时序的处理,因为DS18B20的硬件简单结果就会导致软件的巨大开消。3.4 显示模块本设计显示模块主要采用LCD12864液晶显示器,其电路原理图如下:图3-5 LCD12864模块LCD12864液晶显示器通过数据端口也即端口714与主控芯片AT89S52的I/O端口P3相连接实现数据与指令的传输,再通过控制端口RS、RW、EN也即端口46与主控芯片P1.5,P1.6,P1.7端口相接实现对数据和指令传输的控制 。显示模块采用12864液晶显示器可实现对温度和时间的直接显示,清晰明了。 LCD12864的特征显示器部分是由KS0108液晶显示控制驱动器和12864液晶显示器组成的,下面我们对其分别进行介绍。3.4.1 液晶显示控制驱动器KS0108的特点KS0108液晶显示控制驱动器是一种带有驱动输出的图形液晶显示控制器,它可直接与8位微处理器相连,它可与KS0107配合对液晶屏进行行、列驱动。KS0108是一种带有列驱动输出的液晶显示控制器,它可与行驱动器KS0107配合使用,组成液晶显示驱动控制系统。1.内藏6464=4096位显示RAM,RAM中每位数据对应LCD屏上一个点的亮、暗状态;2.KS0108是列驱动器,具有64路列驱动输出;3.KS0108读、写操作时序与68系列微处理器相符,因此它可直接与68系列微处理器接口相连;4.KS0108的占空比为1/321/64。3.4.2 液晶显示控制驱动器KS0108的引脚功能引脚CS1,CS2, 为芯片的片选端;引脚 E 为读写使能信号,它是在下降沿时数据被锁存入KS0108的;在E 高电平期间,数据被读出;R/W 为读写选择信号,当它为一时为读选通,为零时为写选通;DB0-DB7为数据总线RST 为复位信号复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MCU相连,由MCU控制;也可直接接VDD,使之不起作用。KS0108的引脚功能如下表3-1所示:表3-1 KS0108的引脚功能引脚符号状态引脚名称功能CS1,CS2输入芯片片选端CS1和CS2低电平选通。E输入读写使能信号在E下降沿,数据被锁存(写)入KS0108;在E高电平期间,数据被读出R/W输入读写选择信号R/W=1为读选通,R/W=0为写选通RS输入数据、指令RS=1为数据操作 RS=0为写指令或读状态DB0-DB7三态数据总线RST输入复位信号复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MCU相连,由MCU控制;也可直接接VDD,使之不起作用。3.4.3 液晶显示控制驱动器KS0108的指令系统KS0108的指令系统比较简单,总共只有七种。常用的有3种现分别介绍如下:1. 显示开/关指令当DBO=1时,LCD显示RAM中的内容;DBO=0时,关闭显示。该指令用来查询KS0108的状态,各参量含义如下:BUSY:1-内部在工作 0-正常状态ON/OFF:1-显示关闭 0-显示打开REST: 1-复位状态 0-正常状态在BUSY和REST状态时,除读状态指令外,其它指令均不对KS0108产生作用。在对KS0108操作之前要查询BUSY状态,以确定是否可以对KS0108进行操作。2. 写数据指令读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。3. 读数据指令3.4.4 KS0108的软件设计点阵字模文件的建立:由于MGLS12864 液晶显示器没有字库,需要使用点阵字模库建立独立的字库包括以下几个方面:建立816 点阵常用字符、数字、符号字模库。采用字模软件提取字模。图3-6 816 点阵常用字符、数字、符号字模库建立所用到的1616 点阵字模库。采用字模软件直接提取了“冬腊月初”这几个字。图3-7提取字模大字体数字显示的取模,采用了宽x高=16x32 点阵方式,这样时间很清晰,如图3-8图3-8 16x32 点阵方式取模根据以上电路原理图中液晶的各引脚与单片机的接法,可得本设计的液晶模块电路:S接地;数字电源VDD接5V;数据、指令选择信号RS接单片机P1.5口;读写选择信号R/W接单片机P1.6口;使能信号接P1.7,DB0DB7分别接单片机的P3.0P3.7口;芯片1、芯片2的片选分别接单片机的P1.2、P1.3口;复位端RST接P1.4、背光正电源LEDA接5V;液晶自带对比度调节。3.5 独立键盘模块键盘是人与系统实现信息交互的接口,本设计中,我们采用3个独立键盘,电路原理如下图3-9:图3-9 独立键盘当按键按下,与主控芯片连接的端口被降为低电平,按键松开则也升为高电平。按键采用的是Tack Switch按钮开关,它具有自动恢复(弹回)的功能。当我们按下按钮时,其中的接点接通(或切断),放开按钮后,接点恢复为切断(或接通)。按照尺寸区分,电子电路或微型计算机所使用的Tack Swith可分为8mm、10mm、12mm等。虽然Tack Switch有4个引脚,但实际上,其内部只有一对a接点,即其中两个引脚是内部相连通的,而另外两个引脚内部也是相连通的。7个按键实现了开机模式选择,日期调节等功能,独立按键的引入使得体现了本设计的人性化,智能化,功能的强大。3.6 蜂鸣器模块蜂鸣器模块是本设计中体现人机交互的又一大设计亮点,其电路原理图:图3-10 蜂鸣器模块1.蜂鸣器的介绍(1)蜂鸣器的作用:蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。(2) 蜂鸣器的分类:蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两类。(3) 蜂鸣器的电路图形符号:蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。本设计里,我们采用有源蜂鸣器,由于蜂鸣器的工作电流一般比较大,以至于单片机的I/O 口是无法直接驱动的,所以要利用放大电路来驱动,我们使用三极管来放大电流,驱动蜂鸣器,此模块只要通过BELL(连接到到单片机P2.7)输入的PWM波既可以使蜂鸣器分出声音,我们的设计可以在闹钟定时中作为声音提醒信号。3.7 单片机模块3.7.1 AT89S52型单片机简介AT89S52是一种带8KB字节的可编程可擦出只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低电压,低功耗,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL公司高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。3.7.2 AT89S52引脚功能介绍AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。如图3-11所示。图3-11 AT89S52的管脚图 主电源引脚(2根)VCC:电源输入,接5V电源GND:接地线外接晶振引脚(2根)XTAL1:振荡电路的输入端XTAL2:振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,当引脚上出现了2个的机器周期以上高电平将就会使单片机复位。IO口(32根)AT89S52单片机有4组8位的I/O口,共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P系统的引脚接线根据其系统工作原理设计出如图3-12所示的引脚接线:图3-12 单片机最小系统电路3.8 电路原理图的绘制和电路的焊接在硬件的设计前期,根据框图对电路中可能出现的电路,进行了模拟实验,并根据实验结果对后期的硬件设计进行了合理化的修改完善。在前面已分析了系统并绘制了框图,并根据框图分别设计了各部分电路。由于温度传感器与时钟芯片集成度较高,所以在硬件电路设计时不需要太多其他元件即可实现预期功能。因此在PROTEL上对原理图进行了绘制,从而得出了最终的完整电路原理图附录1。 3.8.1 PCB制作 图3-13 PCB图当通过PROTEL绘制出完整的电路原理图后,就可以按照绘制好的原理图制作PCB了如图3-13,具体步骤如下:(1)打印电路板。将绘制好的电路板用转印纸打印出来,注意滑的一面面向自己,一般打印两张电路板,即一张纸上打印两张电路板。在其中选择打印效果最好的制作线路板。(2)裁剪覆铜板,也就是表面面都覆有铜膜的线路板,将覆铜板裁成电路板的大小,不要过大,以节约材料。(3)预处理覆铜板。用细砂纸把覆铜板表面的氧化层打磨掉,以保证在转印电路板时,热转印纸上的碳粉能牢固的印在覆铜板上,打磨好的标准是板面光亮,没有明显污渍。(4)转印电路板。将打印好的电路板裁剪成合适大小,把印有电路板的一面贴在覆铜板上,对齐好后把覆铜板放入热转印机,放入时一定要保证转印纸没有错位。一般来说经过2-3次转印,电路板就能很牢固的转印在覆铜板上。热转印机事先就已经预热,温度设定在90-1400摄氏度,由于温度很高,操作时注意安全。(5)腐蚀线路板,回流焊机。先检查一下电路板是否转印完整,若有少数没有转印好的地方可以用黑色油性笔修补。然后就可以腐蚀了,等线路板上暴露的铜膜完全被腐蚀掉时,将线路板从腐蚀液中取出清洗干净,这样一块线路板就腐蚀好了。腐蚀液的成分为浓盐酸、浓双氧水、水,比例为1:2:3,在配制腐蚀液时,先放水,再加浓盐酸、浓双氧水,若操作时浓盐酸、浓双氧水或腐蚀液不小心溅到皮肤或衣物上要及时用清水清洗,由于要使用强腐蚀性溶液,操作时一定注意安全。(6)线路板钻孔。线路板上是要插入电子元件的,所以就要对线路板钻孔了。依据电子元件管脚的粗细选择不同的钻针,在使用钻机钻孔时,线路板一定要按稳,钻机速度不能开的过慢。(7)线路板预处理。钻孔完后,用细砂纸把覆在线路板上的墨粉打磨掉,用清水把线路板清洗干净。水干后,用松香水涂在有线路的一面,为加快松香凝固,我们用热风机加热线路板,只需2-3分钟松香就能凝固。按照上面的流程,我们就做出来一块PCB电路板了。由于采用实验板成本更低,最后实物制作时采用了实验板焊接。3.8.2 元器件的焊接元器件装焊顺序依据的原则是:先低后高,先小后大。一般情况下,应按电阻、电容、二极管、三极管、集成电路、大功率管顺序焊接。(1)对元器件焊接的要求电阻的焊接:按图将电阻准确装入规定位置,型号标记要易见且方向也尽量一致。要求焊接一种规格后再焊接另一种规格。电容的焊接:按图将电容准确装入规定位置,并注意有极性电容的极性方向不能错。电容上的型号标记要易见见且方向也尽量一致。电解电容要紧靠PCB板,不可悬浮。二极管的焊接:正确辨认正负极性后按要求装入规定位置,型号标记要易见,焊接时间尽量可能短。三极管的焊接:正确辨认各引脚后按要求装入规定位置,型号标记要易见,焊接时间尽可能短。场效应管的焊接:正确辨认各引脚后按要求装入规定位置,焊接时间尽可能短。需要加散热片的,将接触面打磨光滑并加硅脂后再紧固。集成电路(芯片)的焊接:集成电路(芯片)焊接时,要注意按图纸要求检查型号、焊接位置是否符合要求,焊接时先焊芯片边沿的两只引脚,以便使其定位,然后再从左到右或从上到下进行逐点焊接。焊接时间尽可能短,禁止拉焊。(2) 焊接质量检查元器件不得有错装、漏装、错联和歪斜松动等。焊点应吃锡饱满,无毛刺、无针孔、无气泡、裂纹、挂锡、拉点、漏焊、碰焊、虚焊等缺陷。焊接后电路板上的金属件表面应无锈蚀和其它杂质。焊接完成的电路板不得有斑点、裂纹、气泡、发白等现象,铜箔及敷形涂覆层不得脱落、不起翘、不分层。元器件的引脚或引线表面应渗锡均匀。在完成电路的焊接后,测试之前,一定要先对电路检测,看是否有短路情况出现,以免芯片损坏。电源输入电压也是关键因素,在供电之前务必用万用表先测量。3.8.3 实物完成图在经过几次修改焊接定型后,我完成了我的实物设计,如图3-14图3-14 实物图4 系统软件设计KeilVision32 IDE是德国Keil公司开发的基于Windows平台的单片机集成开发环境,它包含一个高效的编译器、一个项目管理器和一个MAKE工具。其中Keil C51是一种专门为单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。系统软件设计中,我们使用了Keil Vision3。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势,所以我们选择该软件来开发我们的系统程序。4.1 软件系统的流程图图4-1 系统软件流程图当接通电源开始工作后,单片机中的程序开始运行,将对DS18B20进行初始化,以便和单片机芯片达成通信协议。完成初始化后,由于本系统只有一个测温元件,单片机会向其发出跳过RAM指令,接下来便可向其发送操作指令,启动测温程序,测温过程完成后,发出温度转换指令,从而便可将温度转化成数字模式进行显示读取;同时DS1302将读取时分秒星期以及年月日寄存器然后通过液晶显示实时时间、星期及日期;键盘电路中按键可对实时日历时钟进行调整。4.2 温度信息的采集通过DS18B20单线总线的所有执行处理都从一个初始化序列开始。初始化序列包括一个由总线控制器发出的复位脉冲和随后由从机发出的存在脉冲:(1)复位(2)存在脉冲。(3)控制器发送ROM指令(4)控制器发送存储器操作指令。(5)执行或数据读写: 4.3 时钟的读取4.3.1 DS1302控制字节的说明控制字节的最高有效位(位7)必须为1,如果它为0的情况,单片机就不能把数据正常写入到DS1302 中了,第6位如果为0,意思就是存或者取日历时钟的数据,如果为1的话就表示mcu存取RAM中的数据;位至位1表示操作各个单元的地址;最低有效位(位0)如果为0就表示MCU要进行写操作,如果为1的话就表示MCU要进行读操作,MCU控制字节的方式总是从最低位开始输出。 4.3.2 DS1302数据的输入和输出控制命令的字输入后的下一个SCLK 时钟的上升沿时数据被写入DS1302,数据输入从低位即位0 开始。同样,在紧跟8 位的控制指令字后的下一个SCLK 脉冲的下降沿读出DS1302 的数据,读出数据时从低位0 位至高位7。4.3.3 DS1302读写部分(程序)部分DS1302读写模块与单片机进行数据交换时,先有AT89S52单片机向电路发出命令字节,命令字节的最高位MSB(D7)必须为1,如果D7=0,则就会禁止写DS1302,就是写保护;如果D6=0,指定时数据,D6=1,指定RAM的数据;D5D1指定输入的寄存器;最低位MLB(D0)为逻辑0,指定写操作(输入),=1,指定读操作(输出)。图4-7 DS1302读写程序模块流程图4.4 温度的显示控制当所测温度从DS18B20输送到单片机上之后,下一步就是要将其在液晶显示器上显示出来。首先对液晶进行初始化,液晶显示器12864的初始化过程如下:先将复位引脚置高位即RST=1、数据传输方式设为并口方式即PSB=1(在设计中,我们将LCD的该引脚接VCC),然后将指令集调到基本指令集上来即写指令30H,再将显示打开、关光标、清除液晶里先前的显示内容即分别写指令0CH、01H,写指令时需分别延时5ms。然后就是数据的传送过程,要使数据在液晶显示器上显示必须要按照其读写操作时序来进行。4.5 键盘模块键盘模块的软件程序相对于温度模块和时钟模块比较简单。键盘模块的设计,关键是消陡。我们现在日常所使用的按键多为为机械开关,当触点在断开、闭合的状态,由于触点具有弹性作用,一个按键开关在闭合的时候不会马上就稳定下来,在断开的状态也不会一下子就完全断开。因此在闭合以及断开的瞬间均会伴随着一连串的抖动现象,为了不产生这种现象而作的措施就是按键消抖。按键的消抖,可用硬件或软件两种方法。因为硬件消抖需要添加额外的硬件,故这里我们采用软件消抖。软件方法去抖,即检测出键闭合后执行一个延时程序,6ms11ms的一段延时,让这段时间里,MCU不检测按键,等前沿抖动消失后,再去检测键的状态,如果任然还是保持闭合状态的低电平,那么就确定认为是真的有键按下了。4.6 蜂鸣器模块蜂鸣器模块的设计,主要是让单片机产生一定频率的电流信号,在我们的设计中,使用单片机通过程序输出方波信号,来产生蜂鸣器需要的信号,当闹钟定时结束时,就可以调用蜂鸣器程序,让蜂鸣器发出声音。当然,我们的系统再开机时会提醒用户是否开启按键时,蜂鸣器是否声音提醒,实现的方法是:我们在蜂鸣器中设置了flag标志位,当开机时,用户的选择会赋给flag标志位,从而由单片机判断是否让蜂鸣器工作,为了记录用户的选择,我们将flag标志位放在了DS1302的空闲寄存器中,以保证用户的选择不会因为系统的掉电而消失,当系统重新上电时,系统还可以恢复用户的选择。5 总结在硬件电路焊接和软件程序设计分别完成的基础之上,进行软硬件的结合与调试。通过下载将在电脑上已完成的程序下载到单片机芯片中。在调试中发现软件中存在的问题,及时解决问题,确保系统能正常工作并达到设计要求。通过反复的调试与实验,可以证明该系统能够较好地完成设计所需的基本要求。在完成软件系统时,刚开始我是用的是12M的晶振,所有器件正常,后来我换了11.0592M的晶振,结果温度就不正常了,经过认真排查才发现是由于DS18B20在数据读取时,对时间要求很精确,由于晶振的不同造成了读数据的错误,经过这次调试,让我更清晰的认识到了时序对元器件的重要性。在设计中,因为考虑到定时启动加热功能,我们希望我们设置的定时时刻不会因为系统的掉电而丢失,考虑到DS1302是有锂电池作为电源的,不会因为主系统掉电丢失内部数据,所以我们将闹钟的定时时刻放到了DS1302内的空余寄存器里面,像这些灵活的技巧就需要我们认真的阅读元件的数据手册,从中索取对自己有用的信息。经过本设计,让我学到了很多,让我认识到了学习基础知识的重要性,当设计完整的系统时,要考虑到硬件和软件两者的结合,有时硬件的不足,我们可以用软件程序来弥补,从而节约硬件成本,在设计软件程序时要模块化,可以提高程序的可读性。参考文献1刘福才,刘丰,刘立伟.AVR单片机在太阳能热水器智能控制器中的应用J.微计算机信息,1999年04期2王俊杰.基于89C51单片机的太阳能热水器只能控制器的设计J.郑州轻工业学院学报:自然科学版,2005(8):67-683刘小俊,黄鸿谞.基于单片机的太阳能热水器智能控制系统的设计J. PLC&FA,20094张景文,王震宏,高为浪,李桂花.基于单片机的太阳能热水器智能控制系统J.西华大学学报( 自然科学版),第27卷第5 期5刘文涛.单片机应用开发实例M.北京:清华大学出版社,2005.6童诗白,华成英. 模拟电子技术基础M 高等教育出版社,2000.7宋彩利,孙友仓,吴宏岐.单片机原理与C51编程M.西安:西安交通大学出版社,2008.8胥飞,戴 晔,盛纯.基于单片机的太阳能热水器出水恒温控制系统J.上海电机学院学报,第13卷第6期9张毅刚,彭喜元,姜守达,乔立岩.MCS-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,200310汉才.单片机原理及接口技术M.北京:清华大学出版社,199611海涛,马炳波,朱文峰.全自动热水器漏电保护电路分析J.家用电器,2002年第6期12群芳,肖看.单片机原理、接口及应用.北京:清华大学出版社,200713谭浩强.C语言程序设计.北京:清华大学出版社,200614义和,王敏男,许宏昌等.例说51单片机.北京:人民邮电出版社,200815坤,宋戈,赵红波等.51单片机C语言应用技术开发技术大全.北京:人民邮电出版社,200816延敏.51单片机典型系统开发实例精讲.北京:电子工业出版社,200917周丽娜.Protel99SE电路设计技术.北京:中国铁道出版社,200918王为青,程国钢.单片机Keil C51应用开发技术.北京:人民邮电出版社,200719ammad Ali Mazidi,Janice Gillispie,Rolin Mckinlay.The 8051 Microcontroller and Embedded Systems:Using Assembly and C,Second Edition.Pearson Education,200620 Tietze Ch. Schenk. Electronic Circuits. Handbook for Design and Application, Berlin, New York: SpringerVerlag,2005致 谢在论文即将完成之际,我要特别感谢我的指导老师王洋老师对我的热情关怀和细心指导。在我做毕业设计的整个过程中王老师都以她最大的可能来帮助我,教导我,跟着王老师做毕业设计,我学会了好多东西,这些都对我未来的工作和生活产生重大的影响。她仅仅是我们学术上的良师,更是生活中的益友。她以一个教育工作者热忱的心胸不厌其烦地指导着我们,教育者我们,使我们不仅学到了扎实的专业知识,更学到了做人的道理。她孜孜不倦悉心细致的教诲和严谨治学一丝不苟的工作作风使我永远都不能忘记。在此,特向她表示真诚的感谢。祝王老师身体健康,桃李满天下。同时,在我四年的大学生活中,也得到了很多老师、同学、朋友的支持和帮助,在此一并表示感谢,正是由于你们,才使我的大学生活更加丰富多彩,感谢你们。最后,感谢我即将离开的母校上海电机学院,

温馨提示

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

评论

0/150

提交评论