第18章数字温度传感器的应用_第1页
第18章数字温度传感器的应用_第2页
第18章数字温度传感器的应用_第3页
第18章数字温度传感器的应用_第4页
第18章数字温度传感器的应用_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、第第18章章 数字温度传感器的应用数字温度传感器的应用基于基于DS18B20的温度测量模块设计的温度测量模块设计18.1 18.1 设计任务设计任务118.2 18.2 设计原理设计原理218.1 设计任务 本设计在本设计在ProteusProteus中仿真实现。选用中仿真实现。选用AT89S51 AT89S51 控制数字温度传感器控制数字温度传感器DS18B20DS18B20,读取数据,并对,读取数据,并对DS18B20 DS18B20 转换后的数据进行处理,最后在数码转换后的数据进行处理,最后在数码管上显示管上显示DS18B20 DS18B20 测出的温度。测出的温度。u要求使用要求使用6

2、 6 位数码管显示,最高位为符号位,如位数码管显示,最高位为符号位,如果温度值为果温度值为“正正”不显示,如果温度为不显示,如果温度为“负负”, ,则显示负号;第则显示负号;第24 24 位显示温度值的整数部分位显示温度值的整数部分, ,并在第并在第4 4 位数据上显示小数点;第位数据上显示小数点;第5 5 位显示一位位显示一位小数,最低位显示摄氏度符号小数,最低位显示摄氏度符号“C”C”。18.1 设计任务通过本设计应达到以下设计目的通过本设计应达到以下设计目的: :u掌握掌握DS18B20 DS18B20 数字温度传感器的工作原理及使数字温度传感器的工作原理及使用方法用方法; ;u掌握对掌

3、握对DS18B20 DS18B20 转换数据进行处理的方法转换数据进行处理的方法; ;u学习用数码管显示复杂数据的方法。学习用数码管显示复杂数据的方法。18.2 设计原理图图18-1 基于基于DS18B20 的测温系统结构图的测温系统结构图18.2.1 系统结构系统结构 基于基于DS18B20 的测温系统结构图如图的测温系统结构图如图18-1所示。所示。18.2 设计原理 DS18B20 DS18B20的典型接法如图中所示,的典型接法如图中所示,74LS24574LS245为数码为数码管的驱动芯片,管的驱动芯片,P3.0-P3.5P3.0-P3.5输出数码管的位选信号。输出数码管的位选信号。1

4、8.2.2 DS18B20数字温度传感器数字温度传感器uDS18B20 数字温度计是数字温度计是DALLAS 公司生产的公司生产的1Wire,即单总线器件,具有线路简单,体积小的,即单总线器件,具有线路简单,体积小的特点。特点。u用它来组成一个测温系统,线路简单,在一根通用它来组成一个测温系统,线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。信线,可以挂很多这样的数字温度计,十分方便。18.2 设计原理DS18B20 DS18B20 产品的特点:产品的特点:u只要求一个端口即可实现通信;只要求一个端口即可实现通信;u在在DS18B20 DS18B20 中每个器件上都有独一无二的序

5、列号;中每个器件上都有独一无二的序列号;u实际应用中不需要外部任何元器件即可实现测温;实际应用中不需要外部任何元器件即可实现测温;u测量温度范围在测量温度范围在5555到到125125之间;之间;u数字温度计的分辨率用户可以从数字温度计的分辨率用户可以从9 9 位到位到12 12 位选择;位选择;u内部有温度上、下限告警设置。内部有温度上、下限告警设置。18.2 设计原理uTO92 封装的封装的DS18B20 的引脚排列见图的引脚排列见图18-2其其引脚功能描述见下表。引脚功能描述见下表。序 号名称引脚功能描述1GND接地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,

