DS18B20读温度看不懂

全部回答2
默认 最新
  • 由于18b20是单总线结构 所以 时序一定要正确,也就是中间哪怕只差了几个us都可能出错误!所以仔细看看说明书 ,读或写的时候 分别要多长时间,计算你系统io输出输入读取的时间,要对应上如果中间出现长时间延时(比如等待温度转换等等),此时一定要再次执行复位操作,以便时序达到统一总体执行步骤是:复位→匹配rom→温度转换→延时→复位→匹配id→读取温度如果线上只有一个传感器的话,可以发送忽略匹配id命令。我这里有现成的程序,pic单片机c语言控制的 6条总线,每条线上挂载40以内 的程序,如果需要可供你参考
    0 点赞
  • DS18B20 的测温数据,是两个字节,共 16 位数。DS18B20 这 16 位数,代表了一个温度数值。这个温度数值,精度很高,其单位是 (1/16) 度。如果直接显示,示值就是实际温度的 16 倍。那么,事先,应该除以 16。------temp = temp | a;------得出 16 位数温度数据f_temp = temp * 0.0625;--除以16temp = f_temp * 10 + 0.5;--小数四舍五入f_temp = f_temp + 0.05; --无用return temp; -------返回带有一位小数的整型数。
    0 点赞

没有更多内容了

返回顶部
产品求购 求购