ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:55.01KB ,
资源ID:12566296      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12566296.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DS18B20说明书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DS18B20说明书.docx

1、DS18B20说明书附录1:DS18B20型单线智能温度传感器简介 由美国DALLAS半导体公司生产的DSl8B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中,例如多路温度测控仪、中央空调、大型冷库、恒温装置等。此外巧妙利用DSl8B20内部64位激光ROM中具有惟一性的48位产品序号,还可设计成专供大型宾馆客房或军事仓库使用的保密性极佳的电子密码锁。DSl8B20的电源电压范围均扩展到+3+5.5V,DSl8B20还能对温度分辨力进行编程,选择9位12位模式下工作,在12位模式下的最高分辨力可达0.

2、0625。下面介绍DSl8B20的性能特点和工作原理。11 DS18B20的性能特点(1)DSl8B20采用DALLAS公司独特的“单线(1-Wire)总线”专有技术,通过串行通信接口(I/O)直接输出被测温度值(9位二进制数据,含符号位)。(2)在测温范围是-55+125时,测量误差不超过2,在-10+85范围内,可确保测量误差不超过0.5。温度数字量转换时间的典型值仅需93.75ms,比DS1820有很大的提高.(3)内含64位经过激光修正的只读存储器ROM,扣除8位产品系列号和8位循环冗余校验码CRC之后,产品序号占48位。出厂前就作为DSl8B20惟一的产品序号,存入其ROM中。在构成

3、大型温控系统时,允许在单线总线上挂接多片DSl8B20。(4)适配各种单片机或系统机。(5)用户可分别设定各路温度的上、下限并写入随机存储器RAM中。利用报警搜索命令和寻址功能,可迅速识别出发生了温度越限报警的器件。(6)内含寄生电源。该器件既可由单线总线供电,亦可选用外部+5V电源(允许电压范围是3.05.5V),进行温度数字转换时的工作电流约为1.5mA,待机电流仅25uA,典型功耗为5mW。12 DS18B20的工作原理DSl8B20的原理与DS1820的原理是一样的。DS18B20继承了DS1820的所有优点。DS18B20采用3脚PR35封装或8脚SOIC封装,引脚排列如图11所示。

4、I/O为数据输入输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。UDD是可供选用的外部+5V电源端,不用时需接地。GND为地,NC为空脚。其内部框图如图12所示。主要包括7部分:寄生电源;温度传感器; 64位激光(laser)ROM与单线接口;高速暂存器,即便笺式RAM,用于存放中间数据;TH 触发寄存器和TL触发寄存器,分别用来存储用户设定的温度上、下限tH、tL值;存储与控制逻辑;8位循环冗余校验码(CRC)发生器。下面分别介绍各部分的工作原理。(a) (b)图11 DS1820/DS18B20的引脚排列(a) PR35封装 (b) SOIC封装图12 DS18B

5、20的内部框图 (1)寄生电源 寄生电源由二极管VD1、VD2和寄生电容C所组成。电源检测电路用于判定供电方式并输出相应的逻辑电平(“0”表示用寄生电源供电,“1”表示由外部电源供电),以便高速暂存器能够读出数据和命令。采用寄生电源供电时UDD端需接地,DSl8B20就从单线总线上获取电源。当I/O线为高电平时VD1导通,VD2截止,除向DSl8B20供电外,还把部分电储存在C中。当IO线呈低电平时,VD1截止,改由C上的电压Uc继续向DSl8B20供电,该寄生电源有两个显著优点:第一,检测远程温度时无须本地电源;第二,在缺少正常电源时也能读ROM。使用寄生电源时应注意,在温度转换期间uP,应

6、使I/O线保持高电平。若使用外部电源UDD,就通过VD2向器件供电,此时VD1截止。图13示出N片DSl8B20与80C31单片机的接线,R为上拉电阻,典型值可取5.1k或4.7k。80C31(主CPU)和DS18B20所用的电源电压,分别用Ucc、UDD表示,下同。现将8031单片机P1口中的P1.0端接单线总线,加总线驱动电源后,理论上总线最多可挂接248片DSl8B20。80C31依次发出操作指令,各片DSl8B20即可在200500ms之内完成温度转换。 图13 多片DS1820(DS18B20)与80C31的接线 (2)测温电路原理 DSl8B20内部测温电路框图如图14 所示。低温

