项目3_数字温度传感器DS18B20应用实例
数字温度传感器DS18B20及其应用

数字温度传感器DS18B20及其应用数字化技术推动了信息化的革命在传感器的器件结构上采用数字化技术,使信息的采集变得更加方便。
例如,对于温度信号采集系统,传统的模拟温度传感器多为铂电阻、铜电阻等。
每一个传感器的传输线至少有两根导线,带补偿接法需要三根导线。
如果对50路温度信号进行检测,就需要100根或150根导线接到采集端口,然后还要经过电桥电路、信号放大、通道选择、A/D转换等,才能将温度信号变成数字信号供计算机处理。
DS18B20是美国DALLAS公司生产的新型单总线数字温度传感器,如图1所示。
DS18B20采用3脚(或8脚)封装,从图1中看到,从DS18B20读出或写人数据仅需要一根I/O口线。
并且以串行通信的方式与微控制器进行数据通信。
该器件将半导体温敏器件、A/D 转换器、存储器等做在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数字值。
信号传输采用两芯(或三芯)电缆构成的单总线结构。
一条单总线电缆上可以挂接若干个数字温度传感器,每个传感器有一个唯一的地址编码。
微控制器通过对器件的寻址,就可以读取某一个传感器的温度值,从而简化了信号采集系统的电路结构。
采集端口的连接线减少了50倍,既节省了造价,又给现场施工带来极大的方便。
DS18B20是实现单总线测控网络的关键器件,主要包括:寄生电源、温度传感器、64位激光ROM 和单总线接口、存放中间数据的高速暂存器RAM、用于存储用户设定温度上下限值的TH和TL触发器、存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。
DS18B20内部存储器由ROM、RAM和E2ROM组成,其中,ROM 由64位二进制数字组成,共分为8个字节,字节0的内容是该产品的厂家代号28H,字节1~字节6的内容是48位器件序列号,字节7是ROM前56位的CRC校验码。
由于64位ROM 码具有唯一性,在使用时作为该器件的地址,通过读ROM命令可以将它读出来。
温度传感器DS18B20的应用