6、也可以向器件提供电源。3VDD可选择的VDD 引脚。当工作于寄生电源时,此引脚必须接地。图图18-2 DS18B20 引脚结构图(底视图)引脚结构图(底视图)18.2 设计原理1 1)DS18B20 DS18B20 的内部结构的内部结构uDS18B20 DS18B20 的内部框图如图的内部框图如图18-3 18-3 所示。所示。图图18-3 DS18B20 的内部框图的内部框图18.2 设计原理u其其64 64 位位ROM ROM 存储器件具有独一无二的序列号。存储器件具有独一无二的序列号。u暂存器包含两字节暂存器包含两字节(0 (0 和和1 1 字节字节) )的温度寄存器,用于的温度寄存器,

7、用于存储温度传感器的数字输出。它还提供一个字节的存储温度传感器的数字输出。它还提供一个字节的上线警报触发上线警报触发(TH)(TH)和下线警报触发和下线警报触发(TL)(TL)寄存器寄存器(2 (2 和和3 3 字节字节) ),和一个字节的配置寄存器,和一个字节的配置寄存器(4 (4 字节字节) ),使用者可,使用者可以通过配置寄存器来设置温度转换的精度。以通过配置寄存器来设置温度转换的精度。u暂存器的暂存器的5 5、6 6 和和7 7 字节器件内部保留使用。第字节器件内部保留使用。第8 8字节字节含有循环冗余码(含有循环冗余码(CRC CRC )。)。u使用寄生电源时,使用寄生电源时,DS1

8、8B20 DS18B20 不需额外的供电电源;不需额外的供电电源;当总线为高电平时,功率由单总线上的上拉电阻通当总线为高电平时,功率由单总线上的上拉电阻通过过DQ DQ 引脚提供;高电平总线信号同时也向内部电引脚提供;高电平总线信号同时也向内部电容容C CPPPP 充电,充电,C CPPPP 在总线低电平时为器件供电。在总线低电平时为器件供电。18.2 设计原理uDS18B20 DS18B20 加电后,处在空闲状态。加电后,处在空闲状态。u要启动温度测量和模拟到数字的转换,处理器须向要启动温度测量和模拟到数字的转换,处理器须向其发出其发出Convert T 44h Convert T 44h

9、命令;转换完后,命令;转换完后,DS18B20 DS18B20 回到空闲状态。温度数据是以带符号位的回到空闲状态。温度数据是以带符号位的18-bit18-bit补码补码存储在温度寄存器中的,如图存储在温度寄存器中的,如图18-4 18-4 所示:所示:图图18-4 18-4 温度寄存器格式温度寄存器格式18.2 设计原理u符号位说明温度值的正、负,正值时符号位说明温度值的正、负,正值时S=0S=0,负值时,负值时S=1S=1。u表表18-218-2给出了一些数字输出数据与对应的温度值的例子。给出了一些数字输出数据与对应的温度值的例子。表表18-2 温度温度/数据的关系数据的关系18.2 设计原

10、理2 2)DS18B20DS18B20的命令序列:的命令序列:1. 1.初始化;初始化;2.ROM 2.ROM 命令跟随着需要交换的数据;命令跟随着需要交换的数据;3. 3.功能命令跟随着需要交换的数据。功能命令跟随着需要交换的数据。u访问访问DS18B20 DS18B20 必须严格遵守这一命令序列,如果必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,丢失任何一步或序列混乱,DS18B20DS18B20都不会响应主都不会响应主机(除了机(除了Search ROM Search ROM 和和Alarm Search Alarm Search 这两个命令,这两个命令,在这两个命令后,主机都必

11、须返回到第一步)。在这两个命令后,主机都必须返回到第一步)。18.2 设计原理 初始化初始化DS18B20 DS18B20 所有的数据交换都由一个初始化序列开始。所有的数据交换都由一个初始化序列开始。包括主机发出的复位脉冲和跟在其后的由包括主机发出的复位脉冲和跟在其后的由DS18B20 DS18B20 发出的应答脉冲构成。发出的应答脉冲构成。当当DS18B20 DS18B20 发出响应主机的应答脉冲时,即向主机发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。表明它已处在总线上并且准备工作。 ROM 命令:命令: ROM 命令通过每个器件命令通过每个器件64-bit 的的ROM

