找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1778|回复: 5
收起左侧

DS18B20的温度计部分单片机程序,为什么Temp>1000时表示大于10度呢?

[复制链接]
ID:338940 发表于 2018-6-6 18:24 | 显示全部楼层 |阅读模式
void datapros(int temp)   
{
    float tp;  
if(temp< 0)   
   {
  DisplayData[0] = 0x40;   
temp=temp-1;
  temp=~temp;
  tp=temp;
  temp=tp*0.0625*100+0.5;
  if(temp>1000)//这里为什么是大于10呢?是怎么算的?
  {P1_2=0;P1_1=1;
  beeIO();}
  else
  {P1_2=1;P1_1=1;}

   }
如题,基于DS18B20的温度计部分程序,为什么Temp>1000时表示大于10度呢?

回复

使用道具 举报

ID:303383 发表于 2018-6-6 20:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ID:277550 发表于 2018-6-6 21:01 | 显示全部楼层
temp=tp*0.0625*100+0.5; /////这放大了100倍的。。。。。为了方便使用整数表示小数(2位小数)
回复

使用道具 举报

ID:70490 发表于 2018-6-6 22:07 | 显示全部楼层
为了方便使用整数表示小数(2位小数)
回复

使用道具 举报

ID:338940 发表于 2018-6-6 23:32 | 显示全部楼层
devcang 发表于 2018-6-6 21:01
temp=tp*0.0625*100+0.5; /////这放大了100倍的。。。。。为了方便使用整数表示小数(2位小数)

明白了,谢谢!
回复

使用道具 举报

ID:338940 发表于 2018-6-6 23:33 | 显示全部楼层
fengye615 发表于 2018-6-6 22:07
为了方便使用整数表示小数(2位小数)

明白了,谢谢!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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