
折騰了幾個(gè)小時(shí)終于顯示了,總結(jié)一下,網(wǎng)友們可以借鑒避免走彎路。
注意幾點(diǎn)很重要:
1,屏幕主板供電必須的GND和VCC,3.3伏和5伏都行。開(kāi)始只把BLA ,BLK供電,屏幕亮了就進(jìn)行軟件設(shè)置了,不要著急,這樣不會(huì)顯示文字的。
2,屏幕對(duì)比度調(diào)整要注意,否則顯示不出來(lái)以為接線錯(cuò)誤,在主板后面有個(gè)很小的十字調(diào)節(jié)鈕,用刀片的尖端才擰的著,線也接對(duì)了,軟件也設(shè)置了。就是不顯示,對(duì)比度調(diào)整到不顯示時(shí)也能看到黑色的底才行。
3,用串行接口PSB懸空即可,屏幕亮度供電最好用軟件控制,接線BLA為正極,BLK接地,其他引腳不用接。
4,要修改驅(qū)動(dòng)庫(kù)的引腳定義和實(shí)際接線一定要一致。
有兩種驅(qū)動(dòng)庫(kù),LCD12864RSPI.h可以直接驅(qū)動(dòng)顯示漢字,比較方便。顯示漢字發(fā)送漢字GBK編碼即可,我做的編碼工具,。鏈接:https://pan.baidu.com/s/1J5GfZkbNstJeR0AjkYExFQ?pwd=1234
用U8G2_ST7920_128X64_F_SW_SPI u8g2 庫(kù)不能直接顯示漢字,要自己轉(zhuǎn)換漢字字模,可能我還不會(huì),反正用LCD12864RSPI極其方便顯示漢字。
#include "LCD12864RSPI.h"
#define AR_SIZE(a) sizeof(a) / sizeof(a[0])
//在LCD12864RSPI.h中要設(shè)置 arduino uno 引腳 e=2,rw=3,rs=4
unsigned char show1[] = "lizhiyong.net";
unsigned char messageString[] = {
0xC0,
0xEE,
0xD6,
0xC7,
0xD3,
0xC2,
}; //李智勇機(jī)器人
int potpin = A0; //定義模擬接口0
int ledpin = 13; //定義數(shù)字接口13
int val = 0; //將定義變量val,并賦初值0
char strval[] = "lzy";
char farray[20] ;
void setup() {
Serial.begin(9600); //設(shè)置波特率為9600
LCDA.Initialise(); // 屏幕初始化
delay(100);
}
void loop() {
LCDA.CLEAR(); //清屏
delay(100);
LCDA.DisplayString(0, 1, messageString, AR_SIZE(messageString)); //第一行第2格開(kāi)始
delay(100);
LCDA.DisplayString(2, 1, show1, AR_SIZE(show1));
; //第三行第二格開(kāi)始,顯示網(wǎng)址
val = analogRead(potpin); //讀取模擬接口0 的值,并將其賦給val
//int voltage = map(val,0,1023,0,4.84*100);
float voltage = val * (4.84 / 1023.0);
String stringOne = String(voltage, 3); //直接用String類數(shù)據(jù)轉(zhuǎn)換float 太方便了
// memcpy(farray, &voltage, sizeof(farray));
String strval = String(val); //直接用String類數(shù)據(jù)轉(zhuǎn)換
//itoa(val, strval, 10);
//itoa(voltage, strval1, 10); 不能用整數(shù)轉(zhuǎn)換
//sprintf(strval1,"%f",voltage);
//strcat( strval," / ");
//strcat(strval,stringOne.c_str());//用String 類 可以直接轉(zhuǎn)換C 字符數(shù)組c_str()
strval=strval+" / "+stringOne;
const char *str = strval.c_str();
Serial.println( str); //顯示出val 的值
LCDA.DisplayString(1, 1, str,strval.length());
; //第三行第二格開(kāi)始,顯示網(wǎng)址
delay(1000);
LCDA.CLEAR(); //清屏
//LCDA.DrawFullScreen(logo0);
//delay(3000);
}
3
審核編輯 黃宇
-
液晶屏
+關(guān)注
關(guān)注
18文章
754瀏覽量
46320 -
Arduino
+關(guān)注
關(guān)注
190文章
6526瀏覽量
196947
發(fā)布評(píng)論請(qǐng)先 登錄
LCD12864買帶有漢字庫(kù)的好用,直接往keil寫漢字,液晶屏就顯示什么。 #電子 #單片機(jī)#硬聲創(chuàng)作季
在8051系統(tǒng)中創(chuàng)建小型漢字庫(kù)
如何使帶漢字庫(kù)的12864顯示8*16的光標(biāo)
單片機(jī)是如何實(shí)現(xiàn)液晶屏漢字庫(kù)的顯示呢
基于單片機(jī)的液晶屏12864帶字庫(kù)_C液晶顯示【C語(yǔ)言】
基于單片機(jī)的液晶屏LCD12864不帶字庫(kù)_液晶顯示【匯編】
基于單片機(jī)的液晶屏12864帶字庫(kù)_A液晶顯示【匯編+C語(yǔ)言】
自制漢字庫(kù)的原理與應(yīng)用
硬件漢字庫(kù)設(shè)計(jì)原理與應(yīng)用
單片機(jī)中不帶字庫(kù)LCD液晶屏如何顯示少量漢字詳細(xì)方法和代碼說(shuō)明
關(guān)于COG工藝的12864液晶屏優(yōu)缺點(diǎn)的分析
1286液晶屏LCD的使用C語(yǔ)言和芯片數(shù)據(jù)手冊(cè)與電路圖等資料說(shuō)明
12864B 帶漢字庫(kù)的液晶屏 與 arduino 連接 ,你是否順利顯示
評(píng)論