温度传感器ds18b20资料

上传人:E**** 文档编号:100056000 上传时间:2019-09-22 格式:PPT 页数:17 大小:191.50KB
返回 下载 相关 举报
温度传感器ds18b20资料_第1页
第1页 / 共17页
温度传感器ds18b20资料_第2页
第2页 / 共17页
温度传感器ds18b20资料_第3页
第3页 / 共17页
温度传感器ds18b20资料_第4页
第4页 / 共17页
温度传感器ds18b20资料_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《温度传感器ds18b20资料》由会员分享,可在线阅读,更多相关《温度传感器ds18b20资料(17页珍藏版)》请在金锄头文库上搜索。

1、温度传感器DS18B20,实验系统采用的温度传感器DS18B20是美国DALLAS公司推出的增强型单总线数字温度传感器。 DS18B20的主要特征: 全数字温度转换及输出。 先进的单总线数据通信。 最高12位分辨率,精度可达土0.5摄氏度。 12位分辨率时的最大工作周期为750毫秒。 可选择寄生工作方式。 检测温度范围为55C +125 内置EEPROM,限温报警功能。 64位光刻ROM,内置产品序列号,方便多机挂接。 多样封装形式,适应不同硬件系统。,温度传感器DS18B20,DS18B20 的管脚排列如图: DQ 为数字信号输入/输出端; GND 为电源地; VDD 为外接供电电源输入端(

2、在寄生电源接线方式时接地)。,DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM、 温度传感器、 非挥发的温度报警触发器 TH 和 TL、 配置寄存器。,温度传感器DS18B20,DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 LS Byte: MS Byte:,温度传感器DS18B20,这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测

3、到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际温度。,例如:+125的数字输出为 07D0H,+25.0625的数字输出为 0191H,-25.0625的数字输出为 FF6FH,-55的数字输出为 FC90H。,控制器对DS18B20操作流程,复位:由单片机给DS18B20单总线500uS的低电平信号。当18B20接到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低

4、电平信号。 控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令在下文有详细的介绍。 控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执

5、行数据读写指令则需要严格遵循18B20的读写时序来操作。,控制器对DS18B20操作流程,若要读出当前的温度数据我们需要执行两次工作周期, 第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。 紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。,DS28B20芯片ROM指令表,Read ROM(读ROM)33H (方括号中的为16进制的命令字) Match ROM(指定匹配芯片)55H Skip ROM(跳跃ROM指令)CCH Search ROM(搜索芯片)F

6、0H Alarm Search(报警芯片搜索)ECH,DS28B20芯片存储器操作指令表,Write Scratchpad (向RAM中写数据)4EH Read Scratchpad (从RAM中读数据)BEH Copy Scratchpad (将RAM数据复制到EEPROM中)48H Convert T(温度转换)44H Recall EEPROM(将EEPROM中的报警值复制到RAM)B8H Read Power Supply(工作方式切换)B4H,DS18B20写时间隙,写时间隙分为写“0”和写“1”,时序如图。在写数据时间隙的前15uS总线需要是被控制器拉置低电平,而后则将是芯片对总线

7、数据的采样时间,采样时间在1560uS,采样时间内如果控制器将总线拉高则表示写“1”,如果控制器将总线拉低则表示写“0”。每一位的发送都应该有一个至少15uS的低电平起始位,随后的数据“0”或“1”应该在45uS内完成。整个位的发送时间应该保持在60120uS,否则不能保证通信的正常。,DS18B20读时间隙,读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少1uS的低电平,表示读时间的起始。随后在总线被释放后的15uS中DS18B20会发送内部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。每一位的读取之前都由控制器加一

8、个起始信号。注意:如图所示,必须在读间隙开始的15uS内读取数据位才可以保证通信的正确。,实验电路,实验要求与任务,本实验要求示例程序为读取 DS18B20 温度转换数据,并在数码管上以十进制形式显示。 提示:这里用两位数码管来显示温度。显示范围00到99度,显示精度为1度。因为12位转化时每一位的精度为0.0625度,我们不要求显示小数所以可以抛弃低4位,将高位中的低4位和低位中的高4位合并获得一个新字节,这个字节就是实际测量获得的温度。这个转化温度的方法非常简洁无需乘于0.0625系数,实验流程图,DS18B20参考子程序1,INIT_1820: ; 这是DS18B20复位初始化子程序 S

9、ETB P1.0 NOP CLR P1.0 MOV R1,#3 ;主机发出延时复位低脉冲 TSR1:MOV R0,#163 DJNZ R0,$ DJNZ R1,TSR1 SETB P1.0 ;然后拉高数据线 NOP NOP NOP MOV R0,#25H TSR2:JNB P1.0,TSR3 ;等待DS18B20回应 DJNZ R0,TSR2 LJMP TSR4 ; 延时 TSR3:SETB FLAG1 ; 置标志位,表示DS1820存在 LJMP TSR5 TSR4:CLR FLAG1 ; 清标志位,表示DS1820不存在 LJMP TSR7 TSR5:MOV R0,#117 TSR6:DJ

10、NZ R0,TSR6 ; 时序要求延时一段时间 TSR7:SETB P1.0 RET,DS18B20参考子程序2,WRITE_1820: ;写DS18B20的子程序(有具体的时序要求) MOV R2,#8 ;一共8位数据 CLR C WR1: CLR P1.0 MOV R3,#6 DJNZ R3,$ RRC A MOV P1.0,C MOV R3,#23 DJNZ R3,$ SETB P1.0 NOP DJNZ R2,WR1 SETB P1.0 RET,DS18B20参考子程序3,READ_18200: ; 读DS18B20的程序,从DS18B20中读出两个字节的温度数据 MOV R4,#2 ; 将温度高位和低位从DS18B20中读出 MOV R1,#28H ; 低位存入28H(TEMPER_L),高位存入29H(TEMPER_H) RE00:MOV R2,#8 ; 数据一共有8位 RE01:CLR C SETB P1.0 NOP NOP CLR P1.0 NOP NOP NOP SETB P1.0 MOV R3,#9 RE10:DJNZ R3,RE10 MOV C,P1.0 MOV R3,#23 RE20:DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV R1,A INC R1 DJNZ R4,RE00 RET,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号