2022-07-10

Raspbery Pi Pico 控制 5.7寸 320x240 LCD熒幕

5.7寸 320x240 是單色 LCD熒幕 的最大尺寸,未必是最佳顯示效果
但因為單色顯示,操作上相對簡單,不需要效慮顏色,便可以顯示資料,都非常方便

熒幕外觀

見下文
5.7寸 320x240 LCD熒幕 的 正面

見下文
5.7寸 320x240 LCD熒幕 的 背面

引腳介面

5.7寸 320x240 LCD熒幕 支援多種介面控制

J1介面
見下文
使用標準通孔引腳,操作 LCD熒幕 的 顯示內容

編號 引腳 方向 功能
1 GND 接地
2 VCC 接受 3.3V 至 5.5V
3 V0 調整對比度
4 WR 輸入 寫入資料,由高電壓到低電壓時執行
RD 都是低電壓時,不執行指令
5 RD 輸入 讀取資料,由高電壓到低電壓時執行
WR 都是低電壓時,不執行指令
6 CS 輸入 晶片選擇,低電壓時執行
7 A0 輸入 模式切換;高電壓為指令模式,低電壓為資料模式
8 RST 輸入 重設資料,由低電壓到高電壓時執行
9 D0 輸入輸出 第0訊號
10 D1 輸入輸出 第1訊號
11 D2 輸入輸出 第2訊號
12 D3 輸入輸出 第3訊號
13 D4 輸入輸出 第4訊號
14 D5 輸入輸出 第5訊號
15 D6 輸入輸出 第6訊號
16 D7 輸入輸出 第7訊號
17 LED+ LED背光,接受 3.3V 至 5V
18 VEE -15V 輸出
19 LED+ LED背光,接受 3.3V 至 5V
20 LED- LED背光,接地

J1擴充介面
見下文
操作 LCD的觸控互動功能

見下文
U13 需要焊接 ADS7843 才能提供觸控操作功能
是一種常用於 觸控熒幕 的驅動晶片

編號 引腳 方向 功能
1 SCK 輸入 ADS7843 序列時脈訊號
2 CS 輸入 ADS7843 晶片選擇,低電壓時執行
3 MISO 輸入 ADS7843 序列輸入訊號
4 BUSY 輸出 ADS7843 繁忙戕態訊號
5 MOSI 輸出 ADS7843 序列輸出訊號
6 INT 輸入 ADS7843 中斷訊號
7 IN1 輸入 ADS7843 輔助輸入訊號1
8 IN2 輸入 ADS7843 輔助輸入訊號2

J2介面
見下文
使用 24引腳 的 FFC連接器 或 FPC連接器

編號 引腳 方向 功能
1 RST 輸入 重設資料,由低電壓到高電壓時執行
2 RD 輸入 讀取資料,由高電壓到低電壓時執行
WR 都是低電壓時,不執行指令
3 WR 輸入 寫入資料,由高電壓到低電壓時執行
RD 都是低電壓時,不執行指令
4 CS 輸入 晶片選擇,低電壓時執行
5 A0 輸入 模式切換;高電壓為指令模式,低電壓為資料模式
6 D0 輸入輸出 第0訊號
7 D1 輸入輸出 第1訊號
8 D2 輸入輸出 第2訊號
9 D3 輸入輸出 第3訊號
10 D4 輸入輸出 第4訊號
11 D5 輸入輸出 第5訊號
12 D6 輸入輸出 第6訊號
13 D7 輸入輸出 第7訊號
14 VCC 接受 3.3V 至 5.5V
15 GND 接地
16 VEE -15V 輸出
17 V0 調整對比度
18 SCK 輸入 ADS7843 序列時脈訊號
19 MOSI 輸出 ADS7843 序列輸出訊號
20 MISO 輸入 ADS7843 序列輸入訊號
21 CS 輸入 ADS7843 晶片選擇,低電壓時執行
22 INT 輸入 ADS7843 中斷訊號
23 LED+ LED背光,接受 3.3V 至 5V
24 LED- LED背光,接地

