1、基于DS18B20的智能温度测量装置基于DS18B20的智能温度测量装置一、前言 温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器,模拟集成温度传感器,智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。文章将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,89C2051单片机为控制器构成的温度测量装置的工作原
2、理及程序设计作了详细的介绍。该装置适用于人民的日常生活和工、农业生产用于温度测量。 二、DS18B20单线数字温度传感器 由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。 1、 DS18B20性能特点 DS18B20的性能特点:1 采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),2 测温范围为-55-+125,测量分辨率为0.06
3、25,3 内含64位经过激光修正的只读存储器ROM,4 适配各种单片机或系统机,5 用户可分别设定各路温度的上、下限,6 内含寄生电源。 2、DS18B20内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图1所示。 64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。不同的器件地址序列号不同。 图1DS18B20引脚分布图 8位产品系列号 48位产品序号 8位CRC编码 DS18B20高速暂存器共9个存存单元,如表所示: 序号 寄存器名称 作 用 序号 寄存器名称
4、作 用 0 温度低字节 以16位补码形式存放 4、5 保留字节1、2 1 温度高字节 6 计数器余值 2 TH/用户字节1 存放温度上限 7 计数器/ 3 HL/用户字节2 存放温度下限 8 CRC 以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。 高8位 S S S S S 26 25 24 低8位 23 22 21 20
5、 2-1 2-2 2-3 2-4 1、DS18B20控制方法 在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。 DS18B20有六条控制命令,如表所示: 指 令 约定代码 操 作 说 明 温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新
6、调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。 三、基于DS18B20的温度测量装置 1、系统
7、组成 由DS18B20构成的智能温度测量装置由三部分组成:DS18B20温度传感器、89C2051、显示模块。产品的主要技术指标:测量范围:-55-+125,测量精度:0.5反应时间500ms。 2、 工作原理 基于DS18B20的温度测量装置电图如图2所示:温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),传感器可置于离装置150米以内的任何地方,输出脚I/O直接与单片机的P1.1相连,R1为上拉电阻,传感器采用外部电源供电。89C2051是整个装置的控制核心,89C2051内带1K字节的FlashROM,用户程序存放在这里。显示器模块由四位一体的
8、共阳数码管和4个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。1、 程序设计根据DS18B20的通信协议,按图2的硬件结构。下面是系统的主要程序。系统主程序*ORG 0100HI/O BIT P3.4 START:LCALL RST18B20 ;调DS18B20初始化子程序 MOV A,#OCCH ;写CCH到DS18B20,以便跳过ROM匹配 LCALL WIDS18B20 ;WIDS18B20是写18B20子程序 JNB F1, START ;若DS18B20不存在则从
9、新开始 MOV A,#44H ;发温度转换命令 LCALL WIDS18B20 LCALL DSPLAY ;调显示子程序 LCALL RST18B20 MOV A,#0BEH ;发读温度命令 LCALL WIDS18B20 LCALL RDDS18B20 ;RDDS18B20是读子程序 LCALL ZWDS18B20 ;ZWDS18B20是温度计算子程序 LCALL DSPLAY LJMP START*部分子程序*DS18B20初始化子程序*RST18B20:SETBI/O CLRI/O MOVR0,#0FAH ;延时500微秒 LP1:DJNZR0,LP1 SETBI/O ;释放总线 MOV
10、R0,#15H ;在63微秒内检测是否出现应答信号 LP2:JNBI/O,LP3 DJNZR0,LP2 CLRF1 ;清标志位,表示DS1820不存在 LJMPLP5 LP3:SETB F1 ;标专置1,表示DS18B20存在MOVR0,#0FAH ;延时500微秒LP4:DJNZR0,LP4LP5:SETBI/O RET18B20读子程序*RDDS18B20:MOVR2,#8LOOP:CLRC SETBI/Q NOP CLRI/Q NOP SETBI/Q MOVR3,#7 DJNZR3,$ MOVC,I/Q MOVR3,#23 DJNZR3,$ RRCA DJNZR2,LOOP RET18B
11、20写子程序*WIDS18B20:MOVR2,#8 CLRC WI:CLRDQ MOVR3,#6 DJNZR3,$ RRCA MOVDQ,C MOVR3,#23 DJNZR3,$ SETBDQ NOP DJNZR2,WR1 SETBDQ RET18B20显示子程序*DSPLAY:-18B20温度计算子程序* ZWDS18B20:- END结束语数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。既可用它组成单路温度测量装置,也可用它组成多路温度测量装置,文章介绍的单路温度测量装置已研制成产品,产品经测试在-10-70间测得误差为0.25,80T105时误差为0.5,当T105误差为增大到1左右。用单总线温度传感器和单片机构成的测温装置具有推广价值。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1