uchar j;
bit testb;
for(j=1;j<=8;j++)
{testb=dat&0x01;
dat=dat>>1;
if(testb)
{ds=0;
i++;i++;
ds=1;
i=8;
while(i>0)i--;
}
else
{ds=0;
i=8;
while(i>0)i--;
ds=1;
}
bit tempreadbit(void) //读1位数据函数
{ uint i;
bit dat;
ds=0;i++;
ds=1;i++;i++;
dat=ds;
i=8;while(i>0)i--;
return(dat);
}
uchar tempread(void ) //读1个字节数据函数
{ uchar i,j,dat;
void dis_temp(uint t) //显示
{ uchar i,j=0;
if(t>num1||t<num0)
flag=0;
else flag=1;
xu[0]=t/100;
xu[1]=t%100/10;
xu[2]=t%100%10;
xu[3]=num0/10;
xu[4]=num0%10;
xu[5]=num1/10;
tempwritebyte(0x44); //写温度转换指令
}
uint get_temp() //读取寄存器中存储的温度数据
使用DS18B20温度传感器测温

248第11章 使用DS18B20温度传感器测温11.1 概述现实生产生活中,小到测量体温的温度计,大到航天飞机的温控系统,处处都离不开温度测量。
工业生产中的三大指标(流量、压力、温度)之一就是温度,温度测量可以说是无处不在,遍布了我们生活生产的方方面面。
DS18B20温度传感器是美国DALLAS 半导体公司生产的数字化温度传感器,它与以往模拟量温度传感器不同,数字化是其一大特点,它能将被测环境温度直接转化为数字量,并以串行数据流的形式,传输给单片机等微处理器去处理。
DS18B20温度传感器的另一个主要特点是它是单总线的,即它与单片机等微处理器连接时,只需占用一个I/O 管脚,并且不再需要其它任何外部元器件,这大大简化了它与单片机之间的接口电路。
11.2 DS18B20温度传感器介绍目前,使用最普遍的DS18B20温度传感器是三脚TO-92直插式封装这一种,这种封装的DS18B20实物如图11-1所示。
可以看到它体积很小,只有三只管脚,外形与一般的三极管极其相似。
图11-2是DS18B20三脚TO-92直插式封装图,表11-1列出了DS18B20各个引脚的定义。
图11-1 DS18B20实物图 图11-2 DS18B20引脚图表11-1 DS18B20引脚定义。
11.2.1 DS18B20温度传感器特性简介◆独特的单总线(一条线)接口,与微处理器通信只需一个I/O 管脚,且硬件连接无需其它外部元件;◆测量结果直接输出数字量,可直接与微处理器通信;◆供电电压范围3.0V~5.5V ;在寄生电源方式下可由数据线供电;◆测温范围-55℃~+125℃;在-10℃~+85℃范围内,测量精度可达±0.5℃;◆可编程的9~12位测温分辨率,对应的可分辨温度值分别为0.5℃,0.25℃,0.125℃,0.0625℃;12位分辨率时的温度测量转换最长时间(上限)只有750ms ;◆每一片DS18B20都有自己独一无二的芯片号码;多片DS18B20可以并联在一条数据总线上,实现不同地点的多点组网;◆应用范围包括温度调控,工业现场测温,消费类产品,温度计及热敏系统等。
智能温度传感器Ds18b20在多路测温中的应用

智能温度传感器Dsl8b20在多路测温中的应用徐文进,(厦门大学自动化系张阿卜福建厦门361005)摘要:给出了总线上挂有多个Dsl8b20的巡回测温的C51编程实现。
通用性好,特别适合用在大范围环境温度检测场合,数据准确、可靠。
最后给出笔者参与的一个应用项目。
关键词:温度传感器;Dsl8b20;单总线;多点测温中图分类号:TP368.1文献标识码:B文章编号:1004—373x(2004)22一003一02ApplicationofIntelligentThemometerDsl8b20inMultipleTemperatureMeasurementXUWenjin,ZHANGAbu(DepartmentofAutomation.XiamenUniversity.Xiamen,361005.China)Abstract:TheprogramimplementedwithC51pragramminglanguageispresented.inthispaper.Itcanbeappliedtomanyfieldsespeciallyinthelarge—scaleenvironnlentaltemperaturemeasurement.It’saccurateandreliable.Finally,aprac“caIapplicationdevelopedbyauthorisgiven.Keywords:themometer;Dsl8b20;sin91eBus;multipletemperataremeasurement单总线芯片可以使得硬件结构非常简单,特别适合应用在对于距离远、节点分布多的场合,如粮仓温度检测,大棚温室温度监控等。
本文给出的设计通用性好,可以方便地移植到其他应用场合。
1Dsl8b20编程简介每一片单总线芯片内部都有一个全球惟一的64b编码,在多路测温时就是通过匹配每个芯片的ROM编码(ID),来搜寻该路的温度。
DS18B20集成温度传感器原理及其应用

在生产实践中对温度的多点监测,有时需要同时检测多至数百个测温点 / 美国 +2332, 公司近年来推出了以 +,#-.!" 为代表的系列集成温度传感器 / 其器件的管芯内集成了温敏 元件、 数据转换芯片、 存储器芯片和计算机接口芯片等多功能模块, 该器件可直接输出二进制 温敏信号, 并通过串行输出方式与单片机通讯 / 该器件目前市场价格约为 #! 元 / 用其组成的 多点测温系统其稳定性、 可靠性、 维护工作量和工程造价等一系列指标均具有明显的优势 /
状态, 完成温度的转换和数据的输出 0 存储器命令的名称、 代码和功能如表 ! 所示 0
・!"・
安
徽
机
电
学
院
学
报
#$$# #$ 和单片机 *+",-%# 构成的单线多点测温系统作为分布式测温系统的下位机 已成功设计、 调试, 并运用于某大型电冰箱企业的生产线上 . 批量检测 (%$ 台冰箱, 其测温点 数为 !(# 点, 采样周期为 ( /01, 温度量程为 2 %$ 3 4 "$ 3 , 分辩力为 $5 % 3 . 现场的 (%$ 台 冰箱压缩机随时启动 6 停止, 存在着严重的电磁干扰, 由于使用了数字式温度传感器和合理的 现场总线技术, 加上在下位机系统设计上采用完善的软 6 硬件抗干扰措施, 使系统有很强的抗 干扰能力 . 经过一年的实际运行证明该系统具有投资省, 安装施工方便, 维护工作量小, 测温 精度高, 运行稳定可靠 . 性能远优于传统的模拟巡回检测系统 . 本系统具有广阔的应用前景 .
!"#$%#&’() *$+ *&&’#%*,#-$) -. /012345 67 ,(8&("*,9"( ,"*$)+9%("
DS18B20温控实例

ME300实例-DS18B20温度控制实验(汇编语言源程序)程序说明:DS18B20的管脚定义:1、GND2、DQ3、VCCDQ → P3.3K1 → P1.4K2 → P1.5K3 → P1.6K4 → P1.7JP2 用跳线帽短接1和2,选用LCD。
温度显示用四位,当温度>=100度时,第四位才显示。
检测 DS18B20 状态:DS18B20正常显示:DS18B20 OKTEMP: 25.8℃←显示实际温度DS18B20不正常显示:DS18B20 ERRORTEMP: ----℃←显示----这时你要检查DS18B20是否连接好、接对,否则要更换一个新的 DS18B20 芯片。
一、查看温度报警值:K1 →进入查看温度报警值状态。
LCD 1602 显示:LOOK ALERT CODETH:028℃ TL:18℃TH:028 高位报警值TL:18 低位报警值K3 →退出查看温度报警值状态。
二、设定温度报警值:K2 →进入设定温度报警值状态。
LCD 1602 显示:RESET ALERT CODETH:028℃ TL:18℃K1 : 设定值加(UP)、减(DOWN)方式选择键(默认为减少)K2 : TH值设定键K3 : TL值设定键K4 : 确定键(退出设定状态)K2 或 K3 以减(DOWN)方式设定,当设定数值减到“0”时自动转换为加(UP)方式。
K2 或 K3 以加(UP)方式设定,当设定数值 TH=120、TL=99 时,设定数值均变为“0”。
K4 →确定并退出设定温度报警值状态。
将设定的温度报警值自动存入 DS18B20 的 EEROM 中,可永久保存。
每次开机时自动从 DS18B20 的 EEROM 读出温度报警值。
三、报警状态的显示:1、当实际温度大于 TH 的设定值时,LCD1602 显示:DS18B20 OKTEMP: 88.8℃ > H关闭继电器,蜂鸣器响,表示超温。
数字温度传感器ds18b20的原理与应用
数字温度传感器DS18B20的原理与应用1. 概述数字温度传感器DS18B20是一种广泛应用于工业控制、计算机温控等领域的传感器。
本文将介绍DS18B20的原理和应用,并对其工作原理、特点以及应用场景进行详细阐述。
2. DS18B20的工作原理DS18B20采用了数字式温度传感器技术,其工作原理基于温度对半导体材料电阻值的变化进行测量。
具体工作原理如下:1. DS18B20内部包含一个温度传感器、位移寄存器(DS)和一个多功能I/O口。
2. 温度传感器由多个晶体管组成,当温度发生变化时,晶体管的导电能力发生变化。
3. DS18B20通过I/O口与外部控制器进行通信,并将温度数据以数字形式传输。
3. DS18B20的特点DS18B20作为一种数字温度传感器,具有许多独特的特点,包括: - 高精度:DS18B20具有高精度的温度测量能力,精确到0.5°C。
- 数字输出:DS18B20通过数字信号输出温度数据,方便与其他数字设备进行连接与通信。
- 单总线接口:DS18B20采用了单总线接口通信,可以通过一根数据线与外部控制器进行连接,简化了接线工作。
- 可编程分辨率:DS18B20的分辨率可以通过配置进行调整,可以根据具体应用需求选择不同的分辨率。
4. DS18B20的应用场景DS18B20由于其特点和功能的优势,在许多领域得到了广泛应用,包括但不限于以下场景:4.1 工业控制DS18B20可以用于工业控制系统中,用于监测和控制温度。
例如,在生产线上使用DS18B20传感器实时监测设备温度,当温度超出设定范围时,及时采取控制措施,以保证生产过程的稳定性和安全性。
4.2 计算机温控DS18B20可以作为计算机温度监测的传感器,用于检测计算机主板、CPU和其他关键部件的温度。
通过DS18B20传感器的数据,可以实时监测计算机的温度状况,并进行相应的温度调控,以提高计算机的稳定性和使用寿命。
DS18B20数字温度传感器应用详解
DS18B20数字温度传感器应用详解MC430F14板上的DS18B20电路图参考图:在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。
另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。
因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。
新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
目前DS18B20批量采购价格仅10元左右。
DS18B20、DS1822 "一线总线"数字化温度传感器同DS1820一样,DS18B20也支持"一线总线"接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS1822的精度较差为±2°C。
现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
温度传感器ds18b20实验报告
温度传感器ds18b20实验报告温度传感器DS18B20实验报告引言:温度传感器是一种用于测量环境温度的设备,它在许多领域都有广泛的应用,如气象学、工业控制、冷链物流等。
本实验报告将介绍DS18B20温度传感器的原理、实验装置和实验结果,并对其性能进行评估。
一、实验原理DS18B20温度传感器是一种数字温度传感器,采用单总线接口进行通信。
它采用了最新的数字温度传感器技术,具有高精度、低功耗、抗干扰等特点。
其工作原理是利用温度对半导体材料电阻值的影响,通过测量电阻值的变化来确定温度。
二、实验装置本实验使用的实验装置包括DS18B20温度传感器、Arduino开发板、杜邦线和计算机。
Arduino开发板用于读取传感器的温度数据,并通过串口将数据传输到计算机上进行处理和显示。
三、实验步骤1. 连接电路:将DS18B20温度传感器的VCC引脚连接到Arduino开发板的5V 引脚,GND引脚连接到GND引脚,DQ引脚连接到Arduino开发板的数字引脚2。
2. 编写代码:使用Arduino开发环境编写代码,通过OneWire库和DallasTemperature库读取DS18B20传感器的温度数据。
3. 上传代码:将编写好的代码上传到Arduino开发板上。
4. 监测温度:打开串口监视器,可以看到DS18B20传感器实时的温度数据。
四、实验结果在实验过程中,我们将DS18B20温度传感器放置在不同的环境中,记录了其测得的温度数据。
实验结果显示,DS18B20温度传感器具有较高的精度和稳定性,能够准确地测量环境温度。
五、实验评估本实验评估了DS18B20温度传感器的性能,包括精度、响应时间和抗干扰能力。
实验结果表明,DS18B20温度传感器具有较高的精度,能够在0.5℃的误差范围内测量温度。
响应时间较快,能够在毫秒级别内完成温度测量。
同时,DS18B20温度传感器具有较好的抗干扰能力,能够在干扰环境下保持稳定的测量结果。
一线数字温度计DS18B20及应用
第十四章 一线数字温度计DS18B20及应用DS18B20是DALLAS 公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读取。
可分别在93.75 ms 和750 ms 内完成9位和12位的温度数字量转换,从DS18B20读出信息或写入信息仅需要一根数据线。
读写温度、变换功率可来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
DS18B20的引脚图如图14-1所示。
14.1 DS18B20性能特点(1)独特的单线接口方式:DS18B20与微处理器连接仅需要一条线即可实现双向通讯。
(2)在使用中不需要任何外围元件;(3)可用数据线供电,电压范围:+3.0~+5.5 V ;(4)测温范围-55 ~+125℃,固有分辨率0.5 ℃;(5)通过编程可实现9~12位的数字读数方式;(6)用户可自设定非易失性的报警上下限值;(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温;(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
DS18B20其内部结构框图如图14-2所示,由64位光刻ROM 及串行接口,温度传感器、高低温触发器、配置寄存器、8位CRC 发生器、电源检测及寄生电容等各部分组成。
64位光刻ROM 是出厂前被光刻好的,它由8位产品系列号,48位产品序号和8位CRC 编码组成,DS18B20的产品系列号均为28H ,每个器件的48位产品序号各不相同,利用产品序号可以识别一线上的挂载的不同DS18B20器件。
图14-1 DS18B20引脚图 图14-2 DS18B20内部结构框图14.2 DSl820工作过程及时序DSl820工作过程中的协议如下:①初始化单总线上的所有处理均从初始化开始②ROM 操作命令总线主机检测到DSl820的存在便可以发出ROM 操作命令,ROM 操作命令如表14-1所示 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.3 DS18B20的指令集
DS18B20指令主要有ROM操作指令、温度操作指令两 类。每一个DS18B20都有自己独立的编号,存放在 DS18B20内部64位ROM中, ROM操作指令主要对其内部 64位的编号操作。内部编号由厂家生产过程中固化,器件 编号唯一。格式见表3-2所示。 表3-2
8位CRC码 48位序列号 8位产品类型标号
3.2 单总线数据传输原理
单总线协议规定一条数据线传输串行数据,时序有严格 的控制,对于DS18B20的程序设计,必须遵守单总线协议。 DS18B20操作主要分初始化、写数据、读数据。下面分别 介绍操作步骤。
一、初始时序
对DS18B20初始化的不得是:单片机感知 DS18B20存在并为下一步操作做准备,同时启动 DS18B20,程序设计依据时序进行。设P1.0口与 DS18B20的数据DQ连接,初始化过程如下:
(1)将数据线拉高,时序图见图31-5所示; (2)延时2µs, (3)将数据线拉低到0, (4)延时6µs,延时时比写数据时 间短; (5)将数据线拉高到1,释放总线 (6)延时4µs (7)读数据线的状态得到一个状态 位,并进行数据处理。 (8)延时30µs。 (9)重复①~⑦步骤,直到读取完 一个字节。。
3.3.1内部结构
DS18B20 的内部框图如图 3-2所示,主要 包括寄生电源、 温度传感器、存 放中间数据的高 速贮存器、用于
DS18B20内部电路 图3-2 DS18B20内部电路
存储用户设定的温度上下限值、触发器存储与控制逻辑、8 位循环冗余校验码发生器和64位编号ROM等7部分。下面重 点说明高速贮存器。
一、ROM操作指令(5个)
33H 读ROM。读DS18B20温度传感器ROM中的编码 (即64位地址) 55H 匹配ROM。发出此命令之后,接着发出64位ROM 编码,访问单总线上,与该编码相对应的DS18B20并使 之做出响应,为下一步对该DS18B20的读/写做准备 F0H 搜索ROM。用于确定挂接在同一总线上DS18B20 的个数,识别64位ROM地址,为操作各器件做好准备 CCH 跳过ROM。忽略64位ROM地址,直接向 DS18B20发温度变换命令,适用于一个从机工作。 ECH 告警搜索命令。执行后只有温度超过设定值上限或 下限的芯片才做出响应
3.1.2硬件连接
DS18B20可以作为单片机外设,单片机为主器件, DS18B20为从器件。上图接法是单片机与一个DS18B20 通信,单片机只需要一个I/O口就可以控制DS18B20,为 了增加单片机I/O口驱动的可靠性,总线上接有上拉电阻。
如果要控制多个DS18B20进行温度采集,只要将所有 DS18B20的DQ全部连接到总线上就可以了,在操作时,通 过读取每个DS18B20内部芯片的序列号来识别。
提高项目3 数字温度传感器S18B20 数字温度传感器 程序设计实验指导
白 林 峰
3.1 单总线温度传感器 单总线温度传感器DS18B20简介 简介
DS18B20是美国DALLAS半导体公司推出的第一 片支持“一线总线”接口的温度传感器,它具有微型化、 低功耗、高性能、抗干扰能力强、易配微处理器等优点, 可直接将温度转化成串行数字信号供单片机处理,可实 现温度的精度测量与控制。DS18B20封装外形见图3-1 所示。
图3 - 1 DS18B20外形及引脚排列 外形及引脚排列
DS18B20引脚功能描述 序号 1 2 3 名称 GND DQ 地信号 数据输入输出引脚 描述
Vdd 电源输入引脚,当工作于寄生 (Vcc) 电源模式时,此引脚必须接地
值得一提的是DQ引脚的I/O为数据输入/输出端(即单 总线),该引脚为漏极开路输出,常态下呈高电平。而单 总线技术是DS18B20的一个特点,也是目前的技术热点之 一。
3.3 实验任务
电路如图所示,请你设计程序,利用三位数码管显 示温度,小数点1位。要求先仿真,最后下载实现。
µ
图3-3 DS18B20硬件连接图 硬件连接图
三、对DS18B20读1字节数据
过
程
对应程序
uchar read_OneChar(void) { uchar i = 0; uchar dat = 0; for (i=8;i>0;i--) { DQ = 0; // 给脉冲信号 dat >>= 1; DQ = 1; // 给脉冲信号 if(DQ)dat |= 0x80; delay(4); } return(dat); }
高速寄存器RAM由9个字节的存储器组成。见表3-1所示。 其中,第0、1字节是温度转换有效位,第0字节的低3位存放 了温度的高位,高5位存放温度的正负值;第1字节的高4位 存放温度的低位,后4位存放温度的小数部分;第2和第3个 字节是DS18B20的与内部E2PROM的有关的TH和TL,用来 存储温度上限和下限,可以通过程序设计把温度的上下限从 单片机中读到TH和TL中,并通过程序再复制到DS18B20内 部E2PROM中,同时TH和TL在器件加电后复制E2PROM的 内容;第4个字节是配置寄存器,第4个字节的数字也可以更 新;第5,6,7三个字节是保留的。
过
程
对应程序
(1)先将数据线置高电平1,然后延时(可有可 无); (2)数据线拉到低电平0。然后延时750µs(该时 Init_DS18B20(void { 间范围可以在480~960µs),调用延时函数决定。 uchar x = 255; (3)数据线拉到高电平1。如果单片机P1.0接 DQ = 1; DS18B20的DQ引脚,则P1.0 此时设置高电平,称为 单片机对总线电平管理权释放。此时,P1.0的电平高 delay(10); //稍做延时 低由DS18B20的DQ输出决定; DQ = 0; (4)延时等待。如果初始化成功则在15~60ms delay(80); 总线上产生一个由DS18B20返回的低电平0,据该状 DQ = 1; 态可以确定它的存在。但是应注意,不能无限地等待, delay(20); 不然会使程序进入死循环,所以要进行超时判断。 while(DQ && x-- ); (5)若单片机读到数据线上的低电平0后,说明 delay(80); DS18B20存在并相应,还要进行延时,其延时的时 DQ = 1; 间从发出高电平算起(第⑤步的时间算起)最少要 } 480µs。 (6)将数据线再次拉到高电平1,结束初始化步 骤。
二、对DS18B20写1字节数据
过
程
对应程序
(1)数据线先置低电平0,发送的起始 void write_OneChar(uchar dat) 信号。 { (2)延时确定的时间为15µs; uchar i = 0; (3)按低位到高位顺序发送数据(一次 for (i = 8; I > 0; i--) 只发送一位)。 { (4)延时时间为45µs,等待DS18B20 DQ = 0; 接收; delay(5); (5)将数据线拉到高电平1,单片机释 DQ = dat & 0x01; 放总线; delay(15); (6)重复①~⑤步骤,直到发送完整个 DQ = 1; 字节; dat >> = 1; (7)最后将数据线拉高,单片机释放总 } 线。 delay(4); }
二、温度操作指令(4个)
温度操主要对高速寄存器操作,指令共六个,见下表
作用 指令代码 44H BEH 4EH 48H B8H B4H 启动DS18B20进行温度转换,12位转换时最长为750ms(9位 为93.75ms),结果存入内部9字节的RAM中 读暂存器。读内部RAM中9字节的温度数据 写暂存器。发出向内部RAM的第2,3字节写上、下限温度数 据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器。将RAM中第2,3字节的内容复制到E2PROM中 重调E2PROM。将E2PROM中内容恢复到RAM中的第3,4字 节。 读供电方式。读DS18B20的供电模式。寄生供电时, DS18B20发送0;外接电源供电时,DS18B20发送1。
表3-1-3高速寄存器 高速寄存器RAM 高速寄存器
字节地址编号 0 1 2 3 4 5、6、7 8 寄存器内容 温度值低位LSB 温度值高位MSB 高温度值(TH) 低温度值(TL) 配置寄存器 保留 CRC校验值 功能 高5位是温度的正正负号, 低3位为温度的高位 高4位为温度的低位, 低4位为温度小数部分 温度上限,最保存在ROM中 温度下限,最保存在ROM中