J3介面
見下文
使用 14引腳 FFC連接器 或 FPC連接器

編號 引腳 方向 功能
1 D0 輸入 第0訊號
2 D1 輸入 第1訊號
3 D2 輸入 第2訊號
4 D3 輸入 第3訊號
5 DIS 輸入 熒幕開始;高電壓為開啟,低電壓為關閉
6 FRM 輸出 幀訊號
7 M
8 LP
9 CP
10 VCC 接受 3.3V 至 5.5V
11 GND 接地
12 VEE -15V 輸出
13 V0 調整對比度
14 GND 接地

晶片

見下文
RA8835,用於控制 5.7寸 320x240 LCD熒幕 的驅動晶片

見下文
AiP31086UE 共有80條頻道控制點陣顯示器,5.7寸 320x240 LCD熒幕 共有 7塊

見下文
LY62256SL,擁有 32K SRAM

見下文
在下焊接時使用不同顏色的引腳方便辨認引腳用途

見下文
說明

見下文
LM324晶片,4路運算放大器

見下文
MC34063晶片,將降低及穩定電壓

RA8835指令集

A0 WR RD D Hex Dec 功能
7 6 5 4 3 2 1 0
1 0 1 0 1 0 0 0 0 0 0 0x40 64 系統設定(必須第一個指令)
0 0 1 0 0 T 1 S H D R R 為選擇使用 CGROM
  • 0 = 使用內部 CGROM
  • 1 = 使用外部 CGROM
D 為設定 D6 修正
  • 0 = 不使用 D6 修正
  • 1 = 使用 D6 修正
H 為設定像素高度
  • 0 = 使用 8像素高度
  • 1 = 使用 16像素高度
S 為設定熒幕顯示模式
  • 0 = 使用單熒幕
  • 1 = 使用雙熒幕
T 為設定頂列修正
  • 0 = 使用頂列修正
  • 1 = 不使用頂列修正
0 0 1 F 0 0 0 0 W[2] W[1] W[0] W 為 3位元設定字元闊度,0 為 1像素
F 為選擇 AC驅動器
  • 0 = 使用 16列 AC驅動
  • 1 = 使用 2格 AC驅動
0 0 1 F 0 0 0 H[3] H[2] H[1] H[0] H 為 4位元設定字元高度,0 為 1像素
0 0 1 R[7] R[6] R[5] R[4] R[3] R[2] R[1] R[0] R 為 8位元設定熒幕列數
0 為 1像素,最多支援 240欄
0 0 1 O[7] O[6] O[5] O[4] O[3] O[2] O[1] O[0] O 為 8位元設定振盪器的速度
通常使用 65 至 70
0 0 1 R[7] R[6] R[5] R[4] R[3] R[2] R[1] R[0] R 為 8位元設定掃描列數
0 0 1 C[7] C[6] C[5] C[4] C[3] C[2] C[1] C[0] C 為 16位元設定低位元組掃描欄數
第7位元 至 第0位元
最多支援 640欄
0 0 1 C[15] C[14] C[13] C[12] C[11] C[10] C[9] C[8] C 為 16位元設定高位元組掃描欄數
第15位元 至 第8位元
最多支援 640欄
1 0 1 0 1 0 1 0 0 1 1 0x53 83 準備模式
1 0 1 0 1 0 1 1 0 0 B 0x58 88 顯示設定
B 為設定開關
  • 0 = 關閉顯示器
  • 1 = 開啟顯示器
0 0 1 T[1] T[0] S[1] S[0] F[1] F[0] C[1] C[0] C 為 2位元設定遊標閃動速度
  • [0:0] = 不顯示遊標
  • [0:1] = 顯示遊標
  • [1:0] = 以 2 Hz 速度閃動(快)
  • [1:1] = 以 1 Hz 速度閃動(慢)
