温度传感器DS18B20_第1页
温度传感器DS18B20_第2页
温度传感器DS18B20_第3页
温度传感器DS18B20_第4页
温度传感器DS18B20_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

温度传感器DS18B20。实验系统中使用的温度传感器DS18B20是美国DALLAS公司推出的增强型单总线数字温度传感器。DS18B20的主要特点:全数字温度转换和输出。高级单总线数据通信。最高分辨率为12位,精度可达0.5摄氏度。12位分辨率的最大占空比为750毫秒。可以选择寄生操作模式。检测温度范围为-55C 125,内置EEPROM和温度极限报警功能。内置序列号的64位光刻只读存储器便于多机连接。各种包装形式适用于不同的硬件系统。温度传感器DS18B20、DS18B20的引脚排列如下:DQ为数字信号输入/输出端;GND是供电地;VDD是外部电源的输入(在寄生电源连接模式下接地)。DS18B20的内部结构主要由四部分组成:64位光刻机只读存储器、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器。温度传感器DS18B20、DS18B20和DS18B20中的温度传感器可以测量温度。以12位转换为例:以二进制补码读取的形式提供,用16位符号扩展,以0.0625/LSB的形式表示,其中S为符号位。LSByte:MSByte:温度传感器DS18B20,12位转换后得到的12位数据,存储在18B20的两个8位内存中,二进制中的前5位为符号位,如果测得的温度大于0,则5位为0,只要将测得的值乘以0.0625,就可以得到实际温度;如果温度小于0,则5位为1,测量值需要乘以0.0625才能获得实际温度。例如,125时的数字输出为07D0H,25.0625时的数字输出为0191H,25.0625时的数字输出为FF6FH,55时的数字输出为FC90H。控制器复位DS18B20的操作流程:微控制器向DS18B20单总线发送500位的低电平信号。当18B20接收到该复位信号时,它将在15-60微秒后发回一个芯片存在脉冲。存在脉冲:复位电平结束后,控制器应拉起数据单总线,以便在15-60 us后接收存在脉冲。存在脉冲是60-240 us的低电平信号。控制器发送只读存储器指令:问候后,双方将进行最多的交流。有5条只读存储器指令,每个工作周期只能发送一条只读存储器指令。只读存储器指令分别是读取只读存储器数据、指定匹配芯片、跳转只读存储器、芯片搜索和报警芯片搜索。下面详细描述了只读存储器指令。控制器发送内存操作指令:只读存储器指令发送到18B20后,立即发送内存操作指令(无中断)。存储器操作指令的功能是指令18B20做什么样的工作,这是芯片控制的关键。执行或数据读写:存储器操作指令完成后,根据存储器操作指令执行指令或数据读写。如果执行温度转换指令,控制器(单片机)必须等待18B20执行其指令,一般转换时间为500微秒。如果执行数据读写指令,必须严格遵循18B20的读写时序才能运行。DS18B20的控制器操作流程,读取当前温度数据需要执行两个工作周期,第一个周期是复位,跳过只读存储器指令,执行温度转换存储器操作指令,等待500uS温度转换时间。接下来的第二个周期包括复位、跳过只读存储器指令、执行存储器操作指令以读取随机存取存储器和读取数据(最多9个字节,可在中间停止,而对于简单的温度值仅读取前2个字节)。DS28B20芯片只读存储器指令表,读只读存储器(读只读存储器)33H(方括号中的十六进制命令字)匹配只读存储器(指定匹配芯片)55H跳过只读存储器(跳转只读存储器指令)CCH搜索只读存储器(搜索芯片)F0H报警芯片搜索ECH,DS28B20芯片内存操作指令表,写便笺(将数据写入内存)4EH读便笺(从内存中读取数据)BEH复制便笺(将内存数据复制到EEPROM)48H转换(温度转换)44H重调用时间如图所示。当写入数据时,间隙的前15U总线需要被控制器拉低,然后芯片对总线数据的采样时间将是15-60U。在采样期间,如果控制器将总线拉高,则意味着写入“1”,如果控制器将总线拉低,则意味着写入“0”。每一位应有至少15U的低电平起始位,以下数据“0”或“1”应在45U内完成。整个比特的传输时间应保持在60 120微秒,否则无法保证正常通信。DS18B20读取时间间隔,读取时间间隔控制采样时间应该更准确,读取时间间隔也必须首先由主机产生至少1uS的低电平,表示读取时间的开始。总线释放后,DS18B20将发送15U的内部数据位。此时,如果发现总线为高电平,控制将指示读出“1”,如果总线为低电平,则指示读出数据“0”。控制器在读取每个位之前添加一个开始信号。注意:如图所示,数据位必须从读取间隙开始在15微秒内读取,以确保正确通信。实验电路、实验要求和任务。本实验要求样本程序读取DS18B20温度转换数据,并以十进制形式显示在数码管上。提示:这里用两位数的数码管显示温度。显示范围为00至99度,显示精度为1度。由于转换12位时,每个位的精度为0.0625度,因此我们不需要显示十进制数,因此我们可以丢弃低4位,将高4位的低4位和低4位的高4位合并,以获得一个新的字节,即实际测量的温度。这种转换温度方法非常简单,不需要乘以0.0625系数。实验流程图,DS18B20参考子程序1,INIT _ 18203:这是DS18B20复位初始化子程序SETBP 1.0 OPCLR 1.0 OVR 1,# 3;主机发出延迟复位低脉冲TSR 1:movr0,# 163 djnzr0,$ djnzr1,tsr1 setbp 1.0。然后上拉数据线nopnopnoppmovr0、# 25htsr2:jnbp1.0、tsr3。等待DS18B20响应DJNZR0、TSR2LJMPTSR4延迟TSR3:SETBFLAG1。设置该标志以指示在DS1820中存在LJMPTSR 5ST R 4: CLRFLAG 1;清除标志位,表示ljmptsr7tsr5:movr0,# 117tsr63360djnzr0,tsr6不存在于DS1820中。时序要求延迟为TSR 7: ETBP 1.0 RET,DS18B20参考子程序2,WRITE _ 1820:编写DS18B20子程序(具有特定的时序要求)MOVR2,# 8;总共8位数据clrcwr1:clrp 1.0movr3,# 6djnzr3,$ rrcamovp1.0,cmovr3,# 23djnzr3,$ setbp 1.0nopdjnzr2,wr1setbp 1.0ret,ds18b20参考子程序3,read _ 182003360。读取DS18B20程序,并从DS18B20读取两个字节的温度数据MOVR4、#2。在高低温下从DS18B20读取MOVR1、# 28H低位存储器28h (temp _ l),高位存储器29h (temp _ h) re003360movr2,# 8;数据总数为8位re0 1: clrcs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论