基于AVR单片机DS18B20的温度测量实验

合集下载

基于DS18B20传感器温度测量

基于DS18B20传感器温度测量

目录第1章绪论 (1)1.1 DS18B20测温原理 (1)1.2 DS18B20工作过程及时序 (1)1.3 本设计任务 (2)第2 章总体方案论证 (3)2.1 温度传感器模块 (3)2.2 显示模块 (3)2.3 微控制器模块 (4)2.4 总体硬件组成框图 (4)第3章系统硬件设计 (6)3.1 单片机模块的硬件设计 (6)3.2 温度传感器模块设计 (6)第4章系统软件设计 (9)4.1 主程序设计 (9)4.2 读温度子程序设计 (9)4.3 温度转换命令子程序设计 (10)第5章系统调试与仿真结果 (11)5.1 系统调试 (11)5.2 仿真结果 (11)结论 (12)参考文献 (13)附录1 程序 (14)附录2 仿真效果图 (17)第1章绪论DS18B20是美国DALLAS半导体公司继DS18B20之后最新推出的一种改进型智能温度传感器。

与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。

因而使用DS18B20可使系统结构更趋简单,可靠性更高。

他在测温精度、转换时间、传输距离、分辨率等方面较DS18B20有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。

1.1 DS18B20测温原理DS18B20的测温原理上图所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。

温度传感器ds18b20实验报告

温度传感器ds18b20实验报告

温度传感器ds18b20实验报告温度传感器DS18B20实验报告引言温度传感器在现代生活中扮演着重要的角色,它们被广泛应用于各种领域,包括工业、医疗、农业等。

DS18B20是一种数字温度传感器,具有精准的测量能力和数字输出,因此备受青睐。

本实验旨在通过对DS18B20温度传感器的测试和分析,探讨其性能和应用。

实验目的1. 了解DS18B20温度传感器的工作原理和特性。

2. 测试DS18B20温度传感器的测量精度和响应速度。

3. 探讨DS18B20温度传感器在实际应用中的优缺点。

实验器材1. DS18B20温度传感器2. Arduino开发板3. 4.7kΩ电阻4. 连接线5. 电脑实验步骤1. 将DS18B20温度传感器连接到Arduino开发板上,并接入4.7kΩ电阻。

2. 编写Arduino程序,通过串口监视器输出DS18B20传感器的温度数据。

3. 将DS18B20传感器置于不同的温度环境中,记录其输出的温度数据。

4. 分析DS18B20传感器的测量精度和响应速度。

5. 探讨DS18B20传感器在实际应用中的优缺点。

实验结果经过实验测试,DS18B20温度传感器表现出了较高的测量精度和响应速度。

在不同温度环境下,其输出的温度数据与实际温度基本吻合,误差较小。

此外,DS18B20传感器具有数字输出,易于与各种微控制器和单片机进行连接,应用范围广泛。

然而,DS18B20传感器在极端温度环境下可能出现测量误差,且价格较高,需要根据实际需求进行选择。

结论DS18B20温度传感器具有较高的测量精度和响应速度,适用于各种温度测量场景。

然而,在选择和应用时需要考虑其价格和适用范围,以确保满足实际需求。

希望本实验能够为DS18B20温度传感器的应用提供参考和借鉴,推动其在各个领域的发展和应用。

基于单片机的DS18B20温度测量

基于单片机的DS18B20温度测量

C H AN G Z HO U U N I VER SI T Y电 子 综 合 实 训题 目: 基于AT89C51单片机的温度测量 学 生 姓 名: 陈吉铭 学 号: 09446207学 院: 信息科学与工程学院 专 业 班 级: 电子092实训时间: 2013 年 1 月 10 日 2013年 1 月 20 日1.课题要求(1)要求能够测量温度,并显示在LCD1602上。

(2)可随意设定温度的上下限,通过按键可改变上下限值,当实际温度超过上下限时,蜂鸣器就会响。

2. 设计背景随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。

传统的温度检测以热敏电阻为温度敏感元件。

热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。

本设计选用A T89C51单片机作为主控制器件,DS18B20作为测温传感器,通过LM016L 实现温度显示。

