收藏 分销(赏)

温度传感器DS18B20讲课教案.ppt

上传人:丰**** 文档编号:5444986 上传时间:2024-11-04 格式:PPT 页数:17 大小:205.50KB
下载 相关 举报
温度传感器DS18B20讲课教案.ppt_第1页
第1页 / 共17页
温度传感器DS18B20讲课教案.ppt_第2页
第2页 / 共17页
温度传感器DS18B20讲课教案.ppt_第3页
第3页 / 共17页
温度传感器DS18B20讲课教案.ppt_第4页
第4页 / 共17页
温度传感器DS18B20讲课教案.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、温度传感器DS18B20DS18B20 内部结构主要由四部分组成:n n64 位光刻 ROM、n n温度传感器、n n非挥发的温度报警触发器 TH 和 TL、n n配置寄存器。温度传感器DS18B20 DS18B20 DS18B20 中的温度传感器可完成对温度的测量,中的温度传感器可完成对温度的测量,以以 12 12 位转化为例:用位转化为例:用 16 16 位符号扩展的二进制补码读位符号扩展的二进制补码读数形式提供,以数形式提供,以0.06250.0625/LSB/LSB形式表达,其中形式表达,其中S S为符为符号位。号位。LS Byte:LS Byte:MS Byte:MS Byte:Bi

2、t7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS262524温度传感器DS18B20 这是这是 12 12 位转化后得到的位转化后得到的 12 12 位数据,存储在位数据,存储在 18B20 18B20 的两个的两个 8 8 比特的比特的 RAM RAM 中,二进制中的前面中,二进制中的前面 5 5 位是符号位,如果测得的位是符号位,如果测得的温度大于温度大于 0 0,这,这 5 5 位为位为 0 0,只要将测到的数值乘于,只要将测到的数值乘于 0.0625

3、 0.0625 即可得即可得到实际温度;如果温度小于到实际温度;如果温度小于 0 0,这,这 5 5 位为位为 1 1,测到的数值需要取,测到的数值需要取反加反加 1 1 再乘于再乘于 0.0625 0.0625 即可得到实际温度。即可得到实际温度。Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS262524 例如:例如:+125+125的数字输出为的数字输出为 07D0H 07D0H,+25.0625+25.0625的数字输的数字输出为出为 0191H

4、 0191H,-25.0625-25.0625的数字输出为的数字输出为 FF6FH FF6FH,-55-55的数字输的数字输出为出为 FC90H FC90H。控制器对控制器对DS18B20操作流程操作流程 1.1.复位:由单片机给复位:由单片机给DS18B20DS18B20单总线单总线500uS500uS的低电平信号。当的低电平信号。当18B2018B20接到此复位信号后则会在接到此复位信号后则会在1560uS1560uS后回发一个芯片的存在脉冲。后回发一个芯片的存在脉冲。2.2.存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高

5、,以便于在以便于在1560uS1560uS后接收存在脉冲,存在脉冲为一个后接收存在脉冲,存在脉冲为一个60240uS60240uS的的低电平信号。低电平信号。3.3.控制器发送控制器发送ROMROM指令:双方打完了招呼之后最要将进行交流了,指令:双方打完了招呼之后最要将进行交流了,ROMROM指令共有指令共有5 5条,每一个工作周期只能发一条,条,每一个工作周期只能发一条,ROMROM指令分别指令分别是读是读ROMROM数据、指定匹配芯片、跳跃数据、指定匹配芯片、跳跃ROMROM、芯片搜索、报警芯、芯片搜索、报警芯片搜索。片搜索。ROMROM指令在下文有详细的介绍。指令在下文有详细的介绍。4.

6、4.控制器发送存储器操作指令:在控制器发送存储器操作指令:在ROMROM指令发送给指令发送给18B2018B20之后,紧之后,紧接着(不间断)就是发送存储器操作指令了。存储器操作指令的接着(不间断)就是发送存储器操作指令了。存储器操作指令的功能是命令功能是命令18B2018B20作什么样的工作,是芯片控制的关键。作什么样的工作,是芯片控制的关键。5.5.执行或数据读写:一个存储器操作指令结束后则将进行指令执行执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单

