DS18B20是由美国Maxim公司(原Dallas半导体公司)生产的一种数字温度传感器,其名称中的DS表示Dallas Semiconductor,18表示其采用了18位的数据格式,B表示其具有可编程的分辨率,20表示其最高工作温度为125°C。
DS18B20工作原理及电路图
DS18B20的符号如图1所示,其中DQ是数据线,VDD是电源线,GND是地线。DS18B20可以通过DQ线与微处理器进行双向通信,也可以从DQ线上获取寄生电源。
DS18B20的结构如图2所示,它由三个主要部分组成:一个64位ROM(只读存储器),一个温度传感器和一个温度转换器,以及一个可编程的EEPROM(可擦写可编程只读存储器)。
64位ROM存储了DS18B20的唯一序列码,用于在单总线上识别不同的设备。序列码由8位家族码(10h),48位序列号和8位CRC校验码组成。
温度传感器和温度转换器负责测量环境温度,并将其转换为数字信号。DS18B20可以测量-55°C到+125°C的温度范围,精度为±0.5°C(-10°C到+85°C),分辨率为9位到12位可编程。
可编程EEPROM存储了DS18B20的配置寄存器和报警触发寄存器。配置寄存器用于设置DS18B20的分辨率,报警触发寄存器用于设置上限和下限温度值,当测量温度超出这些值时,DS18B20会发出报警信号。
DS18B20在电路中的作用和功能是提供数字温度测量,并具有单总线接口、寄生电源模式、多点测量、报警功能等特点。DS18B20可以应用于各种需要温度控制或监测的场合,如恒温系统、工业系统、消费产品、热敏系统等。
DS18B20的参数和特性曲线
DS18B20的主要参数如表1所示:
表1 DS18B20的主要参数
DS18B20的特性曲线如下图所示,其中温度误差曲线表示了DS18B20在不同温度下的测量误差,温度转换时间曲线表示了DS18B20在不同分辨率下的转换时间,寄生电源电容曲线表示了DS18B20在寄生电源模式下需要的外部电容值。
DS18B20的工作状态有两种:正常功耗模式和寄生电源模式。
正常功耗模式:指DS18B20从外部电源VDD供电,此时DQ线只用于数据通信。寄生电源模式是指DS18B20从DQ线上获取电源,此时DQ线既用于数据通信,又用于供电。
寄生电源模式:可以减少接线数量,但需要在DQ线上加一个外部上拉电阻,并在转换期间为DS18B20提供足够的电荷。
DS18B20温度传感器编程
下面以51单片机为例,介绍如何使用DS18B20测量温度并在数码管上显示。
首先,需要连接好硬件电路。其中,数码管采用共阳极方式接入P0口,数码管选通端接入P2.4~P2.7口,数码管段选端接入P1口。DS18B20的VDD端接入+5V电源,GND端接入地线,DQ端接入P3.7口,并通过4.7kΩ的上拉电阻连接到+5V电源。
其次,需要编写软件程序,程序主要包括以下几个部分:
·定义相关的头文件、宏定义和全局变量
·定义单总线操作函数,包括初始化、读写字节、读写位等
·定义DS18B20操作函数,包括复位、读取序列号、读取温度值、设置分辨率等
·定义数码管显示函数,包括显示数字、显示小数点等
·定义主函数,包括初始化系统、设置分辨率、循环读取温度值并显示在数码管上。