当前位置:文档之家› 51单片机水温水位控制系统

51单片机水温水位控制系统

摘要本温度设计采用现常见的89C51单片机,配以DS18B20数字温度传感器,该温度传感器可自行设置温度上下限。

单片机将检测到的温度信号与输入的温度上、下限进行比较,由此作出判断是否启动继电器以开启设备。

系统包括单片机模块、温度检测模块、水位检测模块和驱动电路设计四个部分。

文中对每个部分功能、实现过程作了详细介绍。

关键词: DS18B20数字温度传感器 89C51 水温水位目录一.概述 (3)1.1课题研究的目的及意义 (3)1.2技术指标 (3)二.总体设计方案 (3)三.详细设计方案 (3)1.1温度检测系统 (3)1.2水位检测系统 (5)四.元件说明 (6)1.1 工作原理 (6)1.2单片机的选择 (6)1.3温度传感器 (8)1.4水位传感器 (11)1.5 显示元件 (11)五.硬件模块设计 (12)1.1单片机模块设计 (12)1.2温度检测模块 (13)1.3水位检测模块 (14)1.4 控制模块 (15)1.5 驱动电路设计 (15)六.软件设计 (16)1.2 温度检测系统 (17)1.3 水位检测系统 (18)1.4 DS18B20主程序............................................ 错误!未定义书签。

七.结论 (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液晶显示电路以及报警电路、键盘输入参数等。

系统程序主要包括主程序,读出温度子程序,计算温度子程序、水位显示子程序、按键处理程序、12864液晶显示程序以及数据存储程序以及时间显示程序等4.2单片机的选择单片机的选择在整个系统设计中至关重要,要满足大内存、高速率、通用性、价格便宜等要求,本课题选择89C51作为主控芯片。

89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

它是美国ATMEL公司的低电压,高性能CMOS8位单片机。

89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。

89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

实物图如图4.1.2所示。

图4.1.2所示实物图1.2.1主要特性:⑴与MCS-51 兼容⑵4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年⑶全静态工作:0Hz-24Hz⑷三级程序存储器锁定⑸128*8位内部RAM⑹32可编程I/O线⑺两个16位定时器/计数器⑻5个中断源⑼可编程串行通道⑽低功耗的闲置和掉电模式⑾片内振荡器和时钟电路1.2.2管脚说明:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在 FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

相关主题