F 為 2位元設定第一圖層閃動速度
  • [0:0] = 不顯示圖層
  • [0:1] = 顯示圖層
  • [1:0] = 以 2 Hz 速度閃動(慢)
  • [1:1] = 以 16 Hz 速度閃動(快)
S 為 2位元設定第二圖層閃動速度
  • [0:0] = 不顯示圖層
  • [0:1] = 顯示圖層
  • [1:0] = 以 2 Hz 速度閃動(慢)
  • [1:1] = 以 16 Hz 速度閃動(快)
T 為 2位元設定第三圖層閃動速度
  • [0:0] = 不顯示圖層
  • [0:1] = 顯示圖層
  • [1:0] = 以 2 Hz 速度閃動(慢)
  • [1:1] = 以 16 Hz 速度閃動(快)
1 0 1 0 1 0 0 0 1 0 0 0x44 68 圖層設定
0 0 1 F[7] F[6] F[5] F[4] F[3] F[2] F[1] F[0] F 為 16位元設定低位元組第一圖層開始地址
第7位元 至 第0位元
0 0 1 F[15] F[14] F[13] F[12] F[11] F[10] F[9] F[8] F 為 16位元設定高位元組第一圖層開始地址
第15位元 至 第8位元
0 0 1 F[7] F[6] F[5] F[4] F[3] F[2] F[1] F[0] F 為 8位元設定第一圖層顯示行數
0 0 1 S[7] S[6] S[5] S[4] S[3] S[2] S[1] S[0] S 為 16位元設定低位元組第二圖層開始地址
第7位元 至 第0位元
0 0 1 S[15] S[14] S[13] S[12] S[11] S[10] S[9] S[8] S 為 16位元設定高位元組第二圖層開始地址
第15位元 至 第8位元
0 0 1 S[7] S[6] S[5] S[4] S[3] S[2] S[1] S[0] S 為 8位元設定第二圖層顯示行數
0 0 1 T[7] T[6] T[5] T[4] T[3] T[2] T[1] T[0] T 為 16位元設定低位元組第三圖層開始地址
第7位元 至 第0位元
0 0 1 T[15] T[14] T[13] T[12] T[11] T[10] T[9] T[8] T 為 16位元設定高位元組第三圖層開始地址
第15位元 至 第8位元
0 0 1 F[7] F[6] F[5] F[4] F[3] F[2] F[1] F[0] F 為 16位元設定低位元組第四圖層開始地址
第7位元 至 第0位元
0 0 1 F[15] F[14] F[13] F[12] F[11] F[10] F[9] F[8] F 為 16位元設定高位元組第四圖層開始地址
第15位元 至 第8位元
1 0 1 0 1 0 1 1 1 0 1 0x5D 93 遊標設定
0 0 1 0 0 0 0 W[3] W[2] W[1] W[0] W 為 4位元遊標闊度
0 0 1 T 0 0 0 H[3] H[2] H[1] H[0] H 為 4位元遊標闊度
T 為遊標類型
  • 0 = 底線
  • 1 = 方格
1 0 1 0 1 0 1 1 1 0 0 0x5C 93 設定 CGRAM 位置
0 0 1 R[7] R[6] R[5] R[4] R[3] R[2] R[1] R[0] R 為 16位元設定低位元組 CGROM 位置
第7位元 至 第0位元
0 0 1 R[15] R[14] R[13] R[12] R[11] R[10] R[9] R[8] R 為 16位元設定高位元組 CGROM 位置
第15位元 至 第8位元
1 0 1 0 1 0 0 1 1 M[1] M[0] 0x4C 76 M 為 選擇遊標移動模式
  • [0:0] = 向右移動
  • [0:1] = 向左移動
  • [1:0] = 向上移動
  • [1:1] = 向下移動
1 0 1 0 1 0 1 1 0 1 0 0x5A 90 設定水平捲動
0 0 1 0 0 0 0 0 O[2] O[1] O[0] O 為 3位元設定偏移幅度
1 0 1 0 1 0 1 1 0 1 1 0x5B 91 設定重疊效果
0 0 1 0 0 0 O S F C C C 為 2位元圖層重疊組合
  • [0:0] = Or 重疊
  • [0:1] = Xor 重疊
  • [1:0] = And 重疊
  • [1:1] = Or 重疊(半透明)
