我是新学生,想问问DS18B20温度读出来,怎么转换成带小数的十进制数,显示出来

2019-07-15 12:57发布

我最近在学习DS18B20 , 温度读出来后不知如何转换成带小数的十进制数显示在1602上。希望大神工程师点拨一番。谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
@曲终人散@
1楼-- · 2019-07-16 13:04
王栋春 发表于 2016-10-5 22:50
好的  多谢了

相互帮助么,还有就是你回复的真迅速呀
李春明
2楼-- · 2019-07-16 18:19
@曲终人散@ 发表于 2016-10-5 22:51
相互帮助么,还有就是你回复的真迅速呀

正在看资料  准备睡觉了  
@曲终人散@
3楼-- · 2019-07-16 22:42
王栋春 发表于 2016-10-5 22:54
正在看资料  准备睡觉了

嗯嗯,早睡早起,明天继续战斗
小小接触
4楼-- · 2019-07-17 03:32
谢谢各位,我昨天看资料写的程序
uint16_get_temp()
{
        uint8 a,b;
        uint16 d;
        float c;
        temp_change();
        INIT_DS18B20();
        delay(1);
        DS18B20_write(0xcc);
        DS18B20_write(0xbe);
        a=DS18B20_read();
        b=DS18B20_read();
        d=b;
        d<<=8;
        d=d|a;
        c=d*0.0625;
        temp1=c*10+0.5;
       

        return temp1;

}
奇怪的是,读出来的显示在1602的数,大了好多。不知是何故???
void main()
{
        LCD_init();
        while(1)
        {
                temp2=uint16_get_temp();
                delay_us(20);
                shi=temp2/10;
                ge=temp2%10;
                LCD_write_com(0x80);
                LCD_write_date(0x30+shi);
                LCD_write_date(0x30+ge);
                LCD_write_date('.');

               
                                
        }
}
houjue
5楼-- · 2019-07-17 04:38
 精彩回答 2  元偷偷看……
李春明
6楼-- · 2019-07-17 09:35
@曲终人散@ 发表于 2016-10-5 22:59
嗯嗯,早睡早起,明天继续战斗

不知 那个资料到位了吗

一周热门 更多>