7、片机)必须等待转换指令则控制器(单片机)必须等待18B2018B20执行其指令,一般执行其指令,一般转换时间为转换时间为500uS500uS。如执行数据读写指令则需要严格遵循。如执行数据读写指令则需要严格遵循18B2018B20的的读写时序来操作。读写时序来操作。控制器对控制器对DS18B20操作流程操作流程 若要读出当前的温度数据我们需要执行两次工作周期,n n第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。n n紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节

8、即可)。DS28B20芯片芯片ROM指令表指令表 n nRead ROM(读ROM)33H(方括号中的为16进制的命令字)n nMatch ROM(指定匹配芯片)55Hn nSkip ROM(跳跃ROM指令)CCHn nSearch ROM(搜索芯片)F0Hn nAlarm Search(报警芯片搜索)ECHDS28B20芯片存储器操作指令表芯片存储器操作指令表 n nWrite Scratchpad Write Scratchpad(向(向RAMRAM中写数据)中写数据)4EH4EHn nRead Scratchpad Read Scratchpad(从(从RAMRAM中读数据)中读数据)B

9、EHBEHn nCopy Scratchpad Copy Scratchpad(将(将RAMRAM数据复制到数据复制到EEPROMEEPROM中)中)48H48Hn nConvert TConvert T(温度转换)(温度转换)44H44Hn nRecall EEPROMRecall EEPROM(将(将EEPROMEEPROM中的报警值复制到中的报警值复制到RAMRAM)B8HB8Hn nRead Power SupplyRead Power Supply(工作方式切换)(工作方式切换)B4HB4HDS18B20写时间隙写时间隙 写时间隙分为写写时间隙分为写“0”“0”和写和写“1”“1”,

10、时序如图。在写数据,时序如图。在写数据时间隙的前时间隙的前15uS15uS总线需要是被控制器拉置低电平,而后则将是总线需要是被控制器拉置低电平,而后则将是芯片对总线数据的采样时间,采样时间在芯片对总线数据的采样时间,采样时间在1560uS1560uS,采样时间,采样时间内如果控制器将总线拉高则表示写内如果控制器将总线拉高则表示写“1”“1”,如果控制器将总线,如果控制器将总线拉低则表示写拉低则表示写“0”“0”。每一位的发送都应该有一个至少。每一位的发送都应该有一个至少15uS15uS的的低电平起始位,随后的数据低电平起始位,随后的数据“0”“0”或或“1”“1”应该在应该在45uS45uS内

11、完成。内完成。整个位的发送时间应该保持在整个位的发送时间应该保持在60120uS60120uS,否则不能保证通信的,否则不能保证通信的正常。正常。DS18B20读时间隙读时间隙 读时间隙时控制时的采样时间应该更加的精确才行,读时间读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少隙时也是必须先由主机产生至少1uS1uS的低电平,表示读时间的起的低电平,表示读时间的起始。随后在总线被释放后的始。随后在总线被释放后的15uS15uS中中DS18B20DS18B20会发送内部数据位,会发送内部数据位,这时控制如果发现总线为高电平表示读出这时控制如果发现总线为高电平表示读

12、出“1”“1”,如果总线为低,如果总线为低电平则表示读出数据电平则表示读出数据“0”“0”。每一位的读取之前都由控制器加一。每一位的读取之前都由控制器加一个起始信号。注意:如图所示,必须在读间隙开始的个起始信号。注意:如图所示,必须在读间隙开始的15uS15uS内读取内读取数据位才可以保证通信的正确。数据位才可以保证通信的正确。实验电路实验电路 实验要求与任务实验要求与任务 本实验要求示例程序为读取本实验要求示例程序为读取 DS18B20 DS18B20 温度转温度转换数据,并在数码管上以十进制形式显示。换数据,并在数码管上以十进制形式显示。提示:这里用两位数码管来显示温度。显示提示:这里用两

13、位数码管来显示温度。显示范围范围0000到到9999度,显示精度为度,显示精度为1 1度。因为度。因为1212位转化时位转化时每一位的精度为每一位的精度为0.06250.0625度度,我们不要求显示小数所我们不要求显示小数所以可以抛弃低以可以抛弃低4 4位,将高位中的低位,将高位中的低4 4位和低位中的位和低位中的高高4 4位合并获得一个新字节,这个字节就是实际测位合并获得一个新字节,这个字节就是实际测量获得的温度。这个转化温度的方法非常简洁无量获得的温度。这个转化温度的方法非常简洁无需乘于需乘于0.06250.0625系数系数 实验流程图实验流程图 DS18B20参考子程序1INIT_182

14、0:;INIT_1820:;这是这是DS18B20DS18B20复位初始化子程序复位初始化子程序 SETB P1.0 SETB P1.0 NOP NOP CLR P1.0 CLR P1.0 MOV R1,#3 ;MOV R1,#3 ;主机发出延时复位低脉冲主机发出延时复位低脉冲TSR1:MOV R0,#163TSR1:MOV R0,#163 DJNZ R0,$DJNZ R0,$DJNZ R1,TSR1 DJNZ R1,TSR1 SETB P1.0 ;SETB P1.0 ;然后拉高数据线然后拉高数据线 NOP NOP NOP NOP NOP NOP MOV R0,#25H MOV R0,#25H

15、TSR2:JNB P1.0,TSR3 ;TSR2:JNB P1.0,TSR3 ;等待等待DS18B20DS18B20回应回应 DJNZ R0,TSR2 DJNZ R0,TSR2 LJMP TSR4 ;LJMP TSR4 ;延时延时TSR3:SETB FLAG1 ;TSR3:SETB FLAG1 ;置标志位置标志位,表示表示DS1820DS1820存在存在 LJMP TSR5 LJMP TSR5TSR4:CLR FLAG1 ;TSR4:CLR FLAG1 ;清标志位清标志位,表示表示DS1820DS1820不存在不存在 LJMP TSR7 LJMP TSR7TSR5:MOV R0,#117TSR

16、5:MOV R0,#117TSR6:DJNZ R0,TSR6 ;TSR6:DJNZ R0,TSR6 ;时序要求延时一段时间时序要求延时一段时间TSR7:SETB P1.0TSR7:SETB P1.0 RET RETDS18B20参考子程序2WRITE_1820:;WRITE_1820:;写写DS18B20DS18B20的子程序的子程序(有具体的时序要求有具体的时序要求)MOV R2,#8 ;MOV R2,#8 ;一共一共8 8位数据位数据 CLR C CLR CWR1:CLR P1.0WR1:CLR P1.0 MOV R3,#6 MOV R3,#6 DJNZ R3,$DJNZ R3,$RRC

17、A RRC A MOV P1.0,C MOV P1.0,C MOV R3,#23 MOV R3,#23 DJNZ R3,$DJNZ R3,$SETB P1.0 SETB P1.0 NOP NOP DJNZ R2,WR1 DJNZ R2,WR1 SETB P1.0 SETB P1.0 RET RETDS18B20参考子程序3READ_18200:;READ_18200:;读读DS18B20DS18B20的程序,从的程序,从DS18B20DS18B20中读出两个字节的温度数据中读出两个字节的温度数据 MOV R4,#2 ;MOV R4,#2 ;将温度高位和低位从将温度高位和低位从DS18B20DS

18、18B20中读出中读出 MOV R1,#28H ;MOV R1,#28H ;低位存入低位存入28H(TEMPER_L),28H(TEMPER_L),高位存入高位存入29H(TEMPER_H)29H(TEMPER_H)RE00:MOV R2,#8 ;RE00:MOV R2,#8 ;数据一共有数据一共有8 8位位RE01:CLR CRE01:CLR C SETB P1.0 SETB P1.0 NOP NOP NOP NOP CLR P1.0 CLR P1.0 NOP NOP NOP NOP NOP NOP SETB P1.0 SETB P1.0 MOV R3,#9 MOV R3,#9RE10:DJNZ R3,RE10RE10:DJNZ R3,RE10 MOV C,P1.0 MOV C,P1.0 MOV R3,#23 MOV R3,#23RE20:DJNZ R3,RE20RE20:DJNZ R3,RE20 RRC A RRC A DJNZ R2,RE01 DJNZ R2,RE01 MOV R1,A MOV R1,A INC R1 INC R1 DJNZ R4,RE00 DJNZ R4,RE00 RET RET此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服