通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。

该器件可直接向单片机传输数字信号,便于单片机处理及控制。

另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。

3.硬件设计3.1总体设计思路方案与系统框图采用数字温度芯片DS18B20测量温度,输出信号全数字化。

采用了单总线的数据传输,由数字温度计DS18B20和A T89C51单片机构成的温度测量装置,DS18B20的DQ与A T89C51的P3.4口相连,与它直接输出温度的数字信号,采用A T89C51单片机控制,并可以根据需要设定上下限温度。

温度显示由LCD1602完成,LCD1602的D0~D7为8位双向数据端,与A T89C51的P0口相连,P0口作数据总线。

DS18B20温度测量与控制实验报告

DS18B20温度测量与控制实验报告

课程实训报告《单片机技术开发》专业:机电一体化技术班级: 104201 学号: ******** *名:***浙江交通职业技术学院机电学院2012年5月29日目录一、DS18B20温度测量与控制实验目的……………………二、DS18B20温度测量与控制实验说明……………………三、DS18B20温度测量与控制实验框图与步骤……………………四、DS18B20温度测量与控制实验清单……………………五、DS18B20温度测量与控制实验原理图…………………六、DS18B20温度测量与控制实验实训小结………………1.了解单总线器件的编程方法。

2.了解温度测量的原理,掌握DS18B20 的使用。

本实验系统采用的温度传感器DS18B20是美国DALLAS公司推出的增强型单总线数字温度传感器。

Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

DS18B20测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20 内部结构DS18B20 内部结构主要由四部分组成:64 位光刻ROM、温度传感器、非挥发的温度报警触发器TH 和TL、配置寄存器。

DS18B20 的管脚排列如下:DQ 为数字信号输入/输出端;GND 为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。

光刻ROM 中的64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。

DS18B20温度测量与控制实验报告

DS18B20温度测量与控制实验报告

课程实训报告《单片机技术开发》专业:机电一体化技术班级: 104201学号: 10420134姓名:杨泽润浙江交通职业技术学院机电学院2012年5月29日目录一、DS18B20温度测量与控制实验目的……………………二、DS18B20温度测量与控制实验说明……………………三、DS18B20温度测量与控制实验框图与步骤……………………四、DS18B20温度测量与控制实验清单……………………五、DS18B20温度测量与控制实验原理图…………………六、DS18B20温度测量与控制实验实训小结………………一、实验目的1.了解单总线器件的编程方法。

2.了解温度测量的原理,掌握 DS18B20 的使用。

二、实验说明本实验系统采用的温度传感器DS18B20是美国DALLAS公司推出的增强型单总线数字温度传感器。

Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

DS18B20测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20 内部结构DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。

DS18B20 的管脚排列如下: DQ 为数字信号输入/输出端;GND 为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。

光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。

基于AVR单片机与温度传感器DS18B20的多点温度测量

基于AVR单片机与温度传感器DS18B20的多点温度测量

RESET/PC6 ADC5/SCI/PC5
RXD/PD0 ADC4/SDA/PC4
TXD/PD1
ADC3/PC3
INT0/PD2
ADC2/PC2
INT1/PD3
ADC1/PC1
XCK/T0/PD4
ADC0/PC0
VCC
GND
GND
AREF
XTAL1/TOSC1/PB6 AVCC
XTAL2/TOSC2/PB7 SCK/PB5
在了解了 DS18B20 与 ATmega8 的性能和使用方 法之后,本文给出了其接口电路原理图,如图 2 所 示,我们采用的是在 DS18B20 的 VDD 引脚引入外部 电源的接线方法,因为当挂接多个 DS18B20 时,考 虑到如果使用寄生电源 I / O 口,需要提供足够的 能量,由于 D S18B20 的工作电流需达到 1 m A,所 以仅靠 5 kΩ上拉电阻提供电源是不行的,当几只 D S18B20 挂接在同一根 I / O 线上并同时想进行温度 转换时,这个问题变得更加尖锐。同时当温度高于 100 ℃时,不推荐使用寄生电源,因为 D S1B820 在 这种温度下表现出的漏电流比较大,通信可能无法 进行。基于上述原因,结合本设计的需求,本文采 用的是引入外部电源的接法。由于单总线为开漏, 所以需要外接一个 4.7 kΩ的上拉电阻。
T1/PD5
MISO/PB4
AIN0/PD6 MOSI/OC2/PB3
AIN1/PD7
SS/OC1B/PB2
ICPI/PB0
OC1A/PB1
+5 V
DS18B20
(1)
R1 4.7

