您的位置 首页 系统

51单片机DS18B20温度丈量

大家好,通过以前的学习,我们已经对51单片机综合学习系统的使用方法及学习方式有所了解与熟悉,学会了步进电机控制的基本知识,体会到

大家好,经过曾经的学习,咱们现已对51单片机归纳学习体系的运用方法及学习方法有所了解与了解,学会了步进电机操控的基本知识,领会到了归纳学习体系的易用性与易学性,这一期咱们将一同学习数字温度传感器DS18B20的基本原理与运用方法。
先看一下咱们即将运用的51单片机归纳学习体系能完结哪些试验与产品开发作业:别离有流水灯,数码管显现,液晶显现,按键开关,蜂鸣器吹打,继电器操控,IIC总线,SPI总线,PS/2试验,AD模数转化,光耦试验,串口通讯,红外线遥控,无线遥控,温度传感,步进电机操控等等。
单总线温度传感器DS18B20简介
DS18B20是DALLAS公司出产的单总线式数字温度传感器,它具有微型化、低功耗、高性能、搞搅扰能力强、易配处理器等长处,特别适用于构成多点温度测控体系,可直接将温度转化成串行数字信号(供给9位二进制数字)给单片机处理,且在同一总线上能够挂接多个传感器芯片。它具有3引脚TO-92小体积封装方法,温度丈量规模为-55℃~+125℃,可编程为9位~12位A/D转化精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方法串行输出,其作业电源既可在远端引进,也可采用寄生电源方法产生,多个DS18B20能够并联到3根或2根线上,CPU只需一根端口线就能与多个DS18B20通讯,占用微处理器的端口较少,可节约很多的引线和逻辑电路。以上特色使DS18B20十分适用于远距离多点温度检测体系。
DS18B20外形及引脚阐明
在TO-92和SO-8的封装中引脚有所不同,详细差别请查阅PDF手册,在TO-92封装中引脚分配如下:
1(GND):地
2(DQ):单线运用的数据输入输出引脚
3(VDD):可选的电源引脚
DS18B20作业进程及时序
DS18B20内部的低温度系数振动器是一个振动频率随温度改动很小的振动器,为计数器1供给一频率安稳的计数脉冲。
高温度系数振动器是一个振动频率对温度很灵敏的振动器,为计数器2供给一个频率随温度改动的计数脉冲。
初始时,温度存放器被预置成-55℃,每逢计数器1从预置数开端减计数到0时,温度存放器中存放的温度值就添加1℃,这个进程重复进行,直到计数器2计数到0时便间断。
初始时,计数器1预置的是与-55℃相对应的一个预置值。今后计数器1每一个循环的预置数都由斜率累加器供给。为了补偿振动器温度特性的非线性性,斜率累加器供给的预置数也随温度相应改动。计数器1的预置数也便是在给定温度处使温度存放器存放值添加1℃计数器所需求的计数个数。
DS18B20内部的比较器以四舍五入的量化方法确认温度存放器的最低有用位。在计数器2间断计数后,比较器将计数器1中的计数剩余值转化为温度值后与0.25℃进行比较,若低于0.25℃,温度存放器的最低位就置0;若高于0.25℃,最低位就置1;若高于0.75℃时,温度存放器的最低位就进位然后置0。这样,经过比较后所得的温度存放器的值便是终究读取的温度值了,其最终位代表0.5℃,四舍五入最很多化差错为±1/2LSB,即0.25℃。
温度存放器中的温度值以9位数据格式表明,最高位为符号位,其他8位以二进制补码方法表明温度值。测温完毕时,这9位数据转存到暂存存储器的前两个字节中,符号位占用榜首字节,8位温度数据占有第二字节。
DS18B20丈量温度时运用特有的温度丈量技能。DS18B20内部的低温度系数振动器能产生安稳的频率信号;相同的,高温度系数振动器则将被测温度转化成频率信号。当计数门翻开时,DS18B20进行计数,计数门注册时刻由高温度系数振动器决议。芯片内部还有斜率累加器,可对频率的非线性度加以补偿。丈量成果存入温度存放器中。一般情况下的温度值应该为9位,但因符号位扩展成高8位,所以最终以16位补码方法读出。
DS18B20作业进程一般遵从以下协议:初始化——ROM操作指令——存储器操作指令——处理数据
① 初始化
单总线上的一切处理均从初始化序列开端。初始化序列包含总线主机宣布一复位脉冲,接着由隶属器材送出存在脉冲。存在脉冲让总线操控器知道DS1820 在总线上且已准备好操作。
② ROM操作指令
一旦总线主机检测到隶属器材的存在,它便能够宣布器材ROM操作指令之一。一切ROM操作指令均为8位长。这些指令列表如下:
Read ROM(读ROM)[33h]
此指令答应总线主机读DS18B20的8位产品系列编码,仅有的48位序列号,以及8位的CRC。此指令只能在总线上仅有一个DS18B20的情况下能够运用。假如总线上存在多于一个的隶属器材,那么当一切从片妄图一起发送时将产生数据抵触的现象(漏极开路会产生线与的成果)。
Match ROM( 契合ROM)[55h]
此指令后继以64位的ROM数据序列,答应总线主机对多点总线上特定的DS18B20寻址。只需与64位ROM序列严厉相符的DS18B20才能对后继的存贮器操作指令作出呼应。一切与64位ROM序列不符的从片将等候复位脉冲。此指令在总线上有单个或多个器材的情况下均可运用。
Skip ROM( 越过ROM )[CCh]
在单点总线体系中,此指令经过答应总线主机不供给64位ROM编码而拜访存储器操作来节约时刻。假如在总线上存在多于一个的隶属器材并且在Skip ROM指令之后宣布读指令,那么因为多个从片一起发送数据,会在总线上产生数据抵触(漏极开路下拉会产生线与的作用)。
Search ROM( 查找ROM)[F0h]
当体系开端作业时,总线主机或许不知道单线总线上的器材个数或许不知道其64位ROM编码。查找ROM指令答应总线操控器用排除法辨认总线上的一切从机的64位编码。
Alarm Search(告警查找)[ECh]
此指令的流程与查找ROM指令相同。可是,仅在最近一次温度丈量呈现告警的情况下,DS18B20才对此指令作出呼应。告警的条件界说为温度高于TH 或低于TL。只需DS18B20一上电,告警条件就坚持在设置状况,直到另一次温度丈量显现出非告警值或许改动TH或TL的设置,使得丈量值再一次坐落答应的规模之内。贮存在EEPROM内的触发器值用于告警。
③存储器操作指令
Write Scratchpad(写暂存存储器)[4Eh]
这个指令向DS18B20的暂存器中写入数据,开端方位在地址2。接下来写入的两个字节将被存到暂存器中的地址方位2和3。能够在任何时刻宣布复位指令来间断写入。
Read Scratchpad(读暂存存储器)[BEh]
这个指令读取暂存器的内容。读取将从字节0开端,一向进行下去,直到第9(字节8,CRC)字节读完。假如不想读完一切字节,操控器能够在任何时刻宣布复位指令来间断读取。
Copy Scratchpad(仿制暂存存储器)[48h]
这条指令把暂存器的内容复制到DS18B20的E2存储器里,即把温度报警触发字节存入非易失性存储器里。假如总线操控器在这条指令之后跟着宣布读时刻隙,而DS18B20又正在忙于把暂存器复制到E2存储器,DS18B20就会输出一个“0”,假如复制完毕的话,DS18B20 则输出“1”。假如运用寄生电源,总线操控器有必要在这条指令宣布后当即起动强上拉并最少坚持10ms。
Convert T(温度改换)[44h]
这条指令发动一次温度转化而无需其他数据。温度转化指令被执行,然后DS18B20坚持等候状况。假如总线操控器在这条指令之后跟着宣布读时刻隙,而DS18B20又忙于做时刻转化的话,DS18B20将在总线上输出“0”,若温度转化完结,则输出“1”。假如运用寄生电源,总线操控器有必要在宣布这条指令后当即起动强上拉,并坚持500ms。
Recall E2(从头调整E2)[B8h]
这条指令把贮存在E2中温度触发器的值从头调至暂存存储器。这种从头调出的操作在对DS18B20上电时也主动产生,因而只需器材一上电,暂存存储器内就有了有用的数据。在这条指令宣布之后,关于所宣布的榜首个读数据时刻片,器材会输出温度转化忙的标识:“0”=忙,“1”=准备就绪。
Read Power Supply(读电源)[B4h]
关于在此指令发送至DS18B20之后所宣布的榜首读数据的时刻片,器材都会给出其电源方法的信号:“0”=寄生电源供电,“1”=外部电源供电。
④ 处理数据
DS18B20的高速暂存存储器由9个字节组成,其分配如图3所示。当温度转化指令发布后,经转化所得的温度值以二字节补码方法存放在高速暂存存储器的第0和第1个字节。单片机可经过单线接口读到该数据,读取时低位在前,高位在后。
DS18B20温度数据表
上表是DS18B20温度收集转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,假如测得的温度大于或等于0,这5位为0,只需将测到的数值乘于0.0625即可得到实践温度;假如温度小于0,这5位为1,测到的数值需求取反加1再乘于0.0625即可得到实践温度。
温度转化核算方法举例:
例如当DS18B20收集到+125℃的实践温度后,输出为07D0H,则:
实践温度=07D0H╳0.0625=2000╳0.0625=1250C。
例如当DS18B20收集到-55℃的实践温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为核算),则:
实践温度=370H╳0.0625=880╳0.0625=550C。
DS18B20软、硬件规划
本实例介绍DS18B20与单片机之间的软、硬件接口,经过单片机来读取DS18B20的温度值,并将温度值经过数码管显现出来。在试验中先要将功用选择开关调到DS18B20方位上。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/xitong/318606.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部