找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1318|回复: 0
打印 上一主题 下一主题
收起左侧

关于DS18b20的单片机程序问题,有2句看不懂

[复制链接]
跳转到指定楼层
楼主
ID:390344 发表于 2018-9-18 10:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  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?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表