F 為 設定第一圖層模式
  • 0 = 文字模式
  • 1 = 圖像模式
S 為 設定第二圖層模式
  • 0 = 文字模式
  • 1 = 圖像模式
O 為 設定圖像圖層重疊數量
  • 0 = 2層重疊
  • 1 = 3層重疊
1 0 1 0 1 0 0 0 1 1 0 0x46 70 設定遊標位置
0 0 1 P[7] P[6] P[5] P[4] P[3] P[2] P[1] P[0] P 為 16位元設定低位元組遊標位置
第7位元 至 第0位元
0 0 1 P[15] P[14] P[13] P[12] P[11] P[10] P[9] P[8] P 為 16位元設定高位元組遊標位置
第15位元 至 第8位元
1 0 1 0 1 0 0 0 1 1 1 0x47 71 讀取遊標位置
1 1 0 P[7] P[6] P[5] P[4] P[3] P[2] P[1] P[0] P 為 16位元設定低位元組遊標位置
第7位元 至 第0位元
1 1 0 P[15] P[14] P[13] P[12] P[11] P[10] P[9] P[8] P 為 16位元設定高位元組遊標位置
第15位元 至 第8位元
1 0 1 0 1 0 0 0 0 1 0 0x42 66 寫入 DDRAM
0 0 1 D[7] D[6] D[5] D[4] D[3] D[2] D[1] D[0] D 為 8位元 DDRAM ,不限數量
直至執行另一個指令
1 0 1 0 1 0 0 0 0 1 1 0x43 67 讀取 DDRAM
1 1 0 D[7] D[6] D[5] D[4] D[3] D[2] D[1] D[0] D 為 8位元 DDRAM ,不限數量
直至執行另一個指令
0 1 0 0 B 0 0 0 0 0 0 B 為 檢查狀態
  • 0 = 閒置狀態
  • 1 = 忙碌狀態

訊號指令

RA8835除了指令集外,還需要配合 RST引腳 及 CS引腳 才能將指令由傳送給 RA8835
RA8835 同樣具備 寫入指令 及 讀取指令,但與 HD44780 、HD61202 稍有不同
執行指令不是使用 EN引腳 ,而是分別使用 WR引腳(執行寫入操作) 及 RD引腳(執行讀取操作)
不過同樣 由高電壓至低電壓 觸發指令

寫入指令
執行 寫入指令 先將 A0引腳 、 WR引腳 、 RD引腳 保持高電壓
當 D*引腳 將 指令 設置完成後,將 WR引腳 下降到 低電壓
如果 指令 需要附上 參數,將 A0引腳 下降到 低電壓 ,WR引腳 上升到 高電壓
當 D*引腳 將 參數 設置完成後,將 WR引腳 下降到 低電壓
如果 參數 超過一個,重覆 設置 D*引腳 及 WR引腳 的 操作

引腳 初始 開始 發送指令 寫入參數(選用)(可重覆) 結束 完成
RT 0 1 0
CS 1 0 1
A0 1 0
WR 1 0 1 0 1
RD 1
D7 * *
D6 * *
D5 * *
D4 * *
D3 * *
D2 * *
D1 * *
D0 * *

以波紋時序圖顯示
RT CS A0 WR RD D7 D6 D5 D4 D3 D2 D1 D0
讀取指令
執行 讀取指令 同樣先將 A0引腳 、 WR引腳 、 RD引腳 保持高電壓
當 D*引腳 將 指令 設置完成後,將 WR引腳 下降到 低電壓
然後將 WR引腳 上升到 高電壓 ,並將 RD引腳 下降到 低電壓 來讀取資料
如果 資料 超過一個,重覆 RD引腳 的 操作

