基于DS18B20的温度采集显示系统的设计 下载本文

课程设计用纸

图3-4 DS18B20的引脚排列及封装

3.3.2 DS18B20的工作原理

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3-5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

第 7 页

课程设计用纸

斜率累加器 预置 低温度系数晶振 计数器1 预置 加1 比较 LSB 置位/清除

=0 温度寄存器 高温度系数晶振 计数器2 停止 =0

图3-5 DS18B20测温原理图

3.3.3 DS18B20的主要特性

(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电; (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;

(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;

(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;

(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;

(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;

(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;

(8)测量结果直接输出数字温度信号,以\一线总线\串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;

(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

第 8 页

课程设计用纸

3.3.4 DS18B20的测温流程

初始化 DS18B20 跳过ROM 匹配 温度变换 延时1S 数码管显示 转换成显示码 读暂存器 跳过ROM 匹配 图3-6 DS18B20的测温流程图

3.3.5 DS18B20与单片机的连接

P3.7

图3-7 DS18B20与单片机的连接电路图

如上图为DS18B20温度传感器与单片机之间的接法,其中2号接单片机的17号P3.7接口。DS18B20通过P3.7口将采集到的温度实时送入单片机中。 3.4 报警温度的设置

P2.5 P2.6 P2.7

第 9 页

课程设计用纸

图3-8 报警温度的设置电路

图3-8为报警温度的设置电路,其中K1,K2,K3分别接到单片机的P2.5,P2.6,P2.7口。其中K1用于报警温度设定开关,K2用于报警温度的设置时候的加温度(每次加一),K3用于报警温度的设置时的减温度(每次减一)。实现了报警温度的手动设置。 3.5 数码管显示 3.5.1数码管工作原理

图3-9 数码管的引脚排列及结构

图3-9为数码管的外形及引脚排列和两种接法(共阴极和共阳极)的结构图。共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。字型码各位定义为:数据线D0与a字段对应,D1与b字段对应??,依此类推。如使用共阳极

第 10 页