APP下载

DS18B20温度传感器的工作原理探析

2017-01-11徐锦钢鄢江西师范大学科学技术学院江西机电职业技术学院

大陆桥视野 2016年22期
关键词:液晶温度传感器字节

徐锦钢鄢 妍/.江西师范大学科学技术学院 .江西机电职业技术学院

DS18B20温度传感器的工作原理探析

徐锦钢1鄢 妍2/1.江西师范大学科学技术学院 2.江西机电职业技术学院

本文围绕DS18B20温度传感器的工作原理展开论述,使用proteus仿真软件设计和绘制了DS18B20的测温电路图,并通过1602液晶显示器观察DS18B20测得的温度值,验证了DS18B20测温电路及程序设计的正确性,并给出了部分C程序代码。

DS18B20;测温;仿真

1.DS18B20温度传感器简介

DS18B20是DALLAS公司生产的一种温度传感器,具有体积小、先进的单总线数据通信方式、全数字温度转换及输出、测量精度可达土0.5℃、检测温度范围宽(可达-55℃~+125℃)等优点,因此使得DS18B20应用非常广泛[1]。

2.电路连接

电路连接如上图1所示,主要包括AT89S52单片机、DS18B20和1个1602型液晶显示器。DS18B20组成的温度测量系统线路非常简单,只要求1个接口就可实现通信,图中DS18B20的第2脚(DQ)即为数据通信端,接至单片机的P3.3口,传输命令字和温度信号。DS18B20的第3脚(VCC)接5V电源,第1脚(GND)接地。1602液晶数据端(D0-D7)接至单片机P0口,控制端(RS、RW、EN)分别接至单片机P2.0、P2.1、P2.2口。

图1 电路连接图

3.DS18B20单总线内部构造介绍

图2 DS18B20单总线开漏等效电路

单总线系统只有1根数据线,主机或者从机设备通过1个漏极开路或三态接口连接至该数据线,这样使得主机或者从机设备在不发送数据时可释放数据总线,以便总线可被其他设备使用。图2给出了DS18B20单总线开漏等效电路,单总线要求外接1个约为5K欧姆的上拉电阻,以保证总线闲置时为高电平,如图1中的电阻R1所示[2]。

4.DS18B20温 度传感器程序设计

单总线器件要求严格遵守相应的通信协议,如此才能保证数据传输的完整性,这种协议一般定义了若干种类型的信号,包括器件复位、读数据、写数据,均由主机(即单片机)发出同步信号,所有的命令字和数据字都是低位在前,高位在后。

本文编写了一个完整的DS18B20测量显示程序,主要包括DS18b20初始化函数、主机写字节数据函数、主机读字节数据函数、开始温度转换、温度获取及数据修正函数。下面以其中的前4个函数示例,并给出注解。

4.1 DS18b20初始化函数

单总线的所有操作均是从1个初始化序列开始的,初始化序列包括1个由总线控制器发出的复位脉冲和随后由从机回发的应答脉冲,函数程序代码如下:

void Init_DS18B20()

{

uint i;

DQ=0;//拉低总线开始复位

i=103;

while(i>0)i--;//短暂延时

ds=1;//主机写1,释放总线

i=4;

while(i>0)i--;//短暂延时

}

4.2 主机写字节数据函数

void write_byte(uchar dat)

{

uchar i;

for(i=0;i<8;i++)

{

DQ=0;//主机拉低DQ

dat>>=1;//待输出位通过移位操作先进入PSW的CY位

DQ=CY;

delay(8);

DQ=1;

}

}

4.3 主机读字节数据函数

void read_byte()

{

uchar i,dat=0;

for(i=0x01;i!=0;i<<=1)

{

DQ=0;_nop_();//主机拉低DQ,开始读时隙

DQ=1;_nop_();//主机释放DQ,准备读

if(DQ)

{dat|=i;}//1us后主机开始读取1位

delay(8);//实际延时77us

}

return dat;//将读到的字节数返回

}

4.4 开始温度转换函数

void tempchang(void)

{

Init_DS18B20();//初始化

delay(1);

write_byte(0xcc);//写命令字0xcc,跳过读取ROM序列号

write_byte(0x44);//写命令字0x44,启动温度转换

}

5.电路功能测试

按照图1搭好电路后,调节DS18B20器件上的温度增减按键,模拟外界温度的变化,单片机在获取温度值后,将温度值显示在1602液晶上,如图中测得温度为26℃时,液晶也显示为26℃,见下图3所示,说明电路连接及程序编写均正确无误。

图3 测试结果

6.结束语

本文采用单片机作为主控制器,设计了基于DS18B20的温度测量显示电路,论述了DS18B20的工作原理,给出了部分测试程序并注解。通过测试,DS18B20能够正常测温,电路工作正常。

[1]DS18B20芯片手册[DB/OL].百度文库,2007-03.

[2]彭 伟.单片机C语言程序设计实训100例[M].北京:电子工业出版社,2014-03.

徐锦钢(1983-),男,江西高安人,讲师,硕士研究生,研究方向:电子信息工程。

猜你喜欢

液晶温度传感器字节
气象用温度传感器检定结果的测量不确定度评定与应用
基于HSIC的日光温室温度传感器优化配置策略
No.8 字节跳动将推出独立出口电商APP
水厂液晶幕墙系统建立和应用
基于光控液晶光栅的研究
一种USB接口字符液晶控制器设计
温度传感器DS18B20在温度计设计中的应用
No.10 “字节跳动手机”要来了?
轻量级分组密码Midori64的积分攻击
XTR105电流变送器在温度传感器中的应用