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

DS18B20温度转换

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

乘以256是为了将读过来的数据转换成十进制数,再乘以25,然后在返回值里又左移了2,相当于(b*25

举例说明:八位二进制为一字节,那最大为(1111 1111)255.,先将这个数除100得到百位2,

1:接收数据为双字节--先低位,后高位;先低字节,后高字节; 2:高字节的前5位若为“0”,则

这个命令用来启动温度测量 一般的延时一下就读取温度

int Datatemp(int temp) { unsigned char

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形

DS18B20无法直接输出电压信号,必须由单片机通过其单线串行数字接口按照规定的通讯协议读取温度数据

根据你的叙述分析,把高低字节读出来了,用的是12位方式,这时候DS18B20的分辨率是0.0625度

请仔细看芯片手册,转换时间是跟据你所需要的精度而定的,DS18B20最少要93.57ms(9位时),

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