7、度系数振荡器用于产生稳定的频率0,高温度系数振荡器则相当于T转换器,能将被测温度t转换成频率信号0图中还隐含着计数门,当计数门打开时,DSl8B20就对低温度系数振荡器产生的时钟脉冲0进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定。每次测量前,首先将-55所对应的基数分别置入减法计数器、温度寄存器中。在计数门关闭之前若计数器已减至零,温度寄存器中的数值就增加0.5。然后,计数器依斜率累加器的状态置入新的数值,再对时钟计数,然后减至零,温度寄存器值又增加0.5。只要计数门仍未关闭,就重复上述过程,直至温度寄存值达到被测温度值。这就是DSl8B20的测温原理。斜率累加器能对振

8、荡器的非线性予以补偿,提高测量准确度。 需要指出,温度值本应为9位(其中,符号占一位),但因符号位又被扩展成高8位,故实际以16位补码的形式读出。其中,高8位代表符号,“0”表示t0,“1”表示ttH或ttH),或者低于下限(ttL)。上电时,IJSl820预置报警条件为设置状态,直到首次温度测量结果既不超过tH,也不低于tL时,报警信号才被解除。此次设计只需用到CCH命令。如下图4-2所示。图18 跳过ROM的操作流程图4、DS1820的通信协议 DSl820有严格的通信协议来保证各位数据传输的正确性和完整性。通信协议规定了复位脉冲、应答脉冲、写0、写1、读0和读1等几种信号的时序。除了应答

9、脉冲,其余信号均由主CPU控制。 在对DSl820进行ROM及RAM操作之前,主CPU首先发出一个复位脉冲(最小脉冲宽度为480s的低电平信号);然后主CPU便释放单线总线(I/O线),使之处于接收状态。单线总线经过上拉电阻被拉至高电平。当DSl820检测到I/O端的上升沿后,就等待1560s,再向主CPU发出应答脉冲(60240s的低电平信号)。在初始化过程中,复位脉冲与应答脉冲的波形参见图4-1。 5、 存储器操作命令存储器操作命令共6条,具体如下: (1)温度转换命令(CONVERTT)44H。令DSl820进行温度转换。如果主CPU在该命令之后为读时序,那么只要DSl820正忙于进行温

10、度转换,即读得“0”;当温度转换完成时,DSl820则返回“1”。假如由寄生电源给DSl820供电,主CPU在发出该命令后立即将单线总线拉成高电平,并且保持500ms时间,以便在温度转换期间给DSl820提供所需要的电源。 (2)读暂存存储器(READ SCRATCHPAD)BEH。该命令为读暂存存储器9个字节的内容。从字节0开始读,直至读到字节8。主CPU可以在读暂存存储器期间发出一个复位脉冲来终止读操作。 (3)写暂存存储器(WRITESCRATCHPAD)4EH。该命令发出后,主CPU送给DSl820的两个字节数据就分别写入丁H触发寄存器和Tl触发寄存器中,顺序是先写TH,后写TL。主C

11、PU也可以在写暂存存储器期间发出一个复位脉冲来终止写操作。 (4)复制暂存存储器(COPYSCRATCHPAD)48H。该命令把触发寄存器中的TH、TL字节分别复制到E2RAM的TH、TL字节上。若主CPU发出该命令后又进行读操作,只要DSl820正忙于复制,主CPU就读得“0”;当复制工作完成后,DSl820又返回“1”。如果由寄生电源供电,主CPU在发出该命令后就把单线总线拉到高电平,并保持10ms。 (5)重新调出E22RAM(RECALL E2RAM)B8H。该命令是把存储在E2RAM温度触发器TH、TL内的数据重新调入暂存存储器的TH、TL字节。每次DSl820上电时也自动进行这种操

