摘要本温度设计采用现常见的89C51单片机,配以DS18B20数字温度传感器,该温度传感器可自行设置温度上下限。单片机将检测到的温度信号与输入的温度上、下限进行比较,由此作出判断是否启动继电器以开启设备。系统包括单片机模块、温度检测模块、水位检测模块和驱动电路设计四个部分。文中对每个部分功能、实现过程作了详细介绍。关键词:DS18B20数字温度传感器89C51水温水位目录一.概述........................................................................................................31.1课题研究的目的及意义...................................................................31.2技术指标...........................................................................................3二.总体设计方案........................................................................................3三.详细设计方案........................................................................................41.1温度检测系统...................................................................................41.2水位检测系统...................................................................................6四.元件说明................................................................................................61.1工作原理..........................................................................................61.2单片机的选择...................................................................................71.3温度传感器.......................................................................................91.4水位传感器.....................................................................................121.5显示元件........................................................................................13五.硬件模块设计......................................................................................151.1单片机模块设计.............................................................................151.2温度检测模块.................................................................................161.3水位检测模块.................................................................................171.4控制模块........................................................................................191.5驱动电路设计................................................................................20六.软件设计..............................................................................................201.2温度检测系统................................................................................211.3水位检测系统................................................................................221.4DS18B20主程序............................................................................25七.结论......................................................................................................25八.参考文献..............................................................................................25附录..........................................................................................................26单片机与显示器件连接图..........................................................................27系统软件源代码..........................................................................................27一.概述1.1课题研究的目的及意义目前市场上太阳能热水器的控制系统大多存在功能单一、操作复杂、控制不方便登问题,很多控制器只具有温度和水位显示功能,不具有温度控制功能。即使热水器具有辅助加热功能,也可能由于加热时间不能控制而产生过烧,从而浪费电能。鉴于此,我以89C51单片机为检测控制核心,采用LED12864显示温度和时间,设计了一种太阳能热水器微控制器,不仅实现了时间、温度和水位参数的实时显示,而且具有时间设定、温度设定、水位设定与控制功能,停电后再来电时也不用重新设定。1.2技术指标设计并制作一个基于单片机的温度控制系统,能够对炉温进行控制。炉温可以在一定范围内由人工设定,并能在炉温变化时实现自动控制。若测量值高于温度设定范围,由单片机发出控制信号,经过驱动电路使加热器停止工作。当温度低于设定值时,单片机发出一个控制信号,启动加热器。通过继电器的反复开启和关闭,使炉温保持在设定的温度范围内。⑴温度设定范围为0~99℃,最小区分度为1℃,温度控制的误差≤1℃⑵能够用数码管精确显示当前实际温度值⑶按键控制:设置复位键、加一键、减一键二.总体设计方案以89C51为主控制芯片,温度采集采用DS18B20温度传感器,通过外围电路来采集水位,用液晶LED12864显示当前的水位、水温和时间,并且通过键盘来输入日期数据以及所需控制的水位水温。并且当水温水位超于限制时启动报警系统。如图2.1总体设计方案图所示。图2.1总体设计方案图三.详细设计方案3.1总体结构设计方案一:测温电路的设计,可以使用DS18B20温度传感器利用其感温效应,在将随被测温度变化的电压或电流采集后,把采样得到的模拟信号送入ADC0809进行A/D转换读入单片机进行A/D转换后,通过串行口输入,就可以用单片机进行数据的处理,同时在显示电路上,就可以将被测温度显示出来。方案二:考虑使用温度传感器,结合单片机电路设计,采用一只DS18B20温度传感器,直接读取被测温度值,之后进行A/D转换,依次完成设计要求。比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。在本系统的电路设计方框图如图3.1.1.2所示,它由三部分组成:⑴主控芯片89C51;⑵数据显示部分;⑶传感器部分。图3.1.1温度计电路总体设计方案(1)控制部分采用传统的数字模似电路,功能可以实现,但电路复杂,温度误差大,成本高,可靠性也比较差;于是我选择采用单片机89C51控制,它结构简单,可以减少外围电路的搭接,并且89C51使用方便,成本比较低,性能稳定,还可以控制各模块输入输出。但是由于其不能直接进行模数转换,因此要做外围电路设计中加AD0809芯片。(2)显示部分TC1602的液晶字符性显示器也适合运用于此控制系统当中的,并且功能特性也适用于此设计系统的功能要求。但我还希望此显示系统中能同时显示时间(年月日),所以1602可能就显得力不从心了,于是我选择了液晶LED12864,它的显示特性很适用此设计系统的功能要求,也不会造成资源浪费。(3)传感器部分DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。数字温度传感器DS18B20把采集到的温度经数模转换后通过数据引脚传到单片机的P1口,单片机接受温度并存储。此部分只用到DS18B20、AD0809和单片机,硬件很简单。单片机DS18B20LED显示指示灯加热继电器3.2水位检测系统对于水位进行控制的方式有很多,而应用较多的主要有3种,三种方式的实现如下:方案一:简单的机械式控制方式。其常用形式有浮标式、电极式等,这种控制形式的优点是结构简单,成本低廉。存在问题是精度不高,不能进行数值显示,另外很容易引起误动作,且只能单独控制,与计算机进行通信较难实现。方案二:利用单片机进行水位检测和控制,基于数字电路的全自动控制,其工作过程是被测水位经过模拟信号采集模块进行采样,然后把采样得到的模拟信号送入ADC0809进行A/D转换读入单片机,再由单片机进行处理,得出结果是否启动/停止控制电路执行信号以达到水位的控制,具体硬件流程框图入图3.2.1所示。图3.2.1方案二具体流程框图方案三:采用89C51单片机为核心控制器的电路。因为单片机电路结构简单成本低廉、可靠性高,便于实现各个控制功能能很好的完成设计任务。水位检测由本设计使用的RC充放电水位传感器通过检测来实现水位的改变。然后通过A/D转换把信号输入到单片机,获得当前水位显示。综合以上三种方案,方案一和方案二由于缺少温度检测模块,而水温也是影响太阳能热水器很重要的一方面:比如说水箱中水温度过高导致水沸腾这时候虽然水所在刻度不是满的,实际上已经溢出,这样说来方案一和方案二的设计算不上智能。方案三是在方案二的基础上完善和加强的,采用单片机键的双边通信,比起方案二更加方便,也更加合理。四.元件说明4.1工作原理本文阐述了