摘要本温度设计采用现常见的89C51单片机,配以DS18B20数字温度传感器,该温度传感器可自行设置温度上下限。单片机将检测到的温度信号与输入的温度上、下限进行比较,由此作出判断是否启动继电器以开启设备。系统包括单片机模块、温度检测模块、水位检测模块和驱动电路设计四个部分。文中对每个部分功能、实现过程作了详细介绍。关键词:DS18B20数字温度传感器89C51水温水位目录一.概述........................................................................................................31.1课题研究的目的及意义...................................................................31.2技术指标...........................................................................................3二.总体设计方案........................................................................................3三.详细设计方案........................................................................................31.1温度检测系统...................................................................................31.2水位检测系统...................................................................................5四.元件说明................................................................................................61.1工作原理..........................................................................................61.2单片机的选择...................................................................................61.3温度传感器.......................................................................................81.4水位传感器.....................................................................................111.5显示元件........................................................................................11五.硬件模块设计......................................................................................121.1单片机模块设计.............................................................................121.2温度检测模块.................................................................................131.3水位检测模块.................................................................................141.4控制模块........................................................................................151.5驱动电路设计................................................................................15六.软件设计..............................................................................................161.2温度检测系统................................................................................171.3水位检测系统................................................................................181.4DS18B20主程序...............................................错误!未定义书签。七.结论......................................................................................................18八.参考文献..............................................................................................18附录..........................................................................................................18单片机与显示器件连接图..........................................................................18系统软件源代码..........................................................................................18一.概述1.1课题研究的目的及意义目前市场上太阳能热水器的控制系统大多存在功能单一、操作复杂、控制不方便登问题,很多控制器只具有温度和水位显示功能,不具有温度控制功能。即使热水器具有辅助加热功能,也可能由于加热时间不能控制而产生过烧,从而浪费电能。鉴于此,我以89C51单片机为检测控制核心,采用数码管显示温度,设计了一种太阳能热水器微控制器,实现了温度和水位参数的实时显示,具有温度设定、水位控制功能。1.2技术指标设计并制作一个基于单片机的温度控制系统,能够对炉温进行控制。炉温可以在一定范围内由人工设定,并能在炉温变化时实现自动控制。若测量值高于温度设定范围,由单片机发出控制信号,经过驱动电路使加热器停止工作。当温度低于设定值时,单片机发出一个控制信号,启动加热器。通过继电器的反复开启和关闭,使炉温保持在设定的温度范围内。⑴温度设定范围为0~99℃,最小区分度为1℃,温度控制的误差≤1℃⑵能够用数码管精确显示当前实际温度值⑶按键控制:设置键、加一键、减一键二.总体设计方案以89C51为主控制芯片,温度采集采用DS18B20温度传感器,通过外围电路来采集水位,用四位数码管显示当前的水温,用LED灯指示水位,并且通过键盘来输入所需控制的水温。并且当水温水位超于限制时启动报警系统。如图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)显示部分四位一体的共阳数码管,(3)传感器部分DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。这一部分主单片机DS18B20LED显示指示灯加热继电器要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。数字温度传感器DS18B20把采集到的温度经数模转换后通过数据引脚传到单片机的P1口,单片机接受温度并存储。此部分只用到DS18B20、AD0809和单片机,硬件很简单。3.2水位检测系统对于水位进行控制的方式有很多,而应用较多的主要有3种,三种方式的实现如下:方案一:简单的机械式控制方式。其常用形式有浮标式、电极式等,这种控制形式的优点是结构简单,成本低廉。方案二:利用单片机进行水位检测和控制,基于数字电路的全自动控制,其工作过程是被测水位经过模拟信号采集模块进行采样,然后把采样得到的模拟信号送入ADC0809进行A/D转换读入单片机,再由单片机进行处理,得出结果是否启动/停止控制电路执行信号以达到水位的控制,具体硬件流程框图入图3.2.1所示。图3.2.1方案二具体流程框图方案三:采用89C51单片机为核心控制器的电路。因为单片机电路结构简单成本低廉、可靠性高,便于实现各个控制功能能很好的完成设计任务。水位检测由本设计使用的电极式水位传感器通过检测来实现水位的改变。获得当前水位并通过LED灯显示。综合以上三种方案,方案一和方案二由于缺少温度检测模块,而水温也是影响太阳能热水器很重要的一方面:比如说水箱中水温度过高导致水沸腾这时候虽然水所在刻度不是满的,实际上已经溢出,这样说来方案一和方案二的设计算不上智能。方案三是在方案二的基础上完善和加强的,采用单片机键的双边通信,比起方案二更加方便,也更加合理。A/D转换输出控制单片机控制水位水位传感器四.元件说明4.1工作原理本文阐述了基于单片机的水温水位控制系统的设计方法,此种方法是以89C51单片机为主控制单元,对水温水位参数进行控制,从而提高了电器的工作稳定性。以DS18B20为温度传感器的对水温进行数据采集并实现温度控制。该控制系统还可以实时存储相关的温度数据以及水位高度并能记录当前的时间。为了实现功能本系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括89C51单片机最小系统,测温电路、测水位电路、LCD12864液晶显示电路以及报警电路、键盘输入参数等。系统程序主要包括主程序,读出温度子程序,计