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

標題: 單片機控制lcd12864在一行如何顯示多個變量的值? [打印本頁]

作者: Jimqi    時間: 2019-3-4 01:52
標題: 單片機控制lcd12864在一行如何顯示多個變量的值?
12864在一行如何顯示多個變量的值  如a=2,b=3,C是點,d=5 ,e=6

讓12864顯示23.56

作者: yzwzfyz    時間: 2019-3-4 07:56
對于12864來說沒有什么變量不變量,它驅動是128*64個點,你讓哪個點亮它就亮哪個點。你要顯示23.56,先告訴它在什么位置,再告訴它,讓組成23.56那些點亮。這樣就OK了。
作者: 笨笨兔    時間: 2019-3-4 08:20
這個也問?資料上應該有咋顯示吧;
作者: jiangkeqin_sy    時間: 2019-3-4 09:07
不斷刷新頻率就可以了
作者: xiaomeng1364    時間: 2019-3-4 09:40
首先要看你的12864是否有字庫芯片,如果有的話你的送顯方式一般是發送字符,你只需要將你的變量串植入到你將要發送的字符串中就可以了,如果你屏幕是ASCII碼接收,那你就做個HEX轉ASCII碼的函數就可以了。要是沒有字庫芯片,你發送的是點陣數據,那你就做個0~9數字點陣的表,然后查表送顯就可以了。
作者: JoeForMZ    時間: 2019-3-4 11:04
把這幾個變量放在一個數組里,顯示數組就行吧
作者: ahshmj    時間: 2019-3-4 17:18
你需要再復習基礎知識。
作者: 明天好    時間: 2019-11-11 16:54
printf("%d%d%.%d%d",a,b,c,d,e);
作者: bh2030693    時間: 2019-11-11 22:11
本帖最后由 bh2030693 于 2019-11-12 14:10 編輯

假設你的“寫指令”和“寫數據”函數已經寫好了,初始化也完成了,下面是一種寫法:

code uchar TabNumASCII[10] = {'0','1','2','3','4','5','6','7','8','9'}; //液晶屏顯示數字字符表格
code uchar TabLineAddr[4] = {0x80,0x90,0x88,0x98};

float flData = 23.56;   // 原始值
unsigned int uiNumber = flData * 100;   // uiNumber = 2356; 如果直接取整數上一行可以省略

uiNumber %= 10000;    // 過濾無效位,可省略這行
// 設置顯示位置
// 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,是否需要設置根據實際情況決定。




注:昨天發上去的代碼不知道為什么不完整,特編輯了一下。


作者: bh2030693    時間: 2019-11-11 22:17
本帖最后由 bh2030693 于 2019-11-12 14:14 編輯

補充:如果真是顯示多個變量,那就直接寫成這樣:

LCD12864_WriteCommand(TabLineAddr[0] + 2);  // 設置顯示位置
LCD12864_WriteData(TabNumASCII[a]); // 顯示a
LCD12864_WriteData(TabNumASCII
); // 顯示b   
LCD12864_WriteData('.');
LCD12864_WriteData(TabNumASCII[c]);
LCD12864_WriteData(TabNumASCII[d]);

LCD12864_WriteCommand()和LCD12864_WriteData()換成你自己程序里的函數。



作者: bh2030693    時間: 2019-11-12 14:59
不知道為什么?第一次審核后代碼不全,編輯后還是不完整,下面截個圖:




i和x要換成實際需要的位置,例如,第一行第二個字符(漢字)位置寫成:(TabLineAddr[0] + 2)。






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1