找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請教,51單片機讀出18b20,8位二進制數(shù)轉(zhuǎn)ascII碼算法原理

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:73992 發(fā)表于 2022-2-28 20:29 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
18B20讀出8位二進制,高四位和低四位經(jīng)過加30H或者37H只能得到16進制ascII碼。85攝氏度在lcd1602上顯示16進制55。我想顯示十進制數(shù)。比如125攝氏度就顯示十進制125度,而不是十六進制7d。

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

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

使用道具 舉報

地板
ID:73992 發(fā)表于 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即為這個數(shù)的ascII碼。
           謝謝樓上兩位老師!!
回復(fù)

使用道具 舉報

板凳
ID:8222 發(fā)表于 2022-3-1 11:01 | 只看該作者
要加十進制的30就行了,或者象樓上的加'0'。
回復(fù)

使用道具 舉報

沙發(fā)
ID:161164 發(fā)表于 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);
復(fù)制代碼
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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