标题: 关于DS18b20的单片机程序问题,有2句看不懂 [打印本页]

作者: 我的小彭友    时间: 2018-9-18 10:41
标题: 关于DS18b20的单片机程序问题,有2句看不懂
  tvalue=tvalue*(0.0625);  
uint get_temper()//获取温度
{  
     
uchar a,b;
float wendu;
ds1820rst(4);
delay_18B20(4);  //延时   
ds1820wr(0xcc);  //跳过读序列号
ds1820wr(0x44);  //启动温度转换
ds1820rst(4);   
ds1820wr(0xcc);  //跳过读序列号
ds1820wr(0xbe);  //读取温度
a=ds1820rd();
b=ds1820rd();
tvalue=b;
tvalue<<=8;
tvalue=tvalue|a;
if(tvalue<0x0fff)   
  {
   tflag=0;           //温度正负标志=0为正
  }
else
  {
   tvalue=~tvalue+1;
   tflag=1;          //温度正负标志=0为正
  }
tvalue=tvalue*(0.0625);   //温度值扩大10倍,精确到1位小数
temp=tvalue;

return temp;
}

这两句什么意思  具体为什么这么写  ,  是怎么也能算的  可以直接用二进制数字成一个0.0625?





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1