|
本帖最后由 bh2030693 于 2019-11-12 14:10 編輯
假設(shè)你的“寫指令”和“寫數(shù)據(jù)”函數(shù)已經(jīng)寫好了,初始化也完成了,下面是一種寫法:
code uchar TabNumASCII[10] = {'0','1','2','3','4','5','6','7','8','9'}; //液晶屏顯示數(shù)字字符表格
code uchar TabLineAddr[4] = {0x80,0x90,0x88,0x98};
float flData = 23.56; // 原始值
unsigned int uiNumber = flData * 100; // uiNumber = 2356; 如果直接取整數(shù)上一行可以省略
uiNumber %= 10000; // 過濾無效位,可省略這行
// 設(shè)置顯示位置
// LCD12864_WriteCommand(y + x);
LCD12864_WriteCommand(TabLineAddr + x); // i = 0~3; 第幾行, x是字符橫向位置
LCD12864_WriteData(TabNumASCII[uiNumber / 1000]); // 顯示千位:2
LCD12864_WriteData(TabNumASCII[uiNumber % 1000 / 100]); // 顯示百位:3
LCD12864_WriteData('.');
LCD12864_WriteData(TabNumASCII[uiNumber % 100 / 10]);
LCD12864_WriteData(TabNumASCII[uiNumber % 10]);
這只是常見的一種寫法,寫法很多。
補充:在顯示漢字的時候,有的編譯器需要選擇字符編碼為中文簡體GB2312,是否需要設(shè)置根據(jù)實際情況決定。
編碼.png (10.89 KB, 下載次數(shù): 52)
下載附件
編碼
2019-11-11 22:06 上傳
注:昨天發(fā)上去的代碼不知道為什么不完整,特編輯了一下。
|
|