GND
DQ
VDD
+5 V

温度传感器ds18b20实验报告

温度传感器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的温度测量系统组员:计佳辰11221120组员:徐文杰112211101.课题要求测量环境中的温度,以BCD码的形式在LED上显示2. 设计背景随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。

传统的温度检测以热敏电阻为温度敏感元件。

热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。

本设计选用A T89C51单片机作为主控制器件,DS18B20作为测温传感器,通过LM016L 实现温度显示。

通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。

该器件可直接向单片机传输数字信号,便于单片机处理及控制。

另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。

3.设计方案3.1总体设计思路方案与系统框图采用数字温度芯片DS18B20测量温度,输出信号全数字化。

采用了单总线的数据传输,由数字温度计DS18B20和AT89C51单片机构成的温度测量装置,DS18B20的DQ与AT89C51的P3.7口相连,与它直接输出温度的数字信号,采用AT89C51单片机控制,温度显示由四位八段LED显示屏完成,LED的D0~D7为8位双向数据端,与AT89C51的P1口相连,系统框图如下图所示。

3.2 DS18B20芯片介绍DS18B20引脚定义:(1)DQ为数字信号输入输出端(2)GND为电源地(3)VDD为外接供电电源输入端温度寄存器(0和1字节)AT89C51时钟电路复位电路DS18B20数字温度传感器测温物体图1显示电路DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A VR学习笔记七、基于DS18B20的温度测量实验7.1 基于DS18B20的基本测温实验7.1.1、实例功能传统的温度测量采用热敏电阻,但热敏电阻存在可靠性差,测温准确率低,并且必须经过专门的接口电路将采集到的模拟量转换为数字量后才能由单片机处理。

DS18B20是美国DALLAS公司推出的一款单线数字温度传感器。

它具有:体积小,功耗低,精度高,可靠性好,易于单片机接口等优点,每片DS18B20都有唯一的一个可读出的序列号,同时DS18B20还采用了寄生电源技术,可以不用外接电源。

综合以上特点,DS18B20特别适合于多点测温系统。

本节首先介绍DS18B20的一些基本知识:特点、结构、原理、控制时序、与单片机的接口方法等。

最后通过一个实例实现最简单的温度测量。

本实例分为三个功能模块,分别描述如下:●单片机系统:利用A Tmega16单片机与DS18B20温度传感器通信,控制温度的采集过程,并将采集到的温度值通过串口发送到计算机。

●外围电路:外围电路分两部分:串口电路部分(实现将采集到的温度值发送到计算机的功能)、DS18B20温度采集电路(实现采集环境温度的功能)。

●软件程序:编写软件,实现温度测量和串口发送数据功能。

通过本实例的学习,掌握以下内容:●理解DS18B20的特点、结构和原理和接口设计方法。

●掌握DS18B20的控制时序和控制方法流程。

●掌握最简单的采集温度指令。

7.1.2 器件和原理1、DS18B20介绍DS18B20主要有以下特点:●单线接口:DS18B20与单片机连接时仅需一根I/O口线即可实现单片机与DS18B20之间的双向通信。

●实际使用中不需要任何外围元件。

●可用数据线供电,电压范围3.0-5.5V。

测温范围-55-+125o C。

●可编程实现9-12位的数字读数方式。

●用户可设定的非易失性(掉电不丢失)的温度上下线报警值。

●支持多点组网功能,多个DS18B20可并联在唯一的三总线上,实现多点温度测量。

●负压特性:电源极性接反时不会烧坏DS18B20,但是也不能正常工作DS18B20的外形级封装如图7.1.1,引脚说明:NC 空引脚,不连接外部信号。