引腳 初始 開始 發送指令 讀取資料(可重覆) 結束 完成
RT 0 1 0
CS 1 0 1
A0 1
WR 1 0 1
RD 1 0 1
D7 * *
D6 * *
D5 * *
D4 * *
D3 * *
D2 * *
D1 * *
D0 * *

以波紋時序圖顯示
RT CS A0 WR RD D7 D6 D5 D4 D3 D2 D1 D0

設計原型

見下文
在下使用 Fritzing 設計原型
Fritzing 沒有 5.7寸 320x240 LCD熒幕,因此在下自行製作 Fritzing元件
(在下盡量根據真實比例繪製)

原型線路

見下文
見下文
接駁線路的方式與 HD44780 相似
只是線路多,但不算複雜

見下文
見下文
使用 10KΩ電位器控制 LCD 的對比度
雖然設計原型顯示接駁到 J1擴充引腳,但實際上在下沒有焊接 J1擴充引腳
因此沒有使用 J1擴充引腳的功能

見下文
只使用 J1引腳 控制 LCD 的顯示內容

見下文
見下文
見下文
使用 Raspberry Pi Pico 控制 LCD

起動熒幕

見下文
接駁線路後,會發現 LCD熒幕 只有一條線
原因是 LCD熒幕 仍未起動,需要將 RT引腳 設定為 高電壓 才能起動

見下文
RT引腳 設定為 高電壓 後,會亮著 LCD熒幕 所有像素
可作測試 LCD熒幕 有否損壞

執行指令

基本上就是執行指令集的指令
其 系統設定 必須首先執行,其餘指令則不限執行先後

RA8835 執行指令的方式與 MAX7291 相似
先執行指令;如果指令需要附加參數,執行指令後,便使用資料模式傳送參數
在下使用 偽代號 (Pseudo Code) 作範示:
write(v) {
	RT     = 1; // 啟動模組
	CS     = 0; // 啟用晶片
	WR     = 1;
	RD     = 1;
	D[7:0] = v;
	WR     = 0; // 執行指令
	CS     = 1;
}

writeCommand(v) {
	A0 = 1; // 使用指令暫存器
	write(v);
}

writeData(v) {
	A0 = 0; // 使用資料暫存器
	write(v);
}

writeCommand(0x40); // 寫入 0x40 指令,執行 系統設定
   writeData(0x30); // 寫入 0x10 參數,傳送 使用內部 CGROM 、不使用 D6 修正、使用 8像素高度、使用單熒幕、使用頂列修正
   writeData(0x87); // 寫入 0x87 參數,傳送 設定字元闊度為 8 、使用 2格 AC驅動
   writeData(0x07); // 寫入 0x07 參數,傳送 設定字元高度為 8
   writeData(0x27); // 寫入 0x27 參數,傳送 設定熒幕列數為 40
   writeData(0x1E); // 寫入 0x1E 參數,傳送 設定振盪器的速度為 30
   writeData(0xEF); // 寫入 0xEF 參數,傳送 設定掃描列數為 240
   writeData(0x28); // 寫入 0x28 參數,傳送 設定低位元組掃描欄數為 40
   writeData(0x00); // 寫入 0x00 參數,傳送 設定高位元組掃描欄數為 0
                    // 即是 設定掃描欄數為 0 << 8 + 40 = 40

writeCommand(0x59); // 寫入 0x59 指令,執行 熒幕設定 ,開啟熒幕顯示
   writeData(0x14); // 寫入 0x05 參數,傳送 設定 不顯示遊標、顯示第一圖層、顯示第二圖層、不顯示第三圖層

系統指令效果
見下文
RA8835 初始化後會顯示雜訊,是正常情況
而且同時顯示 文字圖層 及 圖像圖層 顯得非常混亂

第一參數
見下文
0x10 的效果
設定頂列修正,會保留空白列

見下文
0x30 的效果
設定不使用頂列修正,不會保留空白列
建議設定為不使用頂列修正