12、作。因此,只要器件接通电源,暂存存储器的TH和TL中已经有有效的数据供使用。若主CPU在发出该命令之后又进行读操作,只要DSl820正忙于进行调出,主CPU就读得“0”(表示“忙碌”);完成调出操作后DSl820即返回“1”(表示“操作完毕”)。(6)读电源(READ POWER SUPPLY)B4H。此项命令发送给DSl820之后,对主CPU发出的每一条读命令,DSl820都向主CPU提供电源方式信号“0”(表示由寄生电源供电)或者“1”(表示由外部电源供电)。6、 读/写时序 主CPU通过时序(亦称作“时间片”)来写入或读出DSl820中的数据。时序用于传输数据位和指定进行何种操作的命令字

13、。 (1)写时序。主CPU把I/O线(即单线总线,亦称数据线)从高电平拉至低电平时,作为一个写周期的开始。写时序包括两种类型:写1时序,写0时序。写1或写0时序时必须保持至少60s,在两个写周期之间至少要有1s的恢复期。 DSl820在I/O线变为低电平后的1560s的时间内进行采样。若I/O线为高电平,即认为写入了一位1;若I/O线为低电平,即认为写入了一位0。写时序的波形如图4-3a所示。主CPU在开始写1周期时,必须将I/O线拉至低电平,然后再释放,15s内将I/O线拉成高电平。主CPU在开始写0周期时,也应将I/O线拉至低电平,并保持60s的时间。图19 读/写时序波形图(a)写时序

14、(b)读时序 (2)读时序。当主CPU将I/O线从高电平拉成低电平时,就作为一个读周期的开始,并且I/O线保持低电平的时间至少为1s。DSl820的输出数据在读时序下降沿过后的15s内有效。在此期间,主CPU应释放I/O线,使之处于输入状态以便读取数据。经过15s后读时序结束,I/O线经外部上拉电阻又变成高电平。读取一位数据至少需要60s时间,并且在两位数据之间至少要有1s的恢复期。读时序的波形如图4-3b所示。 令初始化时间为TINIT,电路的时间常数为TRC。主CPU的采样时间为TSAMPLE,高电平的闽值电压为UIH。在如图4-4所示主CPU读一位数据的波形中,要求TINIT+TRC+T

15、SAMPLE15s。经过改进后,主CPU读一位数据的波形如图4-5所示,采用尽量缩短TINIT、TRC的周期并把主CPU采样期安排到末尾的方法,可以使总线有更充裕的稳定时间。 7、 读写时间片DSl820的读写时间片如图19所示。这里讲的“时间片”(time slot)亦称时间间隙,简称时隙。该图对其他类型的单线智能温度传感器也适用。图中,tSLOT代表时间片,TREC为恢复时间。TLOW0、tLOWl分别表示在写0、写1时单线总线保持低电平的时间。tRDV为读数据有效时间。tRSTL为复位信号的低电平时间。tPDHIGH、tPDLOW分别表示应答信号的高、低电平时间。图110 读一位数据的波

16、形图图111 改进后一位数据的波形图8、 复位子程序的编写图112 复位子程序 复位子程序的编写:CLR P3.3 LCALL YS600s SETB P3.3 LCALL YS20s RET9、写一字节子程序 写一字节就是要对DS1820连续写入8位数据,写1位数据已经在前节中作了详细的介绍,这里不再论述。图113为写字节的流程图。在编写程序时,首先把要写入的字节送入A中,然后执行以下程序: 图113 写一字节的流程图WRZC: MOV R0,#08HWR0: SETB P3.3 NOP CLR P3.3 RRC A JNC WR1 SETB P3.3WR1: MOV R1,#0DH LCALL YS DJNZ R0,WR0 SETB P3.3 NOP RET10、读一字节子程序读一字节也是在读一位数据的基础上进行的。通过连续读出8位数据,得到一字节。低位在前,入口R3的值为字节数,R2为每个字节8位,R0为存数首址。图4-10 为读一字节流程图。读一字节程序的编写如下:RDD: MOV R0,#60HRD0: MOV R2,#08HRD1: CLR P3.3 NOP MOV C,P3.3 RRC A MOV R1,#0EH LCALL YS DJNZ R2,RD1 MOV R0,A INC R0 DJNZ R3,RD0 RET图4-10 读一字节流程图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1