作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。
标题 | 一种简易温度测量装置的设计 |
技术领域 | 工厂信息化 |
行业 | |
简介 | 本文介绍了一种简易温度测量装置的硬件与软件设计。该装置以DS18B20为温度传感器,温度显示采用虚拟总线方式。文中给出了温度传感器、温度显示与P89C51RD2单片机的接口技术及实例。这种温度测量装置结构简单,使用方便、可靠。 |
内容 |
DS18B20是一种单线式数字温度传感器,具有3引脚TO-92小体积封装形式;测温范围为-55℃~+125℃,可编程为9~12位A/D转换精度,被测温度用符号扩展的16位数字量方式串行输出,工作电源为+3V~+5.5V,可在远端引入,也可采用寄生电源方式产生。 1.1 DS18B20的内部结构 DS18B20内部结构如图1所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其中DQ为数字信号输入/输出端;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
DS18B20用12位存贮温度值,最高位为符号位,图2为DS18B20的温度存储方式,负温度S=1,正温度S=0,如0550H为+85℃,FC90H为-55℃。
DS18B20的单线式工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序,如图3所示。
2 虚拟总线显示方式 温度测量装置的主程序流程,如图5所示。P89C51RD2控制DS18B20完成温度读取必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。程序必须先启动DS18B20开始转换,再读出温度值,其中包括读DS18B20,写DS18B20以及延时子函数。 ![]() /*DS18B20初始化程序*/ INIT_1820: SETB DQ NOP CLR DQ MOV R0,#80H TSR1: DJNZ R0,TSR1 ; /*延时*/ SETB DQ MOV R0,#25H TSR2: DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 ;/*延时*/ TSR3: SETB FLAG1 ; /*置标志位*/ LJMP TSR5 TSR4: CLR FLAG1 ;/*清标志位*/ LJMP TSR7 TSR5: MOV R0,#06BH ;/*200μs*/ TSR6: DJNZ R0,TSR6 ; /*延时*/ TSR7: SETB DQ RET void Start_I2c() /*启动
数字式温度传感器DS18B20集温度测量、A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点;虚拟 ![]() 参考文献: [1] DallasCorp.DS18B20[EB/OL].http://www.dalsem.com,2003. [2] 马云峰等.数字温度传感器DS18B20原理与应[EB/OL].http://www.chinacd.com/dzkw//2002-1/9.htm,2002-01-12/2003-09-26. [3] 吕元颖等.总线概述及有关例程.科技情报开发与经济,2005,No15.P177~180. [4] P89c51RA2xx/RB2xx/RC2xx/RD2xx.datasheet. Philips Semiconductors .2002. |