单片机 DS18B20 水温控制系统设计
一.引言
在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或 PN 结测温电路经过相应的信号调
理电路,转换成 A/D 转换器能接收的模拟量,再经过采样/保持电路进行 A/D 转换,最终送
入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、
不易控制且精度不高。本文介绍单片机结合 DS18B20 水温控制系统设计,因此,本系统用一种
新型的可编程温度传感器(DS18B20),不需复杂的信号调理电路和 A/D 转换电路能直接与单
片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。
目录
一.引言...
二.设计目的...
三.系统功能...
四.系统设备...
五.温度控制总体方案与原理...
1.系统模块图...
2.系统模块总关系图...
六.温度转换核心及其算法...
1.温度传感器 DS18B20 原理与特性...
DSl8B20 的管脚及特点...
DS18B20 的内部结构...
DS18B20 的内存结构...
DS18B20 的测温功能...
DSl820 工作过程中的协议...
温度传感器与单片机通讯时序...
2.温度转换算法及分析...
七.硬件设计说明...
1.系统总体电路图...
2.各个模块电路图...
输入系统...
输出系统...
芯片系统...
八.软件设计说明...
1.总模块的流程图...
2.各个模块的流程图...
读取温度 DS18B20 模块的流程...
键盘扫描处理流程...
九.操作指引...
按键功能...
显示温度...
设定温度...
十.参考文献...
程序源代码...
二.设计目的
设计并制作一个水温自动控制系统,控制对象为 1 升净水,容器为搪瓷器皿。水温可以在一定范
围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。
利用单片机 AT89S52 实现水温的智能控制,使水温能够在 40-90 度之间实现控制温度调节。利
用仪器读出水温,并在此基础上将水温调节到我们通过键盘输入的温度(其方式是加热或降温),
而且能够将温度显示在我们的七段发光二极管板上。
三.系统功能
1. 可以对温度进行自由设定,到那时必须在 0-100 摄氏度单位内,设定时可以适时的显示说设
定的温度值,温度是可以自由设置的,传感器的检测值与设定的温度比较,可以显示在七段发光
二极管上。
2. 温度由 1 台 1000w 电炉来实现,如果温度不在 40-90 度之间,则在 LED 上显示“8888”,表示
错误。
3. 能够保持不间断显示水温,显示位数 4 位,分别为百位,个位,十位,和小数位。(但由于规
定不超过 90 度,所以百位也就没有实现,默认的百位是不显示的)
四.系统设备
ME300B 最小系统板
DS18B20 数字温度传感器(集成了 A/D 转换功能)
1000W 电炉
温度计
继电器
风扇
盛水器皿
五.温度控制总体方案与原理
1.系统模块图
系统模块分为:DS18B20 模块,显示模块,继电器模块,键盘输入模块,DS18B20 可以被编程,
所以箭头是双向的,CPU(89S52)首先写入命令给 DS18B20,然后 DS18B20 开始转换数据,转
换后通过 89S52 来处理数据。数据处理后的结果就显示到数码管上。
<单片机 DS18B20 水温控制系统设计总体图>
1.系统模块总关系图
本系统的执行方法是循环查询执行的,键盘扫描也是用循环查询的办法,由于本系统对实时性要
求不是很高,所以没有用到中断方式来处理。
六.温度转换核心及其算法
1.温度传感器 DS18B20 原理与特性本系统采用了 DS18B20 单总
线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路
的复杂度,以及算法的要求。首先先来介绍一下 DS18B20 这块传感
器的特性及其功能: DSl8B20 的管脚及特点 DS18B20 可编程温度传
感器有 3 个管脚。(如图:1) GND 为接地线,DQ 为数据输入输出接
口,通过一个较弱的上拉电阻与单片机相连。VDD 为电源接口,既
可由数据线提供电源,又可由外部提供电源,范围 3.O~5.5 V。
本文使用外部电源供电。主要特点有: 1. 用户可自设定报警上下限
温度值。 2. 不需要外部组件,能测量-55~+125℃ 范围内的温度。
3. -10℃ ~ +85℃ 范围内的测温准确度为±0.5℃ 。 4. 通过编程
可实现 9~l2 位的数字读数方式,可在至多 750 ms 内将温度转换成
12 位的数字,测温分辨率可达 0.0625℃ 。 5. 独特的单总线接口
方式,与微处理器连接时仅需要一条线即可实现与微处理器双向通