VDD 电源引脚,电压范围3.0-5.5V。

GND 接地引脚。

DQ 数据引脚,传递数据的输入和输出。

该引脚常态下为开漏输出,输出高电平。

图7.1.1 DS18B20的外形级封装7.1.2DS18B20的内部结构DS18B20的内部结构如图7.1.2。

DS18B20的内部结构主要有64位ROM、温度灵敏元件、内部存储器和配置寄存器四部分组成。

图7.1.2 DS18B20的内部结构●64位ROM:64位ROM的内容是64位序列号,是出厂前用激光刻好的。

它可以用作该DS18B20的地址序列码。

每一个DS18B20的64位ROM都不同,这样就可以实现一根总线上挂多个DS18B20的目的。

这64位ROM的排列是:开始8位是产品类型号,接着的48位是该DS18B20的自身的序列号,最后8位是前面56位的循环冗余(CRC,CRC=X8+X5+X4+1)校验码。

●温度灵敏元件:温度灵敏元件完成对温度的测量,测量后的结果存储在两个8位的寄存器中,这两个寄存器定义如图7.1.3。

温度寄存器高字节的高5位是符号位,温度为负时这5位为1;温度为正时,这5位为0。

高字节寄存器的低3位与低字节寄存器的高4位组成温度的整数部分,低字节寄存器的低4位是温度的小数部分。

当温度大于0时,温度值以原码存放。

而当温度小于0时,以二进制补码形式存放。

当转换位数为12位时,温度的精度为1/16(4位小数位,所以为16)=0.0625度。

同理,当转换位数为11位时,精度为1/8=0.125度。

对于温度的计算,以12位转换位数为例:对于正的温度,只要将测到的数值的整数部分取出,转换为10进制,再将小数部分乘以0.0625就可以得到10进制的小数位的温度值了。

而对于负的温度,则需要将采集到的数值取反加1,即可得到实际温度的16进制表示。

再按照正温度的计算方法就可以得出10进制的负的温度了。

图7.1.3 DS18B20温度寄存器格式图7.1.4所示是在12位转换位数情况下的温度转换值和温度对照表图7.1.4 12位转换位数的温度转换值和温度对照表7.1.3 DS18B20的内部存储器DS18B20的内部存储器包括一个告诉暂存RAM和一个非易失性的可电擦除的EEPROM,后者存放温度的上下限报警值和配置寄存器。

高速暂存RAM以及EEPROM的构成如图7.1.5所示。

高速暂存RAM由9个字节组成,当温度转换命令发出后,经转换获得的温度值以二进制补码形式存放在第0(LSB)和第一(MSB)个字节内。

单片机通过单线接口DQ读出该数据,读取时低位在前,高位在后。

第二和第三个字节是温度的上(TH)下限(TL)报警值,他们没有小数位,第四个字节是配置寄存器,主要用以设置工作模式和转换位数。

第五、第六和第七字节是保留位,没有实际意义,第八个字节是前面所有8个字节的CRC校验码。

EEPROM由3个字节构成,用来存放温度的上下限报警值以及配置寄存器的内容。

图7.1.5 高速暂存RAM以及EEPROM的构成配置寄存器的各位意义如图7.1.6所示。

低五位的读出值总是为1,第7位是测试模式位,用于设置DS18B20是工作在测试模式还是工作模式,出厂时默认设置为0,用户不用改动。

R1和R0用来设置温度转换位数。

具体设置如图7.1.7所示。

图7.1.6 配置寄存器结构图7.1.7 温度值转换位数设置表7.1.4 DS18B20控制流程再由DS18B20构成的单总线系统中,DS18B20只能作为从机,单片机或者其它部件作为主机。

根据DS18B20的通信协议,主机控制DS18B20完成一次温度转换必须经过3个步骤:一)、每次读写之前都要对DS18B20进行复位操作二)、复位成功后发送一条ROM指令三)、最后发送RAM指令,这样才能够对DS18B20进行正确的操作。

●复位:复位要求主机将数据线拉低最少480us,然后释放,当DS18B20受到信号后,等待15-60us,然后把总线拉低60-240us,主机接收到此信号表示复位成功。

