標(biāo)題:
請(qǐng)教,51單片機(jī)讀出18b20,8位二進(jìn)制數(shù)轉(zhuǎn)ascII碼算法原理
[打印本頁]
作者:
lyonkon
時(shí)間:
2022-2-28 20:29
標(biāo)題:
請(qǐng)教,51單片機(jī)讀出18b20,8位二進(jìn)制數(shù)轉(zhuǎn)ascII碼算法原理
18B20讀出8位二進(jìn)制,高四位和低四位經(jīng)過加30H或者37H只能得到16進(jìn)制ascII碼。85攝氏度在lcd1602上顯示16進(jìn)制55。我想顯示十進(jìn)制數(shù)。比如125攝氏度就顯示十進(jìn)制125度,而不是十六進(jìn)制7d。
IMG_20220228_202341.jpg
(2.06 MB, 下載次數(shù): 42)
下載附件
2022-2-28 20:28 上傳
作者:
lkc8210
時(shí)間:
2022-2-28 22:56
給你一個(gè)思路
char Temp[] = {"000.0"}
u8_Temp = DS18B20_Temp() * 0.625;
Temp[0] = u8_Temp /1000 % 10 +'0';
Temp[1] = u8_Temp /100 % 10 +'0';
Temp[2] = u8_Temp /10 % 10 +'0';
Temp[4] = u8_Temp % 10 +'0';
printf_1602(Temp);
復(fù)制代碼
作者:
溫xyz
時(shí)間:
2022-3-1 11:01
要加十進(jìn)制的30就行了,或者象樓上的加'0'。
作者:
lyonkon
時(shí)間:
2022-3-1 21:37
125 二進(jìn)制是 0111 1101 除以100 等于 0001 1111 就是十進(jìn)制31, 31模10 余 1
0111 1101 除以10 等于 0011 1110 就是十進(jìn)制62, 62模10 余2
0111 1101 除以1 等于 0111 1101 就是十進(jìn)制125,125模10 余5
然后加上#30H即為這個(gè)數(shù)的ascII碼。
謝謝樓上兩位老師!!
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1