精确把握DS18B20读写时序延长连接距离

合集下载

DS18B20工作原理及时序

DS18B20工作原理及时序

DS18B20原理与分析DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。

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

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

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

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

1.DS18B20简介(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)在使用中不需要任何外围元件。

(3)可用数据线供电,电压范围:+3.0~ +5.5 V。

(4)测温范围:-55 ~+125 ℃。

固有测温分辨率为0.5 ℃。

(5)通过编程可实现9~12位的数字读数方式。

(6)用户可自设定非易失性的报警上下限值。

(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。

(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

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

计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 ℃所对应的一个基数值。

DS18B20数字温度传感器介绍

DS18B20数字温度传感器介绍

DS18B20数字温度传感器介绍[日期:2011-02-22 ] [来源:本站编辑作者:佚名] [字体:大中小] (投递新闻)目前常用的微机与外设之间进行的数据通信的串行总线主要有I 2C 总线,SPI 总线等。

其中I 2C 总线以同步串行 2 线方式进行通信(一条时钟线,一条数据线),SPI 总线则以同步串行3 线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。

这些总线至少需要两条或两条以上的信号线。

而单总线(1-wire bus ),采用单根信号线,既可传输数据,而且数据传输是双向的,CPU 只需一根端口线就能与诸多单总线器件通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

因而,这种单总线技术具有线路简单,硬件开销少,成本低廉,软件设计简单,便于总线扩展和维护。

同时,基于单总线技术能较好地解决传统识别器普遍存在的携带不便,易损坏,易受腐馈,易受电磁干扰等不足,因此,单总线具有广阔的应用前景,是值得关注的一个发展领域。

单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。

主机或从机通过一个漏极开路或三态端口连至数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。

单总线通常要求外接一个约为 4.7K 的上拉电阻,这样,当总线闲置时其状态为高电平。

DS18B20 数字式温度传感器,与传统的热敏电阻有所不同的是,使用集成芯片,采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度,同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单,使数据传输和处理简单化。

部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,这也就缩短了开发的周期。

DS18B20 单线数字温度传感器,即“一线器件”,其具有独特的优点:(1 )采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯。

DS18B20的c读写程序

DS18B20的c读写程序

1.//这是关于DS18B20的c读写程序,数据脚P1.0,晶振12MHZ2.//采用的是启东单片机开发板AY-MPU89S51E3.//进行温度显示,这里我们考虑用四位数码管来显示温度4.//显示范围-55.0到+99.5度,显示精度为0.5度5.//关于程序中的延时请参考ds18b20的读写时序6.7.#include <reg52.h>8.#define uchar unsigned char9.10.uchar tempint,tempdf; //温度整数部分和小数部分11.12.sbit TMDAT = P1^0; //根据实实际情况设定13.sbit ld7=P1^7; //初始化成功标志led14.sbit ld6=P1^6; //负温度标志led15.sbit point=P0^7; //小数点显示16.uchar f; //负温度标志17.18.code unsigned char ledmap[]={19. 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0xBF};20. //7段数码管0~9数字的共阳显示代码和负号位代码(最后一位)21.22.void set_ds18b20(); //初始化DS18B20子程序23.void get_temperature(); //获得温度子程序24.void read_ds18b20(); //读DS18B20子程序25.void write_ds18b20(uchar command);//向DS18B20写1字节子程序26.void delayms(uchar count); //延时count毫秒子程序27.void disp_temp(); //显示温度子程序28.29.void main()30.{31.SP=0x60; //设置堆栈指针32.while(1)33.{34.get_temperature(); //获得温度35.if(tempdf>=8)36. { //0.5度精度显示37.tempdf=5;38. }39.else40. {41.tempdf=0;42. }43.disp_temp(); //显示温度44.}45.}46.47.void set_ds18b20()48.{49. while(1)50. {51. uchar delay,flag;52. flag=0;53. TMDAT=1;54. delay=1;55. while(--delay);56. TMDAT=0; //数据线置低电平57. delay=250;58. while(--delay); //低电平保持500us59. TMDAT=1; //数据线置高电平60. delay=30;61. while(--delay); //高电平保持60us62. while(TMDAT==0) //判断DS18B20是否发出低电平信号63. {64. delay=210; //DS18B20响应,延时420us65. while(--delay);66. if(TMDAT) //DS18B20发出高电平初始化成功,返回67. {68. flag=1; //DS18B20初始化成功标志69. ld7=0; //初始化成功LED标志70. break;71. }72. }73. if(flag) //初始化成功,再延时480us,时序要求74. {75. delay=240;76. while(--delay);77. break;78. }79. }80.}81.82.void get_temperature() //温度转换、获得温度子程序83.{84. set_ds18b20(); //初始化DS18B2085. write_ds18b20(0xcc); //发跳过ROM匹配命令86. write_ds18b20(0x44); //发温度转换命令87. disp_temp(); //显示温度,等待AD转换88. set_ds18b20();89. write_ds18b20(0xcc); //发跳过ROM匹配命令90. write_ds18b20(0xbe); //发出读温度命令91. read_ds18b20(); //将读出的温度数据保存到tempint和tempdf处92.93.}94.95.void read_ds18b20()96.{97. uchar delay,i,j,k,temp,temph,templ;98. j=2; //读2位字节数据99. do100. {101. for(i=8;i>0;i--) //一个字节分8位读取102. {103. temp>>=1; //读取1位右移1位104. TMDAT=0; //数据线置低电平105. delay=1;106. while(--delay);107. TMDAT=1; //数据线置高电平108. delay=4;109. while(--delay); //延时8us110. if(TMDAT) //读取1位数据111. temp|=0x80;112. delay=25; //读取1位数据后延时50us113. while(--delay);114. }115. if(j==2) //读取的第一字节存templ116. templ=temp;117. else118. temph=temp; //读取的第二字节存temph119. }while(--j);120. f=0;121. if((temph & 0xf8)!=0x00) //若温度为负的处理,对二进制补码的处理122. {123. f=1; //为负温度f置1124. ld6=0;125. temph=~temph;126. templ=~templ;127. k=templ+1;128. templ=k;129. if(k>255)130. {131.temph++;132. }133. }134. tempdf=templ & 0x0f; //将读取的数据转换成温度值,整数部分存tempint,小数部分存tempdf135. templ>>=4;136. temph<<=4;137. tempint=temph|templ;138.}139.140.void write_ds18b20(uchar command)141.{142. uchar delay,i;143. for(i=8;i>0;i--) //将一字节数据一位一位写入144. {145. TMDAT=0; //数据线置低电平146. delay=6; //延时12us147. while(--delay);148. TMDAT=command&0x01; //将数据放置在数据线上149. delay=25; //延时50us150. while(--delay);151. command=command>>1; //准备发送下一位数据152. TMDAT=1; //发送完一位数据,数据线置高电平153. }154.}155.156.void disp_temp()157.{158. uchar tempinth,tempintl,cnt;159.160. tempinth=tempint/10; //整数高半字节161. tempintl=tempint%10; //整数低半字节162. cnt=200; //循环显示200次163. while(--cnt)164. {165. while(f==1)166. {167. P0=ledmap[10];168. if(tempinth==0)169. {170.P2=0xef;171.delayms(1);172.173.goto loop;174. }175. else176. {P2=0xdf;}177. }178. delayms(1);179.180. P0=ledmap[tempinth];181. P2=0xef; //开十位182. delayms(1);183.184.loop:P0=ledmap[tempintl];185. P2=0xf7; //开个位186. point=0; //小数点显示187. delayms(1);188.189. P0=ledmap[tempdf];190. P2=0xfb; //开十分位191. delayms(1);192. }193.}194.195.void delayms(uchar count) //延时count ms子程序196.{197. uchar i,j;198. do199. {200. for(i=5;i>0;i--)201. for(j=98;j>0;j--);202. }while(--count);203.}/bbs/read.php?tid=1695第一节DS18B20通讯协议DS18B20采用Dallas公司1-WIRE网络协议通讯,这里就围绕着DS18B20介绍1-WIRE网络协议。

DS18B20工作原理及时序

DS18B20工作原理及时序

DS18B20原理与分析DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。

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

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

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

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

1.DS18B20简介(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)在使用中不需要任何外围元件。

(3)可用数据线供电,电压范围:+3.0~ +5.5 V。

(4)测温范围:-55 ~+125 ℃。

固有测温分辨率为0.5 ℃。

(5)通过编程可实现9~12位的数字读数方式。

(6)用户可自设定非易失性的报警上下限值。

(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。

(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

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

计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 ℃所对应的一个基数值。

DS18B20的连接介绍

DS18B20的连接介绍

DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为 -55℃~+125℃,在-10℃~+85℃范围内,精度为0.5℃。

DS18B20的精度较差为±0.2℃。

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

适合于恶劣环境的现场温度测量。

如:环境控制、设备或过程控制、测温类消费电子产品等。

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

而且新一代产品更便宜,体积更小。

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

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

现在,新一代的“DS1820”体积更小、更经济、更灵活。

使您可以充分发挥“一线总线”的长处。

DS18B20、DS1822 “一线总线”数字化温度传感器。

由于DS18B20将温度传感器、信号放大调理、A/D转换、接口全部集成于一芯片,与单片机连接简单、方便,与AD590相比是更新一代的温度传感器,所以温度传感器采用DS18B20。

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

DS18B20应用笔记

DS18B20应用笔记

DS18B20应用笔记2010-03-04 13:03:54比赛结束了,回首这段经历,前前后后因为实习、项目组的课题、春节等各种缘故,我进入实质性工作的时间过晚,使得预定的功能和技术指标并没有完全实现,有些遗憾。

不过,在和搭档一起努力下,最后几天高强度的工作也让我收获了很多,我想这个比赛也算没有白参加。

尤其是对DS18B20的进一步理解和运用,下面简单总结一下,为自己留个纪念。

在没有示波器、不能在线调试等各种“恶劣”条件下,我们只能靠将最终测量结果通过LCD显示出来而检验功能及指标,对于第一次使用DS18B20这个时序要求极高的器件来讲,确实是一个相对很大的工作量。

我们先后解决了LCD 译码显示、DS18B20初始化时序、DS18B20读写时序等问题,才最终让LCD 显示出了正常的温度值。

硬件上是51内核的MCU,DS18B20通过单总线接入MCU的一个I/O口,同时接一个4.7K的上拉电阻到3.3V电源,DS18B20的VDD通过外部电压源供电(3.3V)。

这个硬件结构相对简单,但是在后来调试中,我们发现了该MC U自己的特色,使得此硬件结构暗藏玄机。

起初,考虑到LCD的验证性质,我们必须让LCD能够正确的译码,否则无法定位代码的错误源头,这个环节工作量不是很大,但是对于定制的LCD来讲,还是要费点周折的。

后来,在写一些冗余代码测试出LCD能够正确译码的情况下,我们才真正开始了DS18B20的艰苦历程。

一上来就遇到了LCD一直显示的是测试码,通过程序结构,我们推断出DS 18B20初始化未成功,从而产生了第一个棘手问题。

对照DS18B20的datashe et,看到其初始化时序图:主机发给DS18B20一个复位脉冲(低电平)持续4 80-960us,然后拉高(DS18B20等待15-60us)后,DS18B20发送一个存在(pr esence)脉冲持续60-240us!为做到精确延时,又没有示波器,我们用C写了一个循环,并通过反汇编得到了其汇编指令,再结合MCU的datasheet上各类指令的时钟周期,以及当前晶振频率(11.0592MHz),计算了这个循环的延时,通过Delay子函数去做精确延时,做完这些后,原本以为可以解决其初始化问题,可是事与愿违……又仔细检查硬件结构以及MCU关于I/O口的使用,才意识到因为其I/O口是双向口,所以在每次读写时是通过修改寄存器来置该I/O口为输入还是输出,才能有效地读写数据。

DS18B20数字温度传感器应用详解

DS18B20数字温度传感器应用详解

DS18B20数字温度传感器应用详解MC430F14板上的DS18B20电路图参考图:在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。

另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。

因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。

新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。

美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。

全部传感元件及转换电路集成在形如一只三极管的集成电路内。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

现在,新一代的DS18B20体积更小、更经济、更灵活。

使你可以充分发挥“一线总线”的优点。

目前DS18B20批量采购价格仅10元左右。

DS18B20、DS1822 "一线总线"数字化温度传感器同DS1820一样,DS18B20也支持"一线总线"接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS1822的精度较差为±2°C。

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

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

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

数字温传感器ds18b20介绍及应用

数字温传感器ds18b20介绍及应用

最新【精选】范文参照文件专业论文数字温度传感器DS18B20介绍及应用数字温度传感器DS18B20介绍及应用【大纲】本文第一对数字温度传感器 DS18B20的内部结构、工作原理做简单的介绍,而后联合 DS18B20的性能,对温度传感器DS18B20在电路设计方面的应用做了相应的解析,最后提到 DS18B20 在使用过程中的注意事项。

【要点词】温度传感器;DS18B20;应用传统的温度敏感元件是热敏电阻,热敏电阻的长处是成本低,但是热敏电阻需要其余电路进行信号办理,所以靠谱性较差,正确度和精确度都大大降低。

DS18B20是美国 DALLAS公司新推出的一种数字温度传感器,它拥有微型化、低功耗、高性能、抗搅乱能力强、易配微办理器等长处。

DS18B20数字温度传感器可将温度转变为串行数字信息进行 9~12 位温度读数。

使用 DS18B20数字温度传感器后,使整个系统结构更趋势简单,同时,靠谱性也大大增高。

一、 DS18B20的介绍的内部结构DS18B20由四个部分构成:① 64 位光刻 ROM、②温度传感器、③非挥发的温度报警触发器 TH和 TL、④配置寄存器。

64 位光刻 ROM 在温度传感器出厂以前就刻上了 64 位序列号,它可以看是该温度传感器的地址序列码,每个 DS18B20的序列号就如我们的身份证号相同,代表着自己的身份。

正一味这样,在同一根总线上可以同时挂接多个温度传感器。

DS18B20中的温度传感器可完成对温度的丈量。

非挥发的温度报警触发器 TH和 TL是经过将测得的温度值分别于 TH和 TL 进行比较,相应的对主机发出的告警搜寻命令作出响应。

配置寄存器通过 R1、R0位设定温度分辨率。

分辨率及使用者设定的报警温度储存在非易失性电擦写 EEPROM中,这样,掉电后数据依旧可以保存。

的测温原理及温度读取DS18B20利用低温系数振荡器输出的时钟脉冲信号经过由高温系数振荡器产生的门开通周期的计数值来丈量温度。

DS18B20

DS18B20

数字温度传感器DS18B20中文资料(含读写程序)-DS18B20特点1.单线结构,只需一根信号线和CPU相连。

2. 不需要外部元件,直接输出串行数据。

3. 可不需要外部电源,直接通过信号线供电,电源电压范围为3.3V~5V。

4.测温精度高,测温范围为:一55℃~+125℃,在-10℃~+85℃范围内,精度为±O.5℃。

5.测温分辨率高,当选用12位转换位数时,温度分辨率可达0.0625℃。

6.数字量的转换精度及转换时间可通过简单的编程来控制:9位精度的转换时间为93.75 ms:10位精度的转换时间187.5ms:12位精度的转换时间750ms。

7.具有非易失性上、下限报警设定的功能,用户可方便地通过编程修改上、下限的数值。

8.可通过报警搜索命令识别哪片DS18820采集的温度超越上、下限。

DS18B20引脚及管脚功能介绍DS18B20的常用封装有3脚、8脚等几种形式,如图1所示。

各脚含义如下:DQ:数字信号输入/输出端。

GND:电源地端。

VDD:外接供电电源输入端(在寄生电源接线时此脚应接地)。

DS18B20内部结构简要介绍:DS18820的内部结构如图3所示:主要有64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器等组成。

1.64位光刻ROM是生产厂家给每一个出厂的DS18820命名的产品序列号,可以看作为该器件的地址序列号。

其作用是使每一个出厂的DS18820地址序列号都各不相同,这样,就可以实现一根总线上挂接多个DS18820的目的。

2.DS18820中的温度传感器完成对温度的测量,输出格式为:16位符号扩展的二进制补码。

当测温精度设置为12位时,分辨率为O.0625℃,即O.0625℃/LSB。

其二进制补码格式如图2所示。

其中,S为符号位,S=1,表示温度为负值;S=0,表示温度为正值。

例如+125℃的数字输出为07D0H,-55℃的数字输出为FC90H。

DS18B20中文资料--最全版

DS18B20中文资料--最全版

18B20温度传感器应用解析温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。

超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。

对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。

了解其工作原理和应用可以拓宽您对单片机开发的思路。

DS18B20的主要特征:?? 全数字温度转换及输出。

?? 先进的单总线数据通信。

?? 最高12位分辨率,精度可达土0.5摄氏度。

?? 12位分辨率时的最大工作周期为750毫秒。

?? 可选择寄生工作方式。

?? 检测温度范围为–55°C ~+125°C (–67°F ~+257°F)?? 内置EEPROM,限温报警功能。

?? 64位光刻ROM,内置产品序列号,方便多机挂接。

?? 多样封装形式,适应不同硬件系统。

DS18B20芯片封装结构:DS18B20引脚功能:·GND 电压地·DQ 单数据总线·VDD 电源电压·NC 空引脚DS18B20工作原理及应用:DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。

其一个工作周期可分为两个部分,即温度检测和数据处理。

在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。

18B20共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。

数据在出产时设置不由用户更改。

DS18B20共64位ROM。

RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。

DS18B20数字温度传感器接口程序的时序 (1)

DS18B20数字温度传感器接口程序的时序 (1)
图 2 DS18B20 的初始化时序
相应的 C51 代码如下,假设 Delay15( a) 为延时 15 × a μs 的延时函数:
Init_DS18B20( void) {
DQ = 0; / / 主机置 0,复位脉冲 Delay15( 36) ; / / 延时 540μs,介于 480 ~ 960μs 之间 DQ = 1; / / 主机置 1 Delay15( 6) ; / / 延时 90μs,大于等待时长 60μs 又介于 60 ~ 240μs 之间
100 EIC Vol. 18 2011 No. 6
欢迎光临本刊网站 http: / / www. eic. com. cn
仪器仪表用户 doi: 10. 3969 / j. issn. 1671-1041. 2011. 06. 040
□经验交流□
浅析风力发电机组无功补偿问题
逯登龙1 ,邵联合2
( 1. 中广核( 尚义) 风力发电有限公司,张家口 076450; 2. 保定电力职业技术学院,保定 071051)
初始化脉冲序列包括一个由主机发出的复位脉冲及其后的一个由传感器发出的存在脉冲复位脉冲可理解为主机对传感器发出的一个请求而其后的存在脉冲为传感器对主机的应答经过此一问一答主机与传感器之间的联系通道被建立为下一步的交流数据读取或写入作好准备
仪器仪表用户 doi: 10. 3969 / j. issn. 1671-1041. 2011. 06. 039
□经验交流□
DS18B20 数字温度传感器接口程序的时序
黄文力1 ,邓小磊2
( 1. 郑州航空工业管理学院 机电工程学院,郑州 450015; 2. 襄城县供电局,许昌 461700)
摘要: DS18B20 属于单总线数字式温度传感器,相应的硬件接口电路非常简单,必须通过复杂的软件结构为与主机之间的数

DS18B20中文资料(有时序图)

DS18B20中文资料(有时序图)

18B20温度传感器应用解析温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。

超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。

对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。

了解其工作原理和应用可以拓宽您对单片机开发的思路。

DS18B20的主要特征:全数字温度转换及输出。

先进的单总线数据通信。

最高12位分辨率,精度可达土0.5摄氏度。

12位分辨率时的最大工作周期为750毫秒。

可选择寄生工作方式。

检测温度范围为–55°C ~+125°C (–67°F ~+257°F)内置EEPROM,限温报警功能。

64位光刻ROM,内置产品序列号,方便多机挂接。

多样封装形式,适应不同硬件系统。

DS18B20芯片封装结构:DS18B20引脚功能:·GND 电压地·DQ 单数据总线·VDD 电源电压·NC 空引脚DS18B20工作原理及应用:DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。

其一个工作周期可分为两个部分,即温度检测和数据处理。

在讲解其工作流程之前我们有必要了解1 8B20的内部存储器资源。

18B20共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。

数据在出产时设置不由用户更改。

DS18B20共64位ROM。

RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,D S18B20共9个字节RAM,每个字节为8位。

第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPRO M(常用于温度报警值储存)的镜像。

精确把握DS18B20读写时序延长连接距离

精确把握DS18B20读写时序延长连接距离

精确把握DS18B20读写时序延长连接距离单线智能温度传感器DS18B20无需外部电路和其他变换电路就可以直接输出被测温度,测温范围宽、精度高、转换时间快并可适配各种单片机或系统机等众多优点,在各种领域已得到了广泛的应用。

我公司采用DS18B20温度传感器制作四路温度巡检控制的温控仪。

在对温控仪进行各种环境适应验证试验中发现一个问题:DS18B20传感器采用10m长连接线时工作不正常,而采用3m长连接线时工作正常。

DS18B20传感器的连接线缆长度一般可达到50,100m,当采用双绞线芯的屏蔽电缆时,其最大长度可达150m。

图1为温控仪传感器连接部分电路图,传感器采用单独供电,接在P1口上。

后经对DS18B20传感器的读写子程序分析及对传感器读写时序波形分析得出的结论,是因为读写子程序对DS18B20传感器的读写的时序把握不够准确造成的。

下面就DS18B20传感器的读写的时序把握度进行分析,希望能对初步接触该传感器的人员有所帮助。

DSl8B20传感器对读写时序的要求首先对DS18B20传感器的读写时序的要求进行分析和了解。

按D S 1 8 B 2 0 器件手册介绍,对DSl8B20写数据时,主机产生读时间片。

当主机把I,O数据总线从逻辑高电平拉至逻辑低电平时,低电平持续时间最少1μs,就产生写时间片。

在变为低电平15μs之后,DSl8B20在15,45μs之间对线采样,如果线为高电平,写1就发生,如果线为低电平,便发生写0。

时间片必须有最短为60μs的持续期,各写周期之间必须有最短为1μs的恢复时间。

图2为DS18B20生产厂家提供的读写时序图。

从DSl8B20读数据时,主机产生读时间片。

当主机把数据线从逻辑高电平拉至低电平时,产生读时间片。

低电平持续时间至少1μs;来自DS18B20 的输出数据在读时间片下降沿之后15μs有效,因此,在产生读时间片15μs后主机必须停止把I/O线驱动至低电平,由上拉电阻拉回至高电平,主机在15μs末期对数据线采样,如果线为高电平,就读为1,如果线为低电平,便读为0。

数字温度传感器DS18B20详解

数字温度传感器DS18B20详解

数字温度传感器DS18B20详解一、概述传统的温度检测大多以热敏电阻为传感器,采用热敏电阻,可满足40℃至90℃测量范围,但热敏电阻可靠性差,测量温度准确率低,对于小于1℃的温度信号是不适用的,还得经过专门的接口电路转换成数字信号才能由微处理器进行处理。

目前常用的微机与外设之间进行的数据通信的串行总线主要有I2C总线,SPI总线等。

其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线),SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。

这些总线至少需要两条或两条以上的信号线。

而单总线( 1-wire bus ),采用单根信号线,既可传输数据,而且数据传输是双向的,CPU 只需一根端口线就能与诸多单总线器件通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

因而,这种单总线技术具有线路简单,硬件开销少,成本低廉,软件设计简单,便于总线扩展和维护。

同时,基于单总线技术能较好地解决传统识别器普遍存在的携带不便,易损坏,易受腐馈,易受电磁干扰等不足,因此,单总线具有广阔的应用前景,是值得关注的一个发展领域。

单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。

主机或从机通过一个漏极开路或三态端口连至数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。

单总线通常要求外接一个约为 4.7K 的上拉电阻,这样,当总线闲置时其状态为高电平。

DS18B20数字式温度传感器,与传统的热敏电阻有所不同的是,使用集成芯片,采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度。

同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单,使数据传输和处理简单化。

部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,这也就缩短了开发的周期。

DS18B20单线数字温度传感器,即“一线器件”,其具有独特的优点:( 1 )采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

DS18B20使用教程

DS18B20使用教程

DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,如果出现序列混乱, 1-WIRE 器件将不响应主机,因此读写时序很重要。系统对 DS18B20 的各种操作必 须按协议进行。根据 DS18B20 的协议规定,微控制器控制 DS18B20 完成温度的转 换必须经过以下 4 个步骤 : (1)每次读写前对 DS18B20 进行复位初始化。复位要求主 CPU 将数据线 下拉 500us ,然后释放, DS18B20 收到信号后等待 16us~60us 左右,然后发出 60us~240us 的存在低脉冲,主 CPU 收到此信号后表示复位成功。 (2)发送一条 ROM 指令
主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后 的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。 若无低电平出现一直都是高电平说明总线上无器件应答。 做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低 电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微 秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。

(3)发送存储器指令
DS18B20 的存储器指令集
现在我们要做的是让DS18B20进行一次温度的转换,那具体的操作就是: 1、主机先作个复位操作, 2、主机再写跳过ROM的操作(CCH)命令, 3、然后主机接着写个转换温度的操作命令,后面释放总线至少一秒,让 DS18B20完成转换的操作。在这里要注意的是每个命令字节在写的时 候都是低字节先写,例如CCH的二进制为11001100,在写到总线上时 要从低位开始写,写的顺序是“零、零、壹、壹、零、、壹、壹”。 整个操作的总线状态如下图。

DALLAS最新单线数字温度传感器DS18B20简介

DALLAS最新单线数字温度传感器DS18B20简介

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

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

DS18B20、DS1822 “一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS1822的精度较差为± 2°C 。

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

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

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

而且新一代产品更便宜,体积更小。

DS18B20、 DS1822 的特性 DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。

可选更小的封装方式,更宽的电压适用范围。

分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822与 DS18B20软件兼容,是DS18B20的简化版本。

省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。

继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。

DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。

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

DS18B20

DS18B20

基于单总线器件DS18B20的温度测量仪发布时间:2009-8-3 阅读次数:228 字体大小: 【小】【中】【大】1 引言许多情况下需要测量温度参数。

通常测温系统的主要器件是热敏电阻,由于它体积小、重复性好、测量方法简单,所以在测温系统中广泛应用。

但采用热敏电阻的测温系统需要A/D转换,而且测量精度不高。

本文采用Dallas公司生产的一种新型温度传感器DS18B20,它集温度测量、A/D转换于一体,其测量范围宽(-55℃~+125℃),精度高(0.0625℃),DS18B20是一款具有单总线结构的器件。

由DS18B20组建的温度测量单元体积小,便于携带、安装。

同时,DS18B20的输出为数字量,可以直接与单片机连接,无需后级A/D转换,控制简单。

由于DS18B20具有单总线特性,便于扩展,可在一根总线上挂接多个DS18B20来组建温度测量网络。

2 硬件电路设计本系统设计采用 Mega8单片机控制DS18B20,由显示电路显示当前温度。

其系统硬件电路如图1所示。

Atmel 的Mega8单片机采用RTSC(精简指令集),指令执行速度快,内嵌8 KB Flash程序存储器,支持ISP(在系统编程),片内含有大容量的RAM区,具有SPT总线、I2C总线、ADC功能。

Mega8单片机体积小,功能强,具有PDIP-28封装及TQFP封装。

DS18B20采用单总线方式和Mega8单片机相连,即DS18B20的1引脚和3引脚接地,2引脚通过一只240 Ω的电阻接至Mega8的PB7引脚,同时将PB7引脚采用一只4.7 kΩ的电阻上拉至VCC。

单总线即只用一根信号线,既供电,又传输数据,而且数据传输是双向的,单总线具有"线与"功能,连接方便,便于扩展。

由于DS18B20采用 CMOS技术,耗电量很小,从总线上"偷"一点电保存到DS18B20内的电容中就可供给器件工作。

串联240 Ω电阻的目的是防止有缺陷的程序损坏DS18B20,如果没有正确地采用OC(集电极开路)或OD(漏极开路)结构驱动DS18B20,而是选择推挽方式,DS18B20可能被烧坏。

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