● ROM指令:ROM指令表明了主机寻址一个或多个DS18B20中的某个或某几个,或者是读取某个DS18B20的64位序列号。

● RAM指令:RAM指令用于主机对DS18B20内部RAM的操作(如启动温度转换、读取温度等)。

1、ROM操作命令:DS18B20采用一线通信接口。

因为一线通信接口,必须在先完成ROM 设定,否则记忆和控制功能将无法使用。

一旦总线检测到从属器件的存在,它便可以发出器件ROM操作指令,所有ROM操作指令均为8位长度,主要提供以下功能命令:1 )读ROM(指令码0X33H):当总线上只有一个节点(器件)时,读此节点的64位序列号。

如果总线上存在多于一个的节点,则此指令不能使用。

2 )ROM匹配(指令码0X55H):此命令后跟64位的ROM序列号,总线上只有与此序列号相同的DS18B20才会做出反应;该指令用于选中某个DS18B20,然后对该DS18B20进行读写操作。

3 )搜索ROM(指令码0XF0H):用于确定接在总线上DS18B20的个数和识别所有的64位ROM序列号。

当系统开始工作,总线主机可能不知道总线上的器件个数或者不知道其64位ROM序列号,搜索命令用于识别所有连接于总线上的64位ROM序列号。

4 )跳过ROM(指令码0XCCH):此指令只适合于总线上只有一个节点;该命令通过允许总线主机不提供64位ROM序列号而直接访问RAM,以节省操作时间。

5 )报警检查(指令码0XECH):此指令与搜索ROM指令基本相同,差别在于只有温度超过设定的上限或者下限值的DS18B20才会作出响应。

只要DS18B20一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值,或者改变TH或TL的设置使得测量值再一次位于允许的范围之内。

储存在EEPROM内的触发器用于告警。

这些指令操作作用在每一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。

2、RAM指令DS18B20有六条RAM命令:1)温度转换(指令码0X44H):启动DS18B20进行温度转换,结果存入内部RAM。

2)读暂存器(指令码0XBEH):读暂存器9个字节内容,此指令从RAM的第1个字节(字节0)开始读取,直到九个字节(字节8,CRC值)被读出为止。

如果不需要读出所有字节的内容,那么主机可以在任何时候发出复位信号以中止读操作。

3)写暂存器(指令码0X4EH):将上下限温度报警值和配置数据写入到RAM的2、3、4字节,此命令后跟需要些入到这三个字节的数据。

4)复制暂存器(指令码0X48H):把暂存器的2、3、4字节复制到EEPROM中,用以掉电保存。

5)重新调E2RAM(指令码0XB8H):把EEROM中的温度上下限及配置字节恢复到RAM的2、3、4字节,用以上电后恢复以前保存的报警值及配置字节。

6)读电源供电方式(指令码0XB4H):启动DS18B20发送电源供电方式的信号给主CPU。

对于在此命令送至DS18B20后所发出的第一次读出数据的时间片,器件都会给出其电源方式的信号。

“0”表示寄生电源供电。

“1”表示外部电源供电。

7.1.5 DS18B20的操作时序(本人查看数据手册和网上的例程,然后结合实际测试结果)1、DS18B20的初始化(1)先将数据线置高电平“1”。

(2)延时(该时间要求的不是很严格,但是尽可能的短一点)。

(3)数据线拉到低电平“0”。

(4)延时490微秒(该时间的时间范围可以从480到960微秒)。

(5)数据线拉到高电平“1”。

(6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。

据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。

(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。

(8)将数据线再次拉高到高电平“1”后结束。

2、DS18B20的写操作(1)数据线先置低电平“0”。

(2)延时确定的时间为2(小于15)微秒。

(3)按从低位到高位的顺序发送字节(一次只发送一位)。

(4)延时时间为62(大于60)微秒。

(5)将数据线拉到高电平,延时2(小于15)微秒。

(6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。

(7)最后将数据线拉高。

3、 DS18B20的读操作(1)将数据线拉高“1”。

相关文档
最新文档