rmml.net
当前位置:首页 >> DS18B20温度转换 >>

DS18B20温度转换

把tplsb和tpmsb都是8位的合成一个16位的有符号数tt;temp为浮点数 t=tpmsb

高五位S为符号位,分辨率为0.0625。正温度把16进制数转成10进制即可;负温度把16进制数取反后加1再转成10进制数,第一个是00FA是(15*16+10)*0.0625=15.62度,第二个是0032是(3*16+2)*0.0625=3.125度(负的)

如下图所述

根据你的叙述分析,把高低字节读出来了,用的是12位方式,这时候DS18B20的分辨率是0.0625度,你说DS18B20精度是±0.5度,是错误的,DS18B20精度最高是±1度。 转化为实际温度的方法是先判断高字节的D7、D6、D5、D4、D3为,如果为11111,温度为负,...

乘以256是为了将读过来的数据转换成十进制数,再乘以25,然后在返回值里又左移了2,相当于(b*256+a)*0.0625*100!这段程序应该没有判断正负的语句!你多看看DS18B20的手册就会明白了!那里面说的很明白的!

请仔细看芯片手册,转换时间是跟据你所需要的精度而定的,DS18B20最少要93.57ms(9位时),最大750ms(12位时).在protues仿真的时候可以不按手册时间,但实际电路中一定要严格按照芯片手册要求来进行,否则温度转换不成功。如果等待的过程中,其...

好好看看资料,你给的数据是9位方式下的,系数是0.5。

与温度没有任何关系的,只能说是数据可以稳定一些。如有帮助请采纳,手机则点击右上角的满意,谢谢!!

举例说明:八位二进制为一字节,那最大为(1111 1111)255.,先将这个数除100得到百位2,然后100取余为55,将取余后的值55再除以10得到十位5,再用10取余得到个位数字5,那十进就为255; 再比如说二进制为(0001 1101)29,先将这个数除100得到...

会的 传感器(英文名称:transducer/sensor)是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。 传感器的特点包括:微型...

网站首页 | 网站地图
All rights reserved Powered by www.rmml.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com