標題: 單片機ds18b20溫度計算小數(shù)如何改動程序? [打印本頁]

作者: zhai123    時間: 2019-4-19 21:43
標題: 單片機ds18b20溫度計算小數(shù)如何改動程序?
ds18b20溫度轉(zhuǎn)換這段程序誰能詳細說明一下怎么運行的,如果我想計算小數(shù)如何改動

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);
        }
}


作者: yangdk    時間: 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;
}
作者: wulin    時間: 2019-4-20 08:37
yangdk 發(fā)表于 2019-4-19 22:49
int getTmpValue()
{
    unsigned int tmpvalue;

給你一個示例程序。

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






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1