欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請教,51單片機讀出18b20,8位二進制數轉ascII碼算法原理 [打印本頁]

作者: lyonkon    時間: 2022-2-28 20:29
標題: 請教,51單片機讀出18b20,8位二進制數轉ascII碼算法原理
18B20讀出8位二進制,高四位和低四位經過加30H或者37H只能得到16進制ascII碼。85攝氏度在lcd1602上顯示16進制55。我想顯示十進制數。比如125攝氏度就顯示十進制125度,而不是十六進制7d。

IMG_20220228_202341.jpg (2.06 MB, 下載次數: 42)

IMG_20220228_202341.jpg

作者: lkc8210    時間: 2022-2-28 22:56
給你一個思路

  1. char Temp[] = {"000.0"}

  2. u8_Temp = DS18B20_Temp() * 0.625;
  3. Temp[0] = u8_Temp /1000 % 10 +'0';
  4. Temp[1] = u8_Temp /100 % 10 +'0';
  5. Temp[2] = u8_Temp /10 % 10 +'0';
  6. Temp[4] = u8_Temp  % 10 +'0';

  7. printf_1602(Temp);
復制代碼

作者: 溫xyz    時間: 2022-3-1 11:01
要加十進制的30就行了,或者象樓上的加'0'。
作者: lyonkon    時間: 2022-3-1 21:37
125 二進制是 0111 1101  除以100 等于 0001 1111 就是十進制31,   31模10 余 1
                    0111 1101  除以10   等于 0011 1110 就是十進制62, 62模10 余2
                    0111 1101  除以1     等于 0111 1101 就是十進制125,125模10 余5
                  然后加上#30H即為這個數的ascII碼。
           謝謝樓上兩位老師!!




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