12、 码,使主机码,使主机指定某一特定器件(如果有多个器件挂在总线上)指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。与之进行通信。DS18B20 的的ROM 如表如表18-3所示,每所示,每个个ROM 命令都是命令都是8 bit 长。长。18.2 设计原理命令描述协议此命令发出后1Wire总线上的活动SEARCH ROM识别总线上挂着的所有DS18B20 的ROM 码F0h所有DS18B20 向主机传送ROM 码READ ROM当只有一个DS18B20 挂在总线上时,可用此命令来读取ROM码33hDS18B20 向主机传送ROM 码MATCH ROM主机用ROM 码来指定某一DS18B

13、20,只有匹配的DS18B20才会响应55h主机向总线传送一个ROM 码SKIP ROM用于指定总线上所有的器件CCh无ALARM ROM与SEARCH ROM 命令类似,但只有温度超出警报线的DS18B20 才会响应ECh超出警报线DS18B20向主机传送ROM 码表表18-3 DS18B20 ROM 命令命令18.2 设计原理 功能命令:功能命令:主机通过功能命令对主机通过功能命令对DS18B20 DS18B20 进行读进行读/ /写写ScratchpScratchpad ad 存储器,或者启动温度转换。存储器,或者启动温度转换。 DS18B20的功能命令如表的功能命令如表18-4所示。所

14、示。18.2 设计原理命令描述协议此命令发出后1Wire总线上的活动 温度转换命令Convert T开始温度转换44hDS18B20 向主机传送转换状态(寄生电源不适用) 存储器命令Read Scratchpad读暂存器完整的数据BEhDS18B20 向主机传送总共9 字节的数据Write Scratchpad向暂存器的2、3 和4 字节写入数据(TH, TL 和精度)4Eh主机向DS18B20 传送3 个字节的数据Copy Scratchpad将TH, TL 和配置寄存器的数据复制到EEPROM48h无Recall E2将TH, TL 和配置寄存器的数据从EEPROM 中调到暂存器中B8hD

15、S18B20 向主机传送调用状态Read Power Supply向主机示意电源供电状态B4hDS18B20 向主机传送供电状态表表18-4 DS18B20 功能命令功能命令18.2 设计原理3 3)DS18B20 DS18B20 的信号方式的信号方式uDS18B20 DS18B20 采用严格的单总线通信协议,以保证数据采用严格的单总线通信协议,以保证数据的完整性。的完整性。u该协议定义了几种信号类型:复位脉冲、应答脉冲、该协议定义了几种信号类型:复位脉冲、应答脉冲、写写0 0、写、写1 1、读、读0 0 和读和读1 1。除了应答脉冲所有这些信号。除了应答脉冲所有这些信号都由主机发出同步信号。

16、都由主机发出同步信号。u总线上传输的所有数据和命令都是以字节的低位在总线上传输的所有数据和命令都是以字节的低位在前。前。18.2 设计原理 初始化序列:复位脉冲和应答脉冲初始化序列:复位脉冲和应答脉冲在初始化过程中,主机通过拉低单总线至少在初始化过程中,主机通过拉低单总线至少480s,以产生复位脉冲以产生复位脉冲(TX)。然后主机释放总线并进入接。然后主机释放总线并进入接收收(RX)模式。模式。当总线被释放后,当总线被释放后,5k的上拉电阻将单总线拉高。的上拉电阻将单总线拉高。 DS18B20 检测到这个上升沿后,延时检测到这个上升沿后,延时15s60s,通过拉低总线通过拉低总线60s240s

17、 产生应答脉冲。产生应答脉冲。初始化波形如图初始化波形如图18-5所示。所示。18.2 设计原理 读和写时隙读和写时隙在写时隙期间,主机向在写时隙期间,主机向DS18B20 DS18B20 写入数据;而在读时写入数据;而在读时隙期间,主机读入来自隙期间,主机读入来自DS18B20DS18B20的数据。的数据。在每一个时隙,总线只能传输一位数据。读在每一个时隙,总线只能传输一位数据。读/写时隙写时隙如图如图18-6所示。所示。图图18-5 初始化脉冲初始化脉冲18.2 设计原理图图18-6 DS18B20 读读/写时隙图写时隙图18.2 设计原理写时隙写时隙存在两种写时隙:存在两种写时隙:“写写

