币游国际怎么登录

<ruby id="prbjd"></ruby>

    <noframes id="prbjd"><address id="prbjd"></address> <noframes id="prbjd"><noframes id="prbjd">
    <form id="prbjd"><th id="prbjd"><progress id="prbjd"></progress></th></form>

    <form id="prbjd"><th id="prbjd"><progress id="prbjd"></progress></th></form><noframes id="prbjd"><form id="prbjd"><th id="prbjd"></th></form><noframes id="prbjd"><listing id="prbjd"><listing id="prbjd"></listing></listing>
    <strike id="prbjd"></strike>

    文章详情
    所在位置: 首页> 技术文章> 其它>

    数字温度传感器DS18B20的原理与应用

    日期:2021-11-24 14:33
    浏览次数:5774
    摘要:

    数字温度传感器DS18B20的原理与应用

     

    1引言
            DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。
    2DS18B20的内部结构
            DS18B20内部结构如图1所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地,见图4)。
            ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

     



    图1DS18B20的内部结构



    图2DS18B20的管脚排列



    (a)初始化时序



    (b)写时序



    (c)读时序
    图3DS18B20的工作时序图
    DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

    23
    22
    21
    20
    2-1
    2-2
    2-3
    2-4


    温度值低字节
    MSBLSB

    S
    S
    S
    S
    S
    22
    25
    24


    温度值高字节
            高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配置寄存器的格式如下:

    0
    R1
    R0
    1
    1
    1
    1
    1


    MSBLSB

            R1、R0决定温度转换的精度位数:R1R0=“00”,9位精度,*大转换时间为93.75ms;R1R0=“01”,10位精度,*大转换时间为187.5ms;R1R0=“10”,11位精度,*大转换时间为375ms;R1R0=“11”,12位精度,*大转换时间为750ms;未编程时默认为12位精度。
      高速暂存器是一个9字节的存储器??剂礁鲎纸诎徊馕露鹊氖至啃畔?;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
    3DS18B20的工作时序
      DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序,如图3(a)(b)(c)所示。
    4DS18B20与单片机的典型接口设计
        图4以MCS-51系列单片机为例,画出了DS18B20与微处理器的典型连接。图4(a)中DS18B20采用寄生电源方式,其VDD和GND端均接地,图4(b)中DS18B20采用外接电源方式,其VDD端用3V~5.5V电源供电。
        假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写了3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由*低位开始。
        DATEQUP1.0
        ……
        INIT:CLREA
        INI10:SETBDAT
        MOVR2,#200




    a)寄生电源工作方式
    (b)外接电源工作方式
    图4DS18B20与微处理器的典型连接图

    INI11:CLRDAT
    DJNZR2,INI11;主机发复位脉冲持续3μs×200=600μs
    SETBDAT;主机释放总线,口线改为输入
    MOVR2,#30
    IN12:DJNZR2,INI12;DS18B20等待2μs×30=60μs
    CLRC
    ORLC,DAT;DS18B20数据线变低(存在脉冲)吗?
    JCINI10;DS18B20未准备好,重新初始化
    MOVR6,#80
    INI13:ORLC,DAT
    JCINI14;DS18B20数据线变高,初始化成功
    DJNZR6,INI13;数据线低电平可持续3μs×80=240μs
    SJMPINI10;初始化失败,重来
    INI14:MOVR2,#240
    IN15:DJNZR2,INI15;DS18B20应答*少2μs×240=480μs
    RET
    ;------------------------
    WRITE:CLREA
    MOVR3,#8;循环8次,写一个字节
    WR11:SETBDAT
    MOVR4,#8
    RRCA;写入位从A中移到CY
    CLRDAT
    WR12:DJNZR4,WR12
    ;等待16μs
    MOVDAT,C;命令字按位依次送给DS18B20
    MOVR4,#20
    WR13:DJNZR4,WR13
    ;保证写过程持续60μs
    DJNZR3,WR11
    ;未送完一个字节继续
    SETBDAT
    RET
    ;------------------------
    READ:CLREA
    MOVR6,#8;循环8次,读一个字节
    RD11:CLRDAT
    MOVR4,#4
    NOP;低电平持续2μs
    SETBDAT;口线设为输入
    RD12:DJNZR4,RD12
    ;等待8μs
    MOVC,DAT
    ;主机按位依次读入DS18B20的数据
    RRCA;读取的数据移入A
    MOVR5,#30
    RD13:DJNZR5,RD13
    ;保证读过程持续60μs
    DJNZR6,RD11
    ;读完一个字节的数据,存入A中
    SETBDAT
    RET
    ;------------------------
            主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,再读出温度转换值。假设一线仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,可写出完成一次转换并读取温度值子程序GETWD。
        GETWD:LCALLINIT
        MOVA,#0CCH
        LCALLWRITE;发跳过ROM命令
        MOVA,#44H
        LCALLWRITE;发启动转换命令
        LCALLINIT
        MOVA,#0CCH;发跳过ROM命令
        LCALLWRITE
        MOVA,#0BEH;发读存储器命令
        LCALLWRITE
        LCALLREAD
        MOVWDLSB,A
        ;温度值低位字节送WDLSB
        LCALLREAD
        MOVWDMSB,A
        ;温度值高位字节送WDMSB
        RET
        ……
            子程序GETWD读取的温度值高位字节送WDMSB单元,低位字节送WDLSB单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。
            如果一线上挂接多个DS18B20、采用寄生电源连接方式、需要进行转换精度配置、高低限报警等,则子程序GETWD的编写就要复杂一些,限于篇幅,这一部分不再详述,请参阅相关内容。
            我们已成功地将DS18B20应用于所开发的“家用采暖洗浴器”控制系统中,其转换速度快,转换精度高,与微处理器的接口简单,给硬件设计工作带来了极大的方便,能有效地降低成本,缩短开发周期。

     

     

     

    版权说明:本文章版权归原作者所有,如有版权争议请与我们联系。

     

     

    下一篇: 暂无
    上一篇: DS18B20数字温度计使用
    币游国际网址 币游国际网址多少 币游国际官方客户端 币游国际注册 币游国际官方客户端 币游官网 币游国际下载 币游国际登录平台 币游国际下载 币游国际电子 币游国际客户端 币游国际官方首页 币游软伀 币游国际入口 币游国际官方 币游国际平台 币游国际游戏 币游国际怎么登录 币游国际入口 币游官网 币游国际下载 币游官网 币游国际会员官网 币游国际会员官网 币游国际官方首页 币游国际的网站是多少 币游国际客户端 币游国际平台 币游国际的网站是多少 币游国际官方入口 币游国际登陆官网 币游国际怎么登录 币游国际客户端 币游国际官方app 币游国际电子 币游国际官方 币游国际官方手机版 币游国际官方下载 币游国际菲律宾 币游国际登录平台 币游国际电子 币游国际官方app 币游国际官方首页 币游国际网址多少 币游app下载安装 币游国际官方平台 币游国际登陆 币游国际下载 币游国际官方客户端 币游国际游戏 币游国际网 币游国际代理注册 币游国际网址 币游国际官方网站 币游国际游戏app 币游国际网址多少 币游国际官方网站 币游国际游戏app 币游国际官方手机版 币游国际充值通道 币游国际开户 币游软伀 币游国际网 币游软伀 币游国际登录平台 币游国际官方网站 币游国际官方客户端 币游国际代理注册 币游国际下载 币游国际官方首页 币游国际官方入口 币游国际网址多少 币游国际登录 币游国际菲律宾 币游国际官方网站 币游国际登录平台 币游国际官方入口 币游国际官方首页 币游国际开户 币游国际客户端 币游国际登陆官网 币游国际平台 币游软伀 币游国际官网网站 币游国际正规吗 币游国际官方手机版 币游国际游戏 币游国际代理注册 币游国际登陆 币游国际的网站是多少 币游国际菲律宾 币游国际官方平台 币游国际官方首页 币游国际app 币游国际游戏 币游国际官方 币游国际会员官网 币游国际官方下载 币游国际电子 币游国际官方首页
    币游国际官方下载 币游国际下载 币游国际登录 币游国际官方首页 币游国际官方首页 币游国际官方 币游国际平台 |乌苏市| 镇江市| 上思县| 临桂县| 柳江县| 渝北区| 无棣县| 三原县| 忻州市| 高州市| 安岳县| 平昌县| 思南县| 博客| 栾城县| 九龙坡区| 潢川县| 恭城| 广灵县| 浠水县| 揭西县| 祁阳县| 安丘市| 祥云县| 德保县| 宁晋县| 罗江县| 丹东市| 梧州市| 威远县| 望谟县| 黄陵县| 景泰县| 平潭县| 中阳县| 黄骅市| 治多县| 丹江口市| 会同县| 广水市| 吉安县|