見下文
0x31 的初始效果
設定使用外部 CGROM ,由於初始化沒有設定外部 CGROM 的資料
因此所有資料都會雜亂一片,連基本的 ASCII 文字都不能顯示
建議使用內部 CGROM

見下文
0x32 的效果
設定使用 D6 修正,部分方塊文字變成
建議不使用 D6 修正

見下文
0x34 的效果
設定使用 16像素高度
建議使用 8像素高度

見下文
0x38 的效果
設定使用 雙熒幕
建議使用 單熒幕

第二參數
見下文
0x04 至 0x07 的效果
通常與闊度相同;如果要配合文字效果,一般會設定為 0x05 或 0x07

第三參數
見下文
0x00 至 0x0F 的效果
通常與高度相同;如果要配合文字效果,一般會設定為 0x07

第四參數
見下文
0x07 至 0xEF (+8) 的效果
範圍 列數量
0x00 ~ 0x07 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 168 176 184 192 200 208 216 224 232 240
0x08 ~ 0x0F 8
0x10 ~ 0x17 8 16
0x18 ~ 0x1F 8 24
0x20 ~ 0x27 8 16 32
0x28 ~ 0x2F 8 40
0x30 ~ 0x37 8 16 24 48
0x38 ~ 0x3F 8 56
0x40 ~ 0x47 8 16 32 64
0x48 ~ 0x4F 8 24 72
0x50 ~ 0x57 8 16 40 80
0x58 ~ 0x5F 8 88
0x60 ~ 0x67 8 16 24 32 48 96
0x68 ~ 0x6F 8 104
0x70 ~ 0x77 8 16 56 112
0x78 ~ 0x7F 8 24 40 120
0x80 ~ 0x87 8 16 32 64 112
0x88 ~ 0x8F 8 104
0x90 ~ 0x97 8 16 24 48 72 96
0x98 ~ 0x9F 8 88
0xA0 ~ 0xA7 8 16 32 40 80 80
0xA8 ~ 0xAF 8 24 56 72
0xB0 ~ 0xB7 8 16 64 64
0xB8 ~ 0xBF 8 56
0xC0 ~ 0xC7 8 16 24 32 48 48 48 48
0xC8 ~ 0xCF 8 40 40
0xD0 ~ 0xD7 8 16 32 32
0xD8 ~ 0xDF 8 24 24 24
0xE0 ~ 0xE7 8 16 16 16 16 16
0xE8 ~ 0xEF 8 8
當設定列數與 LCD熒幕 的列不相乎時,顯示的資料會重覆
文字圖層 及 圖像圖層 都會出現相同情況

第七及第八參數
見下文
0x0007 至 0x013F (+8) 的效果
範圍 欄數量
0x0000 ~ 0x003F 16 64 240
0x0040 ~ 0x007F 80 32 48 160
0x0080 ~ 0x00BF 160 48 32 80
0x00C0 ~ 0x00FF 240 64 16
0x0100 ~ 0x013F 320
欄內容並非順序顯示
例如要將文字顯示在 第1至第8欄,最少要設定為 0x0080 ;當少於 0x0080 時,文字會在 第17欄 顯示
只有 文字圖層 受影響, 圖像圖層 則不受影響
通常會設定為與 LCD熒幕欄數相同

遊標位置指令效果
見下文
在不影響 DDRAM 下改變遊標位置

水平捲動指令效果
第一參數
見下文
0x00 至 0x07 的效果

顯示指令效果
第一參數
第2位元
0 1
第3位元
見下文
指令 0x59 ,參數 0x08
第一圖層以 333毫秒 速度閃動
見下文
指令 0x59 ,參數 0x0C
第一圖層以 100毫秒 速度閃動

第4位元
0 1
第5位元
見下文
指令 0x59 ,參數 0x24
第一圖層 不閃動
第二圖層以 333毫秒 速度閃動
見下文
指令 0x59 ,參數 0x34
第一圖層 不閃動
第二圖層以 100毫秒 速度閃動

