找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2064|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)ds18b20溫度計(jì)算小數(shù)如何改動(dòng)程序?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:435640 發(fā)表于 2019-4-19 21:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
ds18b20溫度轉(zhuǎn)換這段程序誰(shuí)能詳細(xì)說(shuō)明一下怎么運(yùn)行的,如果我想計(jì)算小數(shù)如何改動(dòng)

void temp_convert(void)
{
        negetiveflag=0;         
        negetiveflag=temp_h&0x80;
        if(negetiveflag)
        {
                negetiveflag=1;        
                temp_h=~temp_h;
                  if(temp_l==0)
                {
                         temp_h++;
                }
                  temp_l=~temp_l+1;         
        }
        temp_h<<=4;
        temp_l>>=4;                        
        temp_over=temp_h|temp_l;  
        tempalarm=temp_over;
        if(negetiveflag==1)
        {
                 tempalarm=tempalarm*(-1);
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:516781 發(fā)表于 2019-4-19 22:49 | 只看該作者
int getTmpValue()
{
    unsigned int tmpvalue;
    int value;
    float t;
    unsigned char low, high;
    sendReadCmd();
   
    low = readByte();
    high = readByte();
   
    tmpvalue = high;
    tmpvalue <<= 8;
    tmpvalue |= low;
    value = tmpvalue;
   
  \
    t = value * 0.0625;
    \
    value = t * 100 + (value > 0 ? 0.5 : -0.5); //大于0加0.5, 小于0減0.5
    return value;
}

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
zhai123 + 10

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2019-4-20 08:37 | 只看該作者
yangdk 發(fā)表于 2019-4-19 22:49
int getTmpValue()
{
    unsigned int tmpvalue;

給你一個(gè)示例程序。

ds18b20溫度數(shù)碼管顯示+仿真.zip (123.22 KB, 下載次數(shù): 21)

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
zhai123 + 10

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表