1、1 课程设计任务书课程设计任务书 题题 目目: : 基于基于 DS18B20DS18B20 的水温控制系统设计的水温控制系统设计 专专 业业: : 姓姓 名名: : 学学 号号: : 班班 级级: : 2 【任务目的】 了解 DS18B20智能温度传感器的基本工作原理, 掌握系统的软. 硬件设计方法,熟悉 PROTEUS 仿真软件的使用。 【任务描述】用 DS18B20智能传感器作为检测元件;用 LED 数码管显示温 度;用 PROTEUS 实现电路设计和程序设计,并进行实时交互仿真。 1、功能要求与方案论证 1.1功能要求: 测温范围:-50+110度,误差在0.5度以内。 1.2方案论证:
2、按照系统设计功能的要求,确定系统有三个模块组成;主控 器,测温点路及显示电路。 数字温度计总体电路结构框图如图 图 1 硬件总框图 2、硬件设计 2.1主控制器:单片机 AT89C2051具有低电压供电和小体积等特点,两个端 口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用,系 统可以用两节电池供电。 2.2显示电路:显示电路采用4位共阳极 LED 数码管, 从 P1口输出段码, 列扫 描用 P3.OP3.3口来实现,列驱动用 PN4249三极管。 2.3 DS18B20工作原理 DALLAS 半导体公司的数字化温度传感器是支持“一线总线”接口的温度传 感器。一线总线独特且经济的特
3、点,使用户可轻松的组建传感器网络,为 测量温度范围为-55+125度,在-10+85度范围内,精度为0.5度。 现场温度直接以“一线总线”的数字方式传输,明显提高了系统的抗干扰 3 性,适合于恶劣环境的现场温度测量,如环境控制等。 DS18B20的测温原理图如下: DS18B20测温原理图 图中低温度系数晶振的振荡频率受到温度而影响很小,用于产生固定频率 的脉冲信号送给减法计数器1:高温度系数晶振随温度变化其振荡频率明显 变化,所产生的信号作为减法计数器2的脉冲输入。当计数门打开时, DS18B20就对低温系数晶振产生的脉冲信号进行计数,进而完成温度测量。 计数门的开启,时间由高温度系数晶振来
4、决定,每次测量前,首先将-55度 所对应的一个基数分别置入减法计数器上,温度寄存器中。 减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法 计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值 将重新装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行 减法计数,如此循环看,直到减法计数器2计数到0时,停止温度寄存器值 得累加,此时温度寄存器中的数值就是所测温度值。 图中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用 于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程。直到 温度寄存器达到被测温度值。 另外, 由于 DS18B20单线通信功
5、能是分时完成, 她有严格的时隙概念, 因此读写时序很重要,系统对于 DS18B29的各种操作必按协议进行。操作 4 协议为:初始化 DS18B20(发复位脉冲)发 ROM 功能命令发存储器 操作命令处理数据。 3、系统程序设计 系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、 温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。 3.1主程序 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20的测 量温度值,温度测量每1s 进行一次。其程序流程图如图所示。 3.2读出子程序 读出温度子程序的主要功能是读出 RAM 中的9字节,在读出时需进行 CRC 校验,校验有
6、错时不进行温度数据的改写。其程序流程图如图所示。 3.3温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率, 时转换时间约为750ms。 在本程序设计中采用1s 显示程序延时法等待转换的 完成。 3.4计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温 度值的正负判定,其程序流程图如图。 5 3.5 显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新 操作, 当最高显示位为0, 将符号显示移入下一位。 程序流程图如下图所示。 6 3.6源程序清单 TIMEL EQU 0E0H TIMEH EQU 0B1H TEMPHEAD EQU 36H BIT