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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3512|回復: 3
收起左側

LCD1602如何顯示FLOAT變量?

[復制鏈接]
ID:906479 發表于 2021-4-15 20:11 | 顯示全部樓層 |閱讀模式
小白一枚,最近在用51單片機做個小設計:單片機RXD獲取GPS速度后在1602上顯示出來。GPS給到的速度數據格式是X.XXX或XX.XX或XXX.X,單位是節。



回復

使用道具 舉報

ID:906479 發表于 2021-4-15 20:29 | 顯示全部樓層
本帖最后由 空閑游真 于 2021-4-15 20:41 編輯

現在的想法是把獲取到的數據先賦給一個float變量再用LCD1602輸出。輸出這一步犯了難,LCD1602如何輸出一個浮點數呢,望指教!
回復

使用道具 舉報

ID:207421 發表于 2021-4-15 21:37 | 顯示全部樓層
LCD1602只支持字符顯示,那么小數或數字必須一個一個都轉換成字符,如3 -> '3'   
如果顯示函數是 show(0,0,字符),要顯示num=3.14  先乘以100變成整數,num = 314,那么如下:
show(0,0,num/100%10 + 0x30);
show(0,0,'.');
show(0,0,num/10/%10 + 0x30);
show(0,0,num%10 + 0x30);
回復

使用道具 舉報

ID:906479 發表于 2021-4-15 22:02 | 顯示全部樓層
lwh999995 發表于 2021-4-15 21:37
LCD1602只支持字符顯示,那么小數或數字必須一個一個都轉換成字符,如3 -> '3'   
如果顯示函數是 show(0, ...

感謝回復!我一開始也是這么做的,但是這種做法有個缺點,就是變量的小數點位置是固定的。
我剛才又查了查資料,找到一種比較便捷的方法。就是把浮點變量轉換成字符串再輸出

float x=12.783
char str[6];
sprintf(str,"%f",x);
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表