第0位元
0 1
第1位元
見下文
指令 0x59 ,參數 0x17
第一圖層 及 第二圖曾 不閃動
遊標以 333毫秒 速度閃動
見下文
指令 0x59 ,參數 0x16
第一圖層 及 第二圖曾 不閃動
遊標以 666毫秒 速度閃動

遊標指令效果
第7位元
0 1
見下文
第一參數 0x07 ,第二參數 0x07
遊標圖示為 底線 ,闊為 8像素 , 高為 8像素
見下文
第一參數 0x07 ,第二參數 0x87
遊標圖示為 方格 ,闊為 8像素 , 高為 8像素
見下文
第一參數 0x03 ,第二參數 0x03
遊標圖示為 底線 ,闊為 3像素 , 高為 3像素
見下文
第一參數 0x03 ,第二參數 0x83
遊標圖示為 方格 ,闊為 8像素 , 高為 8像素

遊標移動指令效果
第1位元 第0位元
0 1
0
見下文
0x4C 效果
寫入 DDRAM 後,遊標向右移動
見下文
0x4D 效果
寫入 DDRAM 後,遊標向左移動
1
見下文
0x4E 效果
寫入 DDRAM 後,遊標向上移動
見下文
0x4F 效果
寫入 DDRAM 後,遊標向下移動

圖層指令效果
第1位元 第0位元
0 1
0
見下文
參數 0x00
第一圖層 與 第二圖層 以 OR 重疊
見下文
參數 0x01
第一圖層 與 第二圖層 以 XOR 重疊
1
見下文
參數 0x02
第一圖層 與 第二圖層 以 AND 重疊
見下文
參數 0x03
第一圖層 與 第二圖層 以 POR 重疊

補充資料

見下文
見下文
圖像圖層要畫面更新大約需要 3.4秒 (示範影片)

在下使用的 RA8835 還區分 8080系列 及 6800系列
8080系列 使用 WR引腳 及 RD引腳 組合
而 6800系列 使用 RW引腳 及 EN引腳 組合,與 HD44780 、HD61202 相似

8080系列
A0引腳 WR引腳 RD引腳 功能
1 0 1 執行指令
0 0 1 傳送參數
1 1 0 讀取資料
0 1 0 狀態回應

RD引腳 WR引腳
0 1
0 無效 讀取
1 寫入 無效

6800系列
A0引腳 RW引腳 EN引腳 功能
1 0 1 執行指令
0 0 1 傳送參數
1 1 1 讀取資料
0 1 1 狀態回應

EN引腳 RW引腳
0 1
0 無效 無效
1 寫入 讀取

編寫程式時稍微修改便可以運作

總結

這個 LCD熒幕 暫時是在學習使用電子裝置中體積最大,比一些手提電話熒幕還大

320240A LCD熒幕 除了基本的 DDRAM操作,還可以提供焊接 ADS7843晶片 提供觸控操作,增加互動操作效果
但在下使用的 320240A LCD熒幕 沒有焊接 ADS7843晶片,因此沒有此功能

雖然與在下之前使用的 ERM19264 同樣是 LCD熒幕 ,但操作方式完全不同
相比之下,與電子紙原理相似,雖然 320240A LCD熒幕比較巨大,即使全熒幕更新,亦只需要 3秒左右

由於在下使用的 320240A LCD熒幕 以 WR引腳 及 RD引腳 ,而非 RW引腳 及 EN引腳
WR引腳 及 RD引腳 同時 高電壓 或 低電壓 時無效狀態
操作時必須注意 寫入指令 、 寫入資料 或 讀取資料 的 A0引腳 、 WR引腳 、 RD引腳 的電壓高低

由於 32240A LCD熒幕 預設能提供文字圖層及圖像圖層,能夠比其他 LCD熒幕 更容易地顯示文字及圖像資料

其實還有一些細節操作,但在下主要使用上述提及的功能,因此沒有列舉所有操作效果
有興趣可以查看資料表了解所有功能

參考資料

沒有留言 :

張貼留言