找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LCD1602顯示多位數(shù)字時為什么要把每位數(shù)字單獨取出來顯示?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:352989 發(fā)表于 2024-4-16 16:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在LCD1602中為什么在顯示多位數(shù)字時,要把每位數(shù)字單獨取出來顯示。比如123,先把百位取出,在十位取出,再個位取出。把它看成字符串顯示不行嗎?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1110945 發(fā)表于 2024-4-16 19:27 | 只看該作者
很明確的說不行,“123”這個數(shù)字在單片機的樣子是“01111011”(0x7b)的,
1602顯示的是“字符”而不是“字符串”,“字符”是一個8位的數(shù)字,“字符串”
是一個“數(shù)組”,很容易處理成字符。
“1”的字符是“00110001”(0x31),“2”的字符是“00110010”(0x32),
“3”的字符是“00110011”(0x33),你研究研究ASCII字符表,“{”的字符是
“01111011”(0x7b),也就是你所說的“123”這個數(shù)字,所以要先轉(zhuǎn)換成一
個一個的字符,然后才能在1602上顯示。
回復(fù)

使用道具 舉報

板凳
ID:619259 發(fā)表于 2024-4-16 19:52 | 只看該作者
把數(shù)字看成字符串來顯示是可以的,比如手機號碼、QQ號等。但若要顯示變化的數(shù)字,比如時鐘,就得取位了。
回復(fù)

使用道具 舉報

地板
ID:883242 發(fā)表于 2024-4-16 20:51 | 只看該作者
液晶顯示模塊LCM可不會看,必須要你轉(zhuǎn)換才行,譚浩強c語言很簡單用sprintf()轉(zhuǎn)換就行,但這個函數(shù)太大了,單片機無法承受之重,要你自己寫轉(zhuǎn)換字符串函數(shù)。
回復(fù)

使用道具 舉報

5#
ID:390416 發(fā)表于 2024-4-16 23:07 | 只看該作者
回復(fù)

使用道具 舉報

6#
ID:277550 發(fā)表于 2024-4-17 07:52 | 只看該作者
數(shù)字,先轉(zhuǎn)成字符串,再顯示字符串
回復(fù)

使用道具 舉報

7#
ID:458247 發(fā)表于 2024-4-17 08:43 | 只看該作者
Hephaestus 發(fā)表于 2024-4-16 20:51
液晶顯示模塊LCM可不會看,必須要你轉(zhuǎn)換才行,譚浩強c語言很簡單用sprintf()轉(zhuǎn)換就行,但這個函數(shù)太大了, ...

sprintf函數(shù)在stm32上很好用,51也能用,但是速度比較慢,占用比較大
回復(fù)

使用道具 舉報

8#
ID:646520 發(fā)表于 2024-4-17 09:11 | 只看該作者
當然可以,但你需要將數(shù)字先轉(zhuǎn)換為字符串,如果你看過顯示字符串的函數(shù),你就會發(fā)現(xiàn)顯示字符串的函數(shù)也是一個一個的取出每一個字符顯示,和你描述的取百位取十位取個位沒啥區(qū)別,而這樣做你還多了一步將數(shù)字轉(zhuǎn)換為字符串。
回復(fù)

使用道具 舉報

9#
ID:352989 發(fā)表于 2024-4-17 11:31 | 只看該作者
明日之星8 發(fā)表于 2024-4-16 19:27
很明確的說不行,“123”這個數(shù)字在單片機的樣子是“01111011”(0x7b)的,
1602顯示的是“字符”而不是“ ...

好的。謝謝!明白了!
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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