《单线数字温度传感器DS18B20的原理与应用.docx》由会员分享,可在线阅读,更多相关《单线数字温度传感器DS18B20的原理与应用.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单线数字温度传感器DS18B20的原理与应用单线数字温度传感器DS18B20的原理与应用zhangting导语:介绍单线数字温度传感器DS1820的特性及工作原理,给出了DS1820与89C51单片机接口的应用实例。介绍单线数字温度传感器DS1820的特性及工作原理,给出了DS1820与89C51单片机接口的应用实例,以及由DS1820组成温度检测系统的方法,并给出了对DS1820进展各种操纵的软件流程图。关键词单线制1-Wire时隙A/D变换美国DALLAS公司消费的单线数字温度传感器DS1820,可把温度信号直接转换成串行数字信号供微机处理。由于每片DS1820含有唯一的硅串行数所以在一条
2、总线上可挂接任意多个DS1820芯片。从DS1820读出的信息或者写入DS1820的信息,仅需要一根口线单线接口。读写及温度变换功率;于数据总线,总线本身也可以向所挂接的DS1820供电,而无需额外电源。DS1820提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。本文给出了DS1820与89C51单片机接口的应用实例和DS1820组成温度检测系统的方法,并给出了对DS1820进展各种操纵的软件流程图。DS1820的特性单线接口:仅需一根口线与MCU连接无需外围元件由总线提供电源测温范围为-5575,精度为0.5九位温度读数A/D变换时间为200ms用户自设定温度报警上下限,其值是非易
3、失性的报警搜索命令可识别哪片DS1820超温度限DS1820引脚及功能DS1820的引脚见图PR35封装。GND:地;DQ:数据输入输出脚单线接口,可作寄生供电;VDD:电源电压。DS1820的工作原理DS1820的内部构造如图所示。由图可知,DS1820由三个主要数字器件组成:64bit闪速ROM;温度传感器;非易失性温度报警触发器TH和TL。64bit闪速ROM的构造如下:它既可寄生供电也可由外部电源供电。在寄生供电情况下,当总线为高电平时,DS1820从总线上获得能量并储存在内部电容上当总线为低电平时,由电容向DS1820供电。DS1820的测温原理:内部计数器对一个受温度影响的振荡器的
4、脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。计数器设置为-55时的值,假如计数器到达0之前,门电路未关闭,那么温度存放器的值将增加,这表示当前温度高于-55。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进展补偿,计数器重新开场计数直到回零。假如门电路仍然未关闭,那么重复以上经过。温度表示值为9bit,高位为符号位,其构造如下:对DS1820的使用,多采用单片机实现数据收集。处理时,将DS1820信号线与单片机一位口线相连,单片机可挂接多片DS1820,进而实现多点温度检测系统。系统对DS1820的操纵以ROM命令和存储器命令形式出现。
5、3.1ROM命令代码及其含义READROM命令代码33H:假如只有一片DS1820,可用此命令读出其序列号,假设在线DS1820多于一个,将发生冲突。MATCHROM命令代码55H:多个DS1820在线时,可用此命令匹配一个给定序列号的DS1820,此后的命令就针对该DS1820。SKIPROM命令代码CCH:此命令执行后的存储器操纵将针对在线的所有DS1820。SEARCHRDH命令代码F0H:用以读出在线的DS1820的序列号。ALARMSEARCH命令代码ECH:当温度值高于TH或者低于TL中的数值时,此命令可以读出报警的DS1820。3.2存储器操纵命令代码及其含义WRITESCRAT
6、CHPAD命令代码4EH:写两个字节的数据到温度存放器。READSCRATCHPAD命令代码BEH:读取温度存放器的温度值。COPYSCRATCHPAD命令代码48H:将温度存放器的数值拷贝到EERAM中,保证温度值不丧失。CONVERT命令代码44H:启动在线DS1280做温度A/D转换。RECALLEE命令代码B8H:将EERAM中的数值拷贝到温度存放器中。READPOWERSUPPLY命令代码B4H:在本命令送到DS1280之后的每一个读数据间隙,指出电源形式:“0为寄生电源;“1为外部电源。DS1820单线通讯功能是分时完成的,它有严格的时隙概念。因此系统对DS1820的各种操纵必须按
7、协议进展。操纵协议为:初始化DS1820发复位脉冲发ROM功能命令发存储器操纵命令处理数据。各种操纵的时序图如图所示。温度检测系统原理及程序流程图温度检测系统原理图如图4所示,采用寄生电源供电方式。为保证在有效的DS1820时钟周期内,提供足够的电流,我们用一个MOSFET管和89C51的一个I/O口P1.0来完成对DS1820总线的上拉。当DS1820处于写存储器操纵和温度A/D变换操纵时,总线上必须有强的上拉,上拉开启时间最大为10s。采用寄生电源供电方式时VDD必须接地。由于单线制只有一根线,因此发送接收口必须是三态的,为了操纵方便我们用89C51的P1.1口作发送口Tx,P1.2口作接
8、收口Rx。通过试验我们发现此种方法可挂接DS1820数十片,间隔可到达米,而用一个口时仅能挂接10片DS1820,间隔仅为20米。同时由于读写在操纵上是分开的故不存在信号竞争问题。无论是单点还是多点温度检测,在系统安装及工作之前,应将主机逐个与DS1820挂接,读出其序列号。其工作经过为:主机Tx发一个脉冲,待“电平大于480s后,复位DS1820,待DS1820所发响应脉冲由主机Rx接收后,主机Tx再发读ROM命令代码33H低位在前,然后发一个脉冲15s并接着读取DS1820序列号的一位。用同样方法读取序列号的56位。对于图系统的DS1820操纵的总体流程图如图所示。它分三步完成:系统通过反复操纵,搜索DS1820序列号;启动所有在线DS1820做温度A/D变换;逐个读出在线DS1820变换后的温度数据。主机启动温度变换并读取温度值的具体流程图如图所示;主机写入存储器数据具体流程图如所示。当有更多的检测点需要测温时,可利用89C51的其它口进展扩展。同时,也可利用89C51的串行通讯口RXD,TXD与上位计算机进展通讯,进而构成微机温度测量系统网。0