找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

DS18B20測(cè)溫代碼問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
DS18B20測(cè)溫和超聲波測(cè)距程序中的問題
DS18B20測(cè)溫中,測(cè)得的數(shù)據(jù)需要加0x30
超聲波測(cè)距程序中不需要加
用的同一個(gè)液晶,
為什么,謝謝

4610b912c8fcc3ce6effeeea9945d688d43f202f.jpg (25.61 KB, 下載次數(shù): 59)

4610b912c8fcc3ce6effeeea9945d688d43f202f.jpg

e824b899a9014c086f2b0f7c017b02087af4f4d2.jpg (27.16 KB, 下載次數(shù): 71)

e824b899a9014c086f2b0f7c017b02087af4f4d2.jpg

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
白鶴859 + 10 贊一個(gè)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:84283 發(fā)表于 2018-1-18 09:56 | 只看該作者
1+0X30=0X31  即 ASCII 對(duì)應(yīng)的 1
2+0x30=0x32  即 ASCII對(duì)應(yīng)的2
在程序里,我們得到的是BYTE 數(shù)組,需要把它轉(zhuǎn)換成十進(jìn)制,即07D0H轉(zhuǎn)換為+125(℃)。
在LCD中,字庫是ASCII值,因此需要+0x30,
即 125/100=1+0x30  對(duì)應(yīng)ASCII  1  LCD顯示百位 ‘1’
    125/10%10=2+0x30  對(duì)應(yīng)ASCII  2  LCD顯示百位 ‘2’
    125%10=5+0x30  對(duì)應(yīng)ASCII  1  LCD顯示百位 ‘5’
℃可由° 和字母C兩個(gè)字符的ASCII碼來顯示,分別為° (0XDF)和 C(0X43)
回復(fù)

使用道具 舉報(bào)

板凳
ID:7485 發(fā)表于 2018-1-18 10:00 | 只看該作者
本帖最后由 ahshmj 于 2018-1-18 10:02 編輯

是將數(shù)值轉(zhuǎn)換成顯示字符的代碼,就是“ASCII”碼。
ACSII碼的從0x30~0x39是0~10 。也可以是 +48(十進(jìn)制),和+0x30一樣。
你可以網(wǎng)上搜索“ASCII”有詳細(xì)的解釋。
因?yàn)椴僮黠@示部分時(shí),LCD的內(nèi)部使用的是ACSII碼,所以需要轉(zhuǎn)換,而單片機(jī)內(nèi)部處理18b20的數(shù)據(jù)是不需要轉(zhuǎn)換的。
回復(fù)

使用道具 舉報(bào)

地板
ID:248754 發(fā)表于 2018-1-18 10:02 | 只看該作者
這個(gè)和=與==在程序中和實(shí)際中的狀態(tài)不一致時(shí)一個(gè)道理
回復(fù)

使用道具 舉報(bào)

5#
ID:244281 發(fā)表于 2018-1-18 10:41 | 只看該作者
ahshmj 發(fā)表于 2018-1-18 10:00
是將數(shù)值轉(zhuǎn)換成顯示字符的代碼,就是“ASCII”碼。
ACSII碼的從0x30~0x39是0~10 。也可以是 +48(十進(jìn)制) ...

同樣的寫液晶程序,為什么超聲波模塊測(cè)得的數(shù)據(jù)就不需要轉(zhuǎn)換呢
回復(fù)

使用道具 舉報(bào)

6#
ID:258566 發(fā)表于 2018-1-18 11:12 | 只看該作者
需要看看lcd12864_SCharDisplay的函數(shù)。
有可能在其他地方加。
回復(fù)

使用道具 舉報(bào)

7#
ID:84283 發(fā)表于 2018-1-18 11:28 | 只看該作者
有可能直接定義數(shù)組   
unsigned char code disbuff[30] =    {'0','1','2','3','4','5','6','7','8','9','.','-','M','C','D','I','S','T','A','N','C','E','T','H','E',':'};
或者在別的地方轉(zhuǎn)換  
自己認(rèn)真看看把
回復(fù)

使用道具 舉報(bào)

8#
ID:244281 發(fā)表于 2018-1-19 20:32 | 只看該作者
qq1105424012 發(fā)表于 2018-1-18 09:56
1+0X30=0X31  即 ASCII 對(duì)應(yīng)的 1
2+0x30=0x32  即 ASCII對(duì)應(yīng)的2
在程序里,我們得到的是BYTE 數(shù)組,需要 ...

非常感謝。。!
回復(fù)

使用道具 舉報(bào)

9#
ID:277930 發(fā)表于 2018-1-20 03:55 | 只看該作者
應(yīng)該還是要加0x30的,要么就是12864顯示函數(shù)里面另有設(shè)置識(shí)別數(shù)字然后加0x30,而且感覺這兩個(gè)代碼不是同一個(gè)程序啊
回復(fù)

使用道具 舉報(bào)

10#
ID:277904 發(fā)表于 2018-1-20 11:17 | 只看該作者
DS18B20 溫度不太溫度 數(shù)據(jù)精度不行 換其他傳感器吧
回復(fù)

使用道具 舉報(bào)

11#
ID:86884 發(fā)表于 2018-1-25 11:52 | 只看該作者
+0x30就變成了對(duì)應(yīng)數(shù)字的的ASCII碼,也就是數(shù)字9變成了字符'9'
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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