《第18章数字温度传感器的应用.ppt》由会员分享,可在线阅读,更多相关《第18章数字温度传感器的应用.ppt(27页珍藏版)》请在三一办公上搜索。
1、第18章 数字温度传感器的应用基于DS18B20的温度测量模块设计,18.1 设计任务,1,18.2 设计原理,2,18.1 设计任务,本设计在Proteus中仿真实现。选用AT89S51 控制数字温度传感器DS18B20,读取数据,并对DS18B20 转换后的数据进行处理,最后在数码管上显示DS18B20 测出的温度。要求使用6 位数码管显示,最高位为符号位,如果温度值为“正”不显示,如果温度为“负”,则显示负号;第24 位显示温度值的整数部分,并在第4 位数据上显示小数点;第5 位显示一位小数,最低位显示摄氏度符号“C”。,18.1 设计任务,通过本设计应达到以下设计目的:掌握DS18B2
2、0 数字温度传感器的工作原理及使用方法;掌握对DS18B20 转换数据进行处理的方法;学习用数码管显示复杂数据的方法。,18.2 设计原理,图18-1 基于DS18B20 的测温系统结构图,18.2.1 系统结构 基于DS18B20 的测温系统结构图如图18-1所示。,18.2 设计原理,DS18B20的典型接法如图中所示,74LS245为数码管的驱动芯片,P3.0-P3.5输出数码管的位选信号。18.2.2 DS18B20数字温度传感器DS18B20 数字温度计是DALLAS 公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。用它来组成一个测温系统,线路简单,在一根通信线,可以
3、挂很多这样的数字温度计,十分方便。,18.2 设计原理,DS18B20 产品的特点:只要求一个端口即可实现通信;在DS18B20 中每个器件上都有独一无二的序列号;实际应用中不需要外部任何元器件即可实现测温;测量温度范围在55到125之间;数字温度计的分辨率用户可以从9 位到12 位选择;内部有温度上、下限告警设置。,18.2 设计原理,TO92 封装的DS18B20 的引脚排列见图18-2其引脚功能描述见下表。,图18-2 DS18B20 引脚结构图(底视图),18.2 设计原理,1)DS18B20 的内部结构DS18B20 的内部框图如图18-3 所示。,图18-3 DS18B20 的内部
4、框图,18.2 设计原理,其64 位ROM 存储器件具有独一无二的序列号。暂存器包含两字节(0 和1 字节)的温度寄存器,用于存储温度传感器的数字输出。它还提供一个字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2 和3 字节),和一个字节的配置寄存器(4 字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6 和7 字节器件内部保留使用。第8字节含有循环冗余码(CRC)。使用寄生电源时,DS18B20 不需额外的供电电源;当总线为高电平时,功率由单总线上的上拉电阻通过DQ 引脚提供;高电平总线信号同时也向内部电容CPP 充电,CPP 在总线低电平时为器件供电。,18.2
5、 设计原理,DS18B20 加电后,处在空闲状态。要启动温度测量和模拟到数字的转换,处理器须向其发出Convert T 44h 命令;转换完后,DS18B20 回到空闲状态。温度数据是以带符号位的18-bit补码存储在温度寄存器中的,如图18-4 所示:,图18-4 温度寄存器格式,18.2 设计原理,符号位说明温度值的正、负,正值时S=0,负值时S=1。表18-2给出了一些数字输出数据与对应的温度值的例子。,表18-2 温度/数据的关系,18.2 设计原理,2)DS18B20的命令序列:1.初始化;2.ROM 命令跟随着需要交换的数据;3.功能命令跟随着需要交换的数据。访问DS18B20 必
6、须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了Search ROM 和Alarm Search 这两个命令,在这两个命令后,主机都必须返回到第一步)。,18.2 设计原理,初始化DS18B20 所有的数据交换都由一个初始化序列开始。包括主机发出的复位脉冲和跟在其后的由DS18B20 发出的应答脉冲构成。当DS18B20 发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。ROM 命令:ROM 命令通过每个器件64-bit 的ROM 码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。DS18B20 的ROM 如表18-3所示
7、,每个ROM 命令都是8 bit 长。,18.2 设计原理,表18-3 DS18B20 ROM 命令,18.2 设计原理,功能命令:主机通过功能命令对DS18B20 进行读/写Scratchpad 存储器,或者启动温度转换。DS18B20的功能命令如表18-4所示。,18.2 设计原理,表18-4 DS18B20 功能命令,18.2 设计原理,3)DS18B20 的信号方式DS18B20 采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0 和读1。除了应答脉冲所有这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节的低位在
8、前。,18.2 设计原理,初始化序列:复位脉冲和应答脉冲在初始化过程中,主机通过拉低单总线至少480s,以产生复位脉冲(TX)。然后主机释放总线并进入接收(RX)模式。当总线被释放后,5k的上拉电阻将单总线拉高。DS18B20 检测到这个上升沿后,延时15s60s,通过拉低总线60s240s 产生应答脉冲。初始化波形如图18-5所示。,18.2 设计原理,读和写时隙在写时隙期间,主机向DS18B20 写入数据;而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。读/写时隙如图18-6所示。,图18-5 初始化脉冲,18.2 设计原理,图18-6 DS18B20
9、 读/写时隙图,18.2 设计原理,写时隙存在两种写时隙:“写1”和“写0”。主机在写1时隙向DS18B20 写入逻辑1,而在写0时隙向DS18B20 写入逻辑0。所有写时隙至少需要60s,且在两次写时隙之间至少需要1s 的恢复时间。两种写时隙均以主机拉低总线开始。产生写1时隙:主机拉低总线后,必须在15s 内释放总线,然后由上拉电阻将总线拉至高电平。产生写0 时隙:主机拉低总线后,必须在整个时隙期间保持低电平(至少60s)。在写时隙开始后的15s60s 期间,DS18B20 采样总线的状态。如果总线为高电平,则逻辑1 被写入DS18B20;如果总线为低电平,则逻辑0 被写入DS18B20。,
10、18.2 设计原理,读时隙 DS18B20只能在主机发出读时隙时才能向主机传送数据。所以主机在发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传送数据。所有读时隙至少60s,且在两次独立的读时隙之间至少需要1s 的恢复时间。每次读时隙由主机发起,拉低总线至少1s。主机发起读时隙之后,若DS18B20 发送1,则保持总线为高电平;若发送0,则拉低总线。传送0 时,DS18B20 在该时隙结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。,18.2 设计原理,DS18B20发出的数据在读时隙下降沿起始后的15s 内有效,因此主机必须在读时隙开始后的15s 内释放总线,并且采样总线状
11、态。DS18B20在使用时,一般都采用单片机来实现数据采集。只需将DS18B20 信号线与单片机1 位I/O线相连,且单片机的1 位I/O 线可挂接多个DS18B20,就可实现单点或多点温度检测。,18.2 设计原理,4)小数的显示方法DS18B20转换后的数据有四位二进制小数,精度为0.0625,可连续表示一位十进制小数,因此在数码显示时,只显示1 位小数。在对四位二进制小数进行处理时,可先计算出这四位二进制小数对应的四位十进制小数,然后对这四位十进制小数舍弃后三位,保留一位。在编写程序时,可编制一个反映二进制小数与显示码对应关系的表格,根据四位二进制小数的十六种不同情况查找对应的一位十进制小数的段码,具体映射关系如表18-5所示。,18.2 设计原理,表18-5 二进制小数与显示码的对应关系,18.2 设计原理,调试好程序后,进行编译运行,可得到预计结果。18.2.3 参考源代码(略),习题与思考题,习题 1.DS18B20数字温度传感器有哪些特点?2.试根据本章所给程序画出本设计的程序框图。,
链接地址:https://www.31ppt.com/p-2673729.html