DS18B20使用方法_第1页
DS18B20使用方法_第2页
DS18B20使用方法_第3页
DS18B20使用方法_第4页
DS18B20使用方法_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、1、DS18B20 概述DS18B20数字温度计是 DALLAS公司生产的1 Wire,即单总线器件,具有线路简单, 体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多 这样的数字温度计,十分方便。2、DS18B20产品的特点(1)只要求一个端口即可实现通信。(2)在 DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部任何元器件即可实现测温。(4) 测量温度范围在55。C到+ 125。C之间。(5) 数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限告警设置。3、DS18B20引脚图及引脚功能介绍TO 92封装的DS1

2、8B20的引脚排列见图1,其引脚功能描述见表1。(底视图)图1表1DS18B20详细引脚功能描述序号名舔引再功能描述1GND迪信号2DQ数据鶴入/誓岀引脾。开漏单总线接口引屛。当被册着左寄生电源下,也可以 向揺件提供电源。3VDD诃选择的VBD引御*当工作手寄生电簿时.此引牌聽须接地待4. DS18B20的使用方法由于DS18B20采用的是1 Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟 单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读

3、写的数据位有着严格的时序要求。 DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为 从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序生机狡岀复位林一主机接收商帝最規时间VTDGND-DS18B20时 E诩DS18B20 发出,DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把

4、单总线拉低之后,在15秒之内就得释放单总线,以让12DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的写时序对于DS18B20的写时序仍然分为写 0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写 0时序时,单总线要被拉低至少 60us, 保证DS18B20能够在15us到45us之间能够正确地采样10总线上的“0电平,当要写1时序时, 单总线被拉低之后,在15us之内就得释放单总线。U.60!20usDS18B20应用电路图用一片DS18B20构成测温系统,测量的温度精度达到0.1度,测量的温度的范

5、围在一20度到+ 100度之间,用8位数码管显示出来。下图是采用AT89C2051的测温系统硬件原理图.vcc|m DS18B2OU3GNDlj-T23456SDA 1SCL810111213141516DQ 1?證ISoL> >PIOPO.O/ADOPl 1P0.1/AD1Pl 2P0.2/AD2FL3P0.3/AD3PL 4P0.4/AD4Pl 5P0.5/AD5Pl 6P0.fi/AD6Pl.7P0.7/AD7ALEPSEKP3.0/RXDP2 7/A15P3.irrxDP2.6/A14P3 2/INTOP25/A13P3.3MTLP2.4/A12P3.4rroP23/A11

6、P3_srriP2.2/A10P3 6/WRP2.1/A9P3 7/RDP2.0/A3QSW§OQR2 610E1 03SC237C3充C435C534C633C732C8302928se27S726S625S524£423S322S221SIAT8SS51 H12MHz zzce .3Qf30pGKD H CNDDQ7b H SI6血 sw0*5IS阳 9負匚口 !斗L3E£ 10F - L A-n3£90 11m s2SOIO匕1旳fS54 m eU4LED84S7SI6閃 s5fS9S 9S34£103ED旳112SOIO 12541 巾

7、EStoU3LED84SA SI IRST 10uFGNDDS1 8B20与AT89C2051组成的测温系统源程序用一片DS1 8B20构成测温系统,测量的温度精度达到0. 1度,测 量的温度的范围在一20度到+ 100度之间,用8位数码管显示出来。下面是采用AT89C2051单片机与DS18B20的测温系统C语言源程 序,硬件电路请参考本站相关文章# I Nel ude <AT89X52. H># I Ncl ude <I NTRI NS. H>Un sig ned Char Cod e Di spl aybi t =0xfe,0xfd, 0xfb, 0xf7,0x

8、ef, 0xdf,Oxbf, 0x7f;Un si g ned Char Cod e Di spl aycode =0x3f, 0x06, 0x5b, 0x4f , 0x66, 0x6d , 0x7d, 0x0 7,0x7f, 0x6f , 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x7 1, 0x00, 0x 40;Un sig ned Char Code Dotcode32=0,3,6,9,12,16, 19,22, 25, 28, 31, 34, 38, 41, 44, 48,50, 53, 56, 59, 63,66, 69, 72,Unsi gned Char U

9、nsi gned Char Unsi gned Char Unsi gned Char Sbi t DQ=P3A7;75, 78, 81, 84, 88, 91, 94, 97;Di s p l ay co unt ;Displaybuf8=16,16,16,16, 16,16,16,16;Ti me count ;Re ad dat a 8;Bi t Sf l ag ;Bi t Reset pul se(Voi d)Un s i gned Ch a r IJDQ=0;For ( I=255;I>0; I-)DQ=1 ;For ( I= 60; I >0; I -);Ret urn

10、(DQ);For ( I=200;I>0; I-)Voi d Wr i t e c o mma ndt ods 18b20( Un si g ned Ch a r Co mma nd)Uns i g ned Ch ar I ;Uns i g ned Ch ar J ;For ( I =0; I <8; I + + )If (Command & 0x01) =0)DQ=O;For(J=35;J>0;J-);DQ=1;El seDQ=0;For ( J=2; J>0; J-);DQ=1 ;For(J=33;J>0;J-);Command =_c r o r _

11、( Comma nd , 1);Un sig ned Char Readdatafromds18b20(Voi d)Uns ig nedCh a rI ;Un sig nedCh a rJ;Uns ig nedCh a rTe mp;Temp = 0;For (I =0; I<8; I+ + )Temp=_cror_(Temp, 1);DQ=O;_nop_();_nop_();DQ=1 ;For(J=10;J>0;J-);I f ( DQ=1)T e mp = Temp |0x80;El seTemp = Temp |0x00;For ( J = 200; J>0; J-);

12、Ret urn ( Temp);Voi d Mai n( Voi d)TMOD=0x01 ;THO = ( 65536-4000) / 256;TL0=(65536-4000)%256;ET0=1;EA = 1 ;While(Resetpulse();Wr i t ecommandt ods18b20(0xcc);Wr i t ecomman dt ods18b20( 0x44);TR0 = 1 ;Whi l e( 1)JVoi d T0( Vo i d) In t e r r u pt 1 Using 0Un s i g ned Ch a r X;Un s i g ned Int Re s

13、u l t ;TH0 = ( 65536-4000) / 256;TL0=(65536-4000)%256;I f ( Di s pl aye o u nt = = 2)0x80;P0 = Di s p l ay eode Di s pl ay buf Di s pl ay e ount |El seP0 = Di s p l ay eode Di s p l ay buf Di s p l ay co untP2 = Di s pl ayb i t Di s pl ay count ; Di s p l ayeo unt + + ;If(Displayeo u n t = = 8)Di s

14、pl ayeo unt =0;Ti meeount +;I f ( Ti meeount = = 150)Ti meeou nt =0;Wh i l e( Reset pul s e ();Wr i t eeo mma n dtods18b20(0xcc);Wr i t eeo mmandt ods18b20(0xbe);Re a d da t a 0 =Readdat afromds18b20();Re a d da t a 1 = Re a d da t af r omds 1 8b20();For ( X=0 ; X<8; X+ + )Di spl aybuf X =16;Sf l ag = 0 ;I f ( ( Readdat a 1& 0xf8)!=0x00)Sf l ag = 1;Readdat a 1 =Read d at a 1 ;Readdat a 0 =Readdat a 0;Resul t =Readdat a 0 +1 ;Readdat a 0= Re

温馨提示

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

评论

0/150

提交评论