18、1”1”和和“写写0”0”。主机在写主机在写1 1时隙向时隙向DS18B20 DS18B20 写入逻辑写入逻辑1 1,而在写,而在写0 0时隙向时隙向DS18B20 DS18B20 写入逻辑写入逻辑0 0。所有写时隙至少需要。所有写时隙至少需要60s60s,且在,且在两次写时隙之间至少需要两次写时隙之间至少需要1s 1s 的恢复时间。的恢复时间。两种写时隙均以主机拉低总线开始。两种写时隙均以主机拉低总线开始。产生写产生写1 1时隙:主机拉低总线后,必须在时隙:主机拉低总线后,必须在15s 15s 内释放总内释放总线,然后由上拉电阻将总线拉至高电平。线,然后由上拉电阻将总线拉至高电平。产生写产生

19、写0 0 时隙:主机拉低总线后,必须在整个时隙期时隙:主机拉低总线后,必须在整个时隙期间保持低电平(至少间保持低电平(至少60s60s)。)。在写时隙开始后的在写时隙开始后的15s60s 15s60s 期间,期间,DS18B20 DS18B20 采样总线采样总线的状态。如果总线为高电平,则逻辑的状态。如果总线为高电平,则逻辑1 1 被写入被写入DS18B2DS18B20 0;如果总线为低电平,则逻辑;如果总线为低电平,则逻辑0 0 被写入被写入DS18B20DS18B20。18.2 设计原理读时隙读时隙 DS18B20 DS18B20只能在主机发出读时隙时才能向主机传送只能在主机发出读时隙时才

20、能向主机传送数据。所以主机在发出读数据命令后,必须马上数据。所以主机在发出读数据命令后,必须马上产生读时隙,以便产生读时隙,以便DS18B20DS18B20能够传送数据。能够传送数据。所有读时隙至少所有读时隙至少60s60s,且在两次独立的读时隙之间,且在两次独立的读时隙之间至少需要至少需要1s 1s 的恢复时间。的恢复时间。每次读时隙由主机发起,拉低总线至少每次读时隙由主机发起,拉低总线至少1s1s。主机。主机发起读时隙之后,若发起读时隙之后,若DS18B20 DS18B20 发送发送1 1,则保持总线,则保持总线为高电平;若发送为高电平;若发送0 0,则拉低总线。传送,则拉低总线。传送0

21、0 时,时,DS1DS18B20 8B20 在该时隙结束时释放总线,再由上拉电阻将在该时隙结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。总线拉回空闲高电平状态。18.2 设计原理uDS18B20DS18B20发出的数据在读时隙下降沿起始后的发出的数据在读时隙下降沿起始后的15s 15s 内有效,因此主机必须在读时隙开始后的内有效,因此主机必须在读时隙开始后的15s 15s 内内释放总线,并且采样总线状态。释放总线,并且采样总线状态。uDS18B20DS18B20在使用时,一般都采用单片机来实现数在使用时,一般都采用单片机来实现数据采集。只需将据采集。只需将DS18B20 DS18B20

22、 信号线与单片机信号线与单片机1 1 位位I/OI/O线相连,且单片机的线相连,且单片机的1 1 位位I/O I/O 线可挂接多个线可挂接多个DS18BDS18B20,20,就可实现单点或多点温度检测就可实现单点或多点温度检测。18.2 设计原理4 4)小数的显示方法)小数的显示方法uDS18B20DS18B20转换后的数据有四位二进制小数,精度转换后的数据有四位二进制小数,精度为为0.06250.0625,可连续表示一位十进制小数,因此在,可连续表示一位十进制小数,因此在数码显示时,只显示数码显示时,只显示1 1 位小数。位小数。u在对四位二进制小数进行处理时,可先计算出这在对四位二进制小数进

温馨提示

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

评论

0/150

提交评论