繁體中文V1.0 - RAiO Technology Inc.

RAiO
RA8803 / RA8822
雙圖層 文字/圖形
LCD 控制器
常見使用問題及說明
Preliminary Version 1.0
March 10, 2009
RAiO Technology Inc.
©Copyright RAiO Technology Inc. 2009
RAiO TECHNOLOGY INC.
1/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
Update History
Version
1.0
Date
March 10, 2009
RAiO TECHNOLOGY INC.
Description
Preliminary Version
2/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
Chapter
Contents
Page
1. 基本應用篇 ................................................................................................. 5
1-1 基本介紹................................................................................................................. 5
1-2 如何設計模組上的 RA8803/8822 電路 ................................................................... 6
1-3 使用 RA8803/8822 無法點亮.................................................................................. 9
2. 鍵盤掃描相關應用問題 ............................................................................. 10
2-1 Sleep Mode 時,鍵盤喚醒功能無作用 ?.............................................................. 10
2-2 按鍵在連續或交替被按下時,會造成 KeyScan 功能無法正常運作 ? ................... 10
2-3 在使用 RA8803/22 KeyScan 功能,同時按兩個按鍵會當機 ?............................. 10
3. MUC 介面相關應用問題............................................................................ 12
3-1 當 ZCS1 一直處於低準位狀態時,為什麼有螢幕會有瞬間閃爍的現象 ? .............. 12
3-2 RA8803/22 是否可以在 8051 總線模式下運行 ? .................................................. 12
3-3 使用 8051 總線模式,為什麼無法點亮 LCD Panel ? ........................................... 13
3-4 當進入 8051 外部中斷服務常式後,會有當機現象!! ............................................. 13
4. 觸控螢幕相關應用問題 ............................................................................. 14
4-1 Touch panel 在觸控屏上有非線性的問題 ? ......................................................... 14
4-2 Touch Panel 觸控信號一直亂發的原因為何 ? ..................................................... 14
5. 螢幕顯示相關應用問題 ............................................................................. 16
5-1 Power ON 瞬間螢幕為什麼會出現暫態的全白畫面 ? ........................................... 16
5-2 螢幕顯示會有閃爍的情況,這是什麼原因造成 ? .................................................. 16
5-3 MPU 對 RA8803/22 作讀寫的動作時,顯示屏上依稀可看見誤寫的雜點?............ 17
5-4 RA8803/22 的工作視窗與顯示視窗的作用為何 ? 如何區別 ?............................... 18
5-5 使用 PNTR 清除畫面的指令後,左上角會出現 4 個點清不掉 ?............................ 18
5-6 如何使用 RA8803/22 四灰階顯示效果 ?............................................................... 18
5-7 請問 RA8803 的捲動功能是否可以向右捲動或向上捲動 ? ................................... 19
5-8 MCU I/F 設定 4 位元通訊方式,無法正常顯示內建中文字庫 ?............................. 19
5-9 無法在文字模式正常顯示內建字庫的文字 ? ......................................................... 19
5-10 為什麼在文字尚未填寫完一列時,會發生自動換行的狀況 ? .............................. 19
5-11 請問自建字型可否自建 8*16 的字體 ? ................................................................ 19
5-12 使用 RA8803/22 內建字庫,顯示的文字會有缺點錯亂現象 ?............................. 20
5-13 顯示的文字或圖形偏移 ....................................................................................... 20
RAiO TECHNOLOGY INC.
3/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
5-14 如何避免當機現象............................................................................................... 21
5-15 如何避免 IC 損毀 ................................................................................................ 21
5-16 顯示的畫面有殘影或品質不佳............................................................................. 22
RAiO TECHNOLOGY INC.
4/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
1. 基本應用篇
1-1 基本介紹
RA8803 和 RA8822 是功能強大且容易使 STN LCD 顯示控制器,除了提供 STN LCD 顯示功能外,
還內建中英文字庫、智慧型電阻式觸控掃瞄控制器與鍵盤掃瞄介面,使用者可以節省相當多的時間
和成本於系統硬體和軟體開發上。RA8803/8822 系統應用方塊圖如下:
LCD
LCD
Driver
Driver
Font
ROM
Display
RAM
CPU
CPU
1
2
3
4
5
6
7
8
9
*
0
#
LCD
LCD Panel
Panel
LCD
LCD
Driver
Driver
LCD
Controller
(128x64
(128x64 ~~ 640x240)
640x240)
Touch Panel
ADC
Key-Scan
Touch
Controller
RA8803/8822
圖 1-1
基本上 RA8803/8822 接受 MCU 送來的指令,然後將 MCU 所希望顯示的內容以資料傳輸到 LCD 驅
動器(Driver),再透過驅動器接到 STN 玻璃上顯示出文字或圖案。因此 RA8803/8822 是界於 MCU
與 LCD 驅動器之間的控制 IC,在實際應用上有兩種模式,一種是將 RA8803/8822 置於 LCD 模組
上,做成帶控制器的 LCD 模組, 如下圖:
LCD 模組
其他元件
其他元件
升壓電路
升壓電路
LCD
LCD
Driver
Driver
LCD
LCD
Controller
Controller
CPU
CPU
LCD
LCD
Driver
Driver
LCD
LCD Panel
Panel
(128x64
(128x64 ~~ 640x240)
640x240)
RA8803/8822
圖 1-2
另一種是將 RA8803/8822 置於系統端,搭配各式不帶控制器的 LCD 模組,如下圖:
LCD 模組
其他元件
其他元件
CPU
CPU
升壓電路
升壓電路
LCD
LCD
Driver
Driver
LCD
LCD
Driver
Driver
LCD
LCD
Controller
Controller
LCD
LCD Panel
Panel
(128x64
(128x64 ~~ 640x240)
640x240)
RA8803/8822
圖 1-3
RAiO TECHNOLOGY INC.
5/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
1-2 如何設計模組上的 RA8803/8822 電路
如果您是模組廠商,想要將 RA8803/8822 置於 LCD 模組上做成帶控制器的 LCD 模組,請先下載最
新 的 RA8803/8822 規 格 書 , 您 可 以 與 瑞 佑 科 技 的 代 理 商 連 繫 或 直 接 由 瑞 佑 科 技 的 網 址
(www.raio.com.tw) 得到完整的 RA8803/8822 規格書,並且依據 RA8803/8822 各腳位的應用、參
考應用手冊第 3 章對 LCD 驅動器之間的介面說明及附錄 B 的應用電路,來準備您的模組電路圖,
下面幾點是比較容易疏忽的地方:
‹
3V 與 5V 的模組在接線上略有不同,請參考應用手冊第 B-2 節電源(Power)應用電路。
‹
當 RA8803/8822 工作於 5V 的系統時,為了增加 VDD 的穩定性,必須在 VDD 上外加
一 1µF 和 0.1µF 的電容。如下圖或應用手冊第 B-2-3 節 5V 電源應用電路。
5V
MCU
RA8803/8822
5V
VDDP
VDD
VDD3
VDD5
0.47uH
AVDD
GNDP
(Option)
10u 0.1u
1u 0.1u
GND
0.1u
AGND
GND
I/O
MCU I/F
圖 1-4
‹
RA8803/8822 的振盪電路是由外部在 XA 和 XB 兩腳間的 32768Hz 石英振盪器、兩個
電容及一 LPF(Low Pass Filter) 電路產生,內部工作時脈(System Clock)可透過暫存器
[01]設定選擇不同的系統頻率。
RA8803/8822
0.22 µ
LPF
0.022µ
20P
2.4KΩ
XA
32768Hz
SYS_FQ
20P
XB
圖 1-5
RAiO TECHNOLOGY INC.
6/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
REG [01h] Misc. Register (MISC)
Bit
1-0
‹
Description
系統時脈選擇
Default
Access
0h
R/W
0 0:3MHz
0 1:4MHz
1 0:8MHz
1 1:12MHz
RA8803/8822 支援 8080 和 6800 等兩種微處理機介面傳輸模式。介面的選擇決定於
IC 接腳 ”SYS_MI” 的電位,當選擇 8080 來進行介面傳輸時,SYS_MI 必須連接到低電
位,反之,當選擇 6800 來進行介面傳輸時,SYS_MI 必須連接到高電位。而使用者的
程式必須依循硬體上的 MCU 介面傳輸模式,RA8803/8822 才能收到 MCU 的正確指
令。
‹
由於您無法預知系統端客戶的 MCU 介面環境,為了減輕 MPU 與 RA8803/8822 間的
傳輸線及使用環境的干擾,強烈建議您在 RA8803/8822 的 ZCS1、ZRD、ZWR 端加
一小電容(50~250pF)到 GND,如下圖。
8080
MPU
RA8803/8822
RS
A0
A1-A7
IORQ
Decoder
CS1#
CS2
SYS_MI
DB0-3(DB0-7)
D0-D3(D0-D7)
RD
RD#
WR
WR#
RES
RST#
圖 1-6
‹
使用觸控螢幕的功能除了連接 XL、XR、YU 和 YD 等四條信號線到 RA8803/8822
外,此四條信號線必須外加 0.01uF 電容到地,如下圖。
RA8803/8822
Touch Panel
X1
XL
X2
XR
Y1
YU
Y2
YD
0.01μ F x 4
圖 1-7
RAiO TECHNOLOGY INC.
7/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
當然除了 RA8803/8822,模組設計者必須確定其它元件與電路的正確性,如升壓電路、OP 分壓電
路、LCD Driver 電路等等,而不論您是模組設計者或是系統端客戶,都可以參考瑞佑科技所提供的
範例程式(可直接由瑞佑科技的網址(www.raio.com.tw)下載,我們提供了好幾個為 RA8803 及
RA8822 依不同解析度模組所寫的範例程式壓縮檔案。
RAiO TECHNOLOGY INC.
8/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
1-3 使用 RA8803/8822 無法點亮
如果您是模組廠商,底下是當您使用 RA8803/8822 無法點亮 LCD 所進行的除錯與分析流程:
1. 確定電源(3V 或 5V) 正確送到 RA8803/8822、升壓電路、OP 分壓電路、LCD Driver 電路。
2. 確定升壓電路產生的 VLCD 及 OP 分壓電路的產生的 V0~V4 正確送到 LCD Driver。
3. 確定 RA8803/8822 的振盪電路正常運作。可用示波器量測 XD、XG 兩腳是否有振盪。
4. 確定 RA8803/8822 的 RST# 於開機收到 MCU 送來的重置信號。Reset 後 RST# 應維持 Hi 的
準位。
5. 確定 MCU 與 RA8803/8822 的硬體接線、線路定義正確。
6. 確定 MCU 產生的時序符合 RA8803/8822 要求,並與 RA8803/8822 在模組上的應硬體設定一
致。請參考應用手冊的圖 2-2、2-4。
7. 確定 MCU 產生的指令符合 RA8803/8822 的流程與要求。
8. 確定 RA8803/8822 給 LCD Driver 的信號(YD、FR、LP、XCK、LD[3:0]) 有正確產生。
通常 RA8803/8822 給 LCD Driver 的信號若有產生,LCD 玻璃應會有畫面出現,若無畫面出現則可
能的問提通常是升壓部份的電路,不是升壓電路沒有產生 VLCD,就是 OP 分壓電路的產生的
V0~V4 沒有正確送到 LCD Driver。
如果您是系統端客戶,一般您拿到的模組是模組廠商測試過的,因此出現使用 RA8803/8822 無法點
亮的原因通常是上述的 5~7 項,如果您是將 RA8803/8822 置於系統端,而搭配模組廠商不帶控制
器的 LCD 模組,則必須參考檢查上述的 3~8 項。
RAiO TECHNOLOGY INC.
9/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
2. 鍵盤掃描相關應用問題
2-1 Sleep Mode 時,鍵盤喚醒功能無作用 ?
Keyscan 功能在 RA8803/22 Sleep Mode 時,只開放 KC0 做掃瞄動作,因此只有當按下 ROW 0 這
排按鍵,才可以將系統喚醒。
圖 2-1 : Key Scan 示意圖
2-2 按鍵在連續或交替被按下時,會造成 KeyScan 功能無法正常運作 ?
這問題主要造成的原因是發生在當按鍵被按下,而 KeyScan 的 Debounce time 卻又未完成的時
候,此時使用者又按下另一個按鍵,導致內部訊號運作異常,KeyScan 功能無法正常使用的狀況。
建 議 可 利 用 8051 的 Timer 在 主 程 式 中 每 隔 一 段 時 間 去 寫 REG[A1h](KSCR) 或 讀
REG[A3h](KSER),就可以解決此問題。
2-3 在使用 RA8803/22 KeyScan 功能,同時按兩個按鍵會當機 ?
在使用 2x strobes and 1x input mode 時,同時按下 SW0 以及 SW1 可能導致短路的現象發生,這
是由於 KST0 以及 KST1 等掃瞄信號在同一時間內是屬於不同的邏輯準位,因此不可以同步地一起
按下兩個按鍵。我們會建議使用者修改上述的電路為 1x strobe and 2x inputs (圖 2-3),或參考下述
建議的 2x strobe and 1x input circuit 去避免前述的錯誤問題。
RAiO TECHNOLOGY INC.
10/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
VDD
10KΩ
KST0
SW0
KIN0
short
(Logical “High”)
KST1
SW1
(Logical “Low”)
圖 2-2
2X STROBES AND 1X INPUT
SUGGESTED CIRCUIT(1)
2X STROBES AND 1X INPUT
SUGGESTED CIRCUIT(2)
VDD
VDD
VDD
KST0
10KΩ
1X STROBE AND 2X INPUTS
CIRCUIT
SW0
10KΩ
KST0
KIN0
SW0
VDD
KIN0
10KΩ
SW0
KST0
KIN0
VDD
KST1
SW1
SW1
VDD
10KΩ
SW1
KIN1
KST1
74AC125
※It is recommended to use this circuit
圖 2-3
RAiO TECHNOLOGY INC.
11/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
3. MUC 介面相關應用問題
3-1 當 ZCS1 一直處於低準位狀態時,為什麼有螢幕會有瞬間閃爍的現象 ?
當 CS 恆為低準位時,如果 RA8803/22 沒有對顯示記憶體作讀寫時,建議將 RS 信號維持在低準
位,就可以解決螢幕閃屏的問題。
3-2 RA8803/22 是否可以在 8051 總線模式下運行 ?
可以的,建議您在使用此模式運作時,請將 MCU 的/RD 與/WR 兩根控制信號腳各加上一級 OR 閘
(74LS32)並與 RA8803/22 的/CS 信號接腳做 OR 運算,以防止 RA8803/22 與其它元件在共用 BUS
的情況下,可能產生的誤動作情形。詳細相關應用請參考 RA8803_RA8822_AP_v26_Chi 2-5 節第
16 頁….
圖 3-1 : 8051 總線模式示意圖
RAiO TECHNOLOGY INC.
12/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
3-3 使用 8051 總線模式,為什麼無法點亮 LCD Panel ?
一般問題都出在 MCU 給予 RA8803/22 的時序不正確影響到螢幕顯示的正常與否!而可能的造成原
因通常發生在/CS 與/WR 的 rising edge 間隔太近,導致其 Address hold time 太短,造成誤動作!
故建議將/CS pin 串接兩級反向器,給予/CS 有一個適當的 Delay(約 30ns),為了就是將/CS
duration time 間隔放寬,以確保 RA8803/22 能正確的寫入指令或資料。
3-4 當進入 8051 外部中斷服務常式後,會有當機現象!!
這可能是別的外部元件向 MPU 要求外部中斷,但 MPU 此時正在對 RA8803/22 下指令週期,但指
令週期未完成所造成的原因,建議可以將 MPU 在對 RA8803/22 作讀寫指令時,可以先禁能 MPU
外部中斷,以避免此類狀況發生。
RAiO TECHNOLOGY INC.
13/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
4. 觸控螢幕相關應用問題
4-1 Touch panel 在觸控屏上有非線性的問題 ?
在您的系統頻率允許範圍內,儘可能將 RA8803/22 的系統頻率設定在小於 4Mhz 的情況下,Touch
Panel 非線性問題就可以改善了,而 RA8803/22 的系統頻率可透過 REG[01h]作選擇。
表 4-1 : REG[01h] Misc Register (MISC)
Bit
7
Description
保留
Default
Access
1h
R/W
1h
R/W
1h
R/W
1h
R/W
0h
R/W
0h
R/W
CLK_OUT 致能控制
6
1:致能
0:禁能
5
保留
設定中斷 (INT)/ BUSY 的觸發准位
4
1:設定高電位觸發動作
0:設定低電位觸發動作
3-2
保留
系統時脈選擇
0 0:3MHz
1-0
0 1:4MHz
1 0:8MHz
1 1:12MHz
4-2 Touch Panel 觸控信號一直亂發的原因為何 ?
當在使用 RA8803/22 的 Touch Panel 功能時,[C1h]的 bit6(ADET) 讀出來觀察發現其值恆為 1,代
表觸控屏一直有觸摸事件發生,發生的原因可能為外部雜訊干擾造成誤判的結果,建議可在
RA8803/22 的 Pin28(X1)這根腳加上一個上拉電阻(約 51K),就可以避免此狀況發生。
RAiO TECHNOLOGY INC.
14/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
表 4-2 : REG[C1h] ADC Status Register (TPSR/ADCS)
Bit
Description
Default
Access
0h
R/W
0h
R/W
ADC 資料轉換完成指示
7
1: ADC 資料轉換已完成
0:ADC 資料轉換未完成
觸摸事件的偵測指示
6
1:有被觸摸
0:沒被觸摸
5
此位元必須在系統使用時設為 “1 “
0h
R/W
4
此位元必須在系統使用時設為 “1 “
0h
R/W
2h
R/W
2h
R/W
設定 ADC 的時脈轉換速度
0 0:SCLK/32
3-2
0 1:SCLK/64
1 0:SCLK/128
1 1:SCLK/256
1-0
保留
0.01uFx4
圖 4-1 : RA8803/22 觸控螢幕電路
RAiO TECHNOLOGY INC.
15/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
5. 螢幕顯示相關應用問題
5-1 Power ON 瞬間螢幕為什麼會出現暫態的全白畫面 ?
此類狀況可能為 Driver 的 DISPOFF Pin 被直接接到 VDD 造成 Display Always ON,所以在 Module
Power ON 時,RA8803/22 在做 Hardware Reset,但內部 PLL 未達到工作頻率,在尚未給予 Drive
適當的液晶翻轉交流訊號 FRM,所造成的直流驅動現象!!一般應用都是在完成上述相關動作後,才
會將 LCD 的顯示功能打開, 因此建議可將 Driver 的 DISPOFF Pin 拉出與 Controller 連接在一起,
由 Controller 控制液晶的顯示,才可以完全避免此類狀況!! 相關應用請參考下圖:
圖 5-1 : RA8803/22 與 LCD Driver 的接線圖
5-2 螢幕顯示會有閃爍的情況,這是什麼原因造成 ?
螢幕閃爍一般是螢幕更新頻率過低(FRM 信號),導致人眼可以看到螢幕在掃描更新畫面所造成,所
以 我 們 通 常 建 議 螢 幕 每 秒 更 新 頻 率 為 60~70HZ , 就 可 以 解 決 螢 幕 閃 爍 且 不 連 續 的 感 覺 , 而
RA8803/22 是可以透過暫存器 REG[90h] Shift Clock Control Register(SCCR)作調整,所以您可以
調適此暫存器設定值,來將您的螢幕顯示品質最佳化。
RAiO TECHNOLOGY INC.
16/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
表5-1 : REG[90h]Shift Clock Control Register(SCCR)
Bit
7-0
Description
設定 XCK 訊號週期
SCCR = (SCLK x DW) / (Seg x Com x FRM)
SCLK:RA8803/8822 系統頻率(System Clock) (單位:Hz)
DW:LCD 驅動器的 Data Bus 寬度(單位:Bit)
Seg:LCD 面板的 Segment 大小(單位:Pixel)
Com:LCD 面板的 Common 大小 (單位:Pixel)
FRM: LCD 面板的 Frame Rate(單位:Hz)
Default
Access
4h
R/W
限制條件 SYS_DW=0,LCD 的 Data Bus 為 4it,SCCR ≥ 4
SYS_DW=1,LCD 的 Data Bus 為 8it,SCCR ≥ 2
1. 如果使用 X’tal + PLL 的方式,系統頻率(SCLK) = 8MHz
2. LCD 驅動器 的 Data Bus 寬度(DBW) = 8Bit
3. 使用 320 x 240 Pixel 的 LCD 面板,Column = 320,Row = 240
4. LCD 面板的 Frame Rate 為 70Hz
則 SCCR = (8MHz x 8) / (320 x 240 x 70) = 11.9
所以建議設定 SCCR = 12 = 0Ch
5-3 MPU 對 RA8803/22 作讀寫的動作時,顯示屏上依稀可看見誤寫的雜點?
當 RA8803/22 內部的邏輯電路在執行掃瞄任務時,同時 MPU 對 RA8803/22 Display RAM 做資料
的存取,顯示屏的掃瞄資料將被干擾造成錯誤,因此會在顯示屏上顯示多餘的雜點,稱之為「雪
花」。為了減少或避免雪花問題,以下有兩點建議事項:
建議一:透過暫存器 REG[90h] Shift Clock Control Register(SCCR) 調高螢幕更新頻率(Frame
rate)。
建議二:在不影響人眼觀看顯示屏的最佳效果下,請減少對 RA8803/22 頻繁的讀寫。
圖 5-2 : 雪花示意圖
RAiO TECHNOLOGY INC.
17/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
5-4 RA8803/22 的工作視窗與顯示視窗的作用為何 ? 如何區別 ?
在工作視窗(Active Window)內除了可作為文字、圖形與顯示游標換行的依據外,還可做到區塊文字
或圖形的清除。而顯示視窗(Display Window)一般我們會視液晶顯示屏的解析度(Resolution)給予其
等同大小的設定。
5-5 使用 PNTR 清除畫面的指令後,左上角會出現 4 個點清不掉 ?
建議您參考以下清屏範例程式,用來做清除整頁畫面的效果
void LCD_Clear(void)
{
LCD_CmdWrite(PNTR, 0x00);
LCD_FillOn();
Delay100ms(1);
LCD_GotoXY(0,0)
LCD_DataWrite(0x00);
}
void LCD_FillOn(void)
{
uchar temp;
temp = LCD_CmdRead(FNCR);
temp |= cSetb3;
LCD_CmdWrite(FNCR, temp);
}
5-6 如何使用 RA8803/22 四灰階顯示效果 ?
顯示圖案請參考下圖:
圖 5-3 : 灰階顯示
實現四灰階功能,請參照以下四灰階顯示範例程式:
uchar gData=0xFF;
uint P1,P2;
LCD_CmdWrite(WLCR,0xC5); //Graphic Mode
LCD_CmdWrite(MAMR,0x91);
//Access Page1
LCD_GotoXY(0,0);
for(P1=0;P1<9600;P1++)
//Show Page1
{
if(P1>=4800)
LCD_DataWrite(~gData);
else LCD_DataWrite(gData);
}
Delay100ms(10);
LCD_CmdWrite(MAMR,0xA2); //Access Page2
LCD_GotoXY(0,0);
RAiO TECHNOLOGY INC.
18/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
for(P2=0;P2<9600;P2++)
{
if (P2<2400)
LCD_DataWrite(gData);
if (P2>=2400 && P2<4800)
LCD_DataWrite(~gData);
if (P2>=4800 && P2<7200)
LCD_DataWrite(gData);
if (P2>=7200 && P2<9600)
LCD_DataWrite(~gData);
}
Delay100ms(10);
LCD_CmdWrite(MAMR,0x80);
LCD_CmdWrite(SCCR,0x05);
LCD_CmdWrite(PNTR,0x92);
LCD_CmdWrite(PNTR,0x92);
//Show Page2
//Gray_Mode
//Frame rate
//PNTR 須連續下兩筆,才能致能灰階對比
5-7 請問 RA8803 的捲動功能是否可以向右捲動或向上捲動 ?
RA8803/22 捲動功能目前只支援向左捲動與向下捲動,尚無提供向右捲動與向上捲動的功能。
5-8 MCU I/F 設定 4 位元通訊方式,無法正常顯示內建中文字庫 ?
當使用 RA8803/22 的 MPU I/F 設定為 DataBus 4Bit 時,要正常的顯示中文字型,請試著將
DataBus 沒有用到的高 4 位元(DB[7:4]),請拉至高位準,而要正確的顯示 ASCii 時,請透過
REG[F0h]的 Bit2 設定為 1(輸入的 Data 都以 ASCii 解碼),這樣一來就可以正常的顯示文字。
5-9 無法在文字模式正常顯示內建字庫的文字 ?
這通常是在寫入中文字庫的 Font Code 時,沒有做適當的延時造成!而這個狀況在使用 RA8803/22
放大字型的功能時更加明顯,所以當您在寫入中文字型請記得要加上適當的延遲時間。
5-10 為什麼在文字尚未填寫完一列時,會發生自動換行的狀況 ?
這狀況是發生在全形與半形混合顯示在同一列,而顯示屏剩餘的顯示文字空間只剩一個半形字
(8*16),而前一個寫入的文字又為全形的話,RA8803/22 是會自動換行,將下一個要顯示的文字寫
到下一列去,但若是前一個寫入的文字為半形,則可繼續填滿剩餘的半形文字,不會有自動換行的
狀況。
5-11 請問自建字型可否自建 8*16 的字體 ?
RA8803/22 只能創造建立 16*16 的字體。
RAiO TECHNOLOGY INC.
19/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
5-12 使用 RA8803/22 內建字庫,顯示的文字會有缺點錯亂現象 ?
當 PIN 19 (VDD3)輸入 3.3V,PIN20(VDD5)浮接Î顯示正常。
當 PIN 19 (VDD3)浮接,PIN20(VDD5)輸入 5VÎ顯示字型缺點。
此現象通常是發生在使用 RA8803/22 的 5V 電源系統,Pin19(VDD3) 浮接,沒有並上一個 1uF 的穩
壓電容,導致 RA8803/22 內部電源不穩定所產生的現象,所以當有文字缺點的現象,我們建議在
Pin19(VDD3)並上一個 1uF 電容,就可以有效的解決此問題,請參考以下相關電路 :
圖 5-4 : 5V 電源應用電路
5-13 顯示的文字或圖形偏移
可能的原因有 4:
1. RA8803/8822 設定的顯示視窗(Display Window、工作視窗(Active Window)大小與實際
LCD 解析度(Resolution) 不同。下表列出幾種較為大家所常用的 LCD 模組及其相關暫存器
設定。
Panel
Resolution
Segment Common
REG[21h]
DWRR
REG[31h]
DWBR
160*80
160
80
13h
4Fh
160*128
160
128
13h
7Fh
160*160
160
160
13h
9Fh
240*64
240
64
1Dh
3Fh
240*128
240
128
1Dh
7Fh
240*160
240
160
1Dh
9Fh
320*240
320
240
27h
EFh
RAiO TECHNOLOGY INC.
20/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
2. MCU 傳遞資料過快導致 RA8803/8822 的處理速度跟不上Æ 請在程式加上延時(Delay),或
以 Check “Busy” 方式確定 RA8803/8822 已經處理完上一筆資料。
3. MCU 產生的時序不符合 RA8803/8822 要求Æ 避免 Set-up time 或 Hold Time 不足,請參考
應用手冊的圖 2-2、2-4。
4. 系統環境不佳、雜訊干擾過大、或模組與系統連接線過長,都有可能造成此現象Æ 雖然
RA8803/8822 在 MCU 接口輸入端採用 Schmitt Trigger 電路避免雜訊干擾,但是過大的雜
訊干擾仍會造成 RA8803/8822 可能的誤動作。為了減輕 MPU 與 RA8803/8822 間的傳輸線
及使用環境的干擾,可以在 RA8803/8822 的 CS1#、RD#、WR# 端加一小電容(50~250pF)
到 GND , 若 是 系 統 (MCU) 信 號 過 弱 或 負 載 (Loading) 太 大 , 可 以 在 RA8803/8822 的
CS1#、RD#、WR# 及 DATA[7:0] 端加(1K~4.7Kohm) 提昇電阻。
5-14 如何避免當機現象
可能的原因為系統環境不佳、雜訊干擾過大都有可能造成此現象Æ 請參考上一節(5-13 節) 的第 4 點
說明。另外避免模組與系統連接線過長。
5-15 如何避免 IC 損毀
RA8803/8822 的 ESD 超過工業級 4KV 的要求,但對於使用在特殊的、惡劣的系統環境仍必須留意
PCB 布局及加入保護元件,避免造成此損毀現象。
同時過高的瞬間電源突波或超過規格電壓(5.5V) 時間過長也會造成損毀現象Æ 可在模組的 VDD 與
GND 間加一大電容(470uF)或突波吸收器,避免 IC 或 LCD 模組損毀。
Power
LCD Module
7V
VDD
6V
5V
Driver
Driver
Driver
RA8803
RA8822
470uF
Driver
Driver
GND
t
Time
圖 5-5
另一種會造成 IC 損毀是因為 EOS(Electrically Over Stress) 的原故,最好的避免方法是減短系統與
模組端的 Cable 長度,或是串上 200ohm~1Kohm 電阻:
RAiO TECHNOLOGY INC.
21/22
www.raio.com.tw
RA8803 / RA8822
雙圖層 文字/圖形 LCD 控制器
Preliminary Version 1.0
System Board
LCD Module
MCU
:
:
:
Driver
Driver
Driver
RA8803
RA8822
Driver
Driver
圖 5-6
5-16 顯示的畫面有殘影或品質不佳
可能的原因有 4:
1. 液晶的品質或偏光片不佳。
2. 升壓(VLCD)不足或驅動力不夠。
3. V0~V4 的分壓不正確。
4. RA8803/8822 的 Frame Rate 設 定 太 高 。 請 依 據 使 用 的 規 格 如 解 析 度 (Resolution) 、
RA8803/8822 Clock 來 設 定 暫 存 器 REG[90h] - SCCR。 Frame Rate 太高會導致驅動
IC(Driver) 耗電大,進而可能影響升壓(VLCD)造成驅動力不夠。
RAiO TECHNOLOGY INC.
22/22
www.raio.com.tw