關鍵詞:灰度液晶屏 通用液晶顯示模塊 HD66421
20世紀90年代以來,小型測控系統(tǒng)和手持設備的顯示部分大多由液晶顯示屏擔當,它具有體積小、功耗低等特點。特別值得一提的是點陣液晶屏的使用,可以實現(xiàn)漢字和簡單單色圖形的顯示,使手持設備更具人性化界面,操作更簡便直觀。隨著液晶顯示器件技術的不斷發(fā)展,現(xiàn)在出現(xiàn)了灰度、偽彩、全彩的液晶顯示屏,使手持設備成為都市的絢麗亮點。
1 硬件設計
對于小型測控系統(tǒng)和低成本手持設備而言,灰度及彩色液晶模塊的價格還是有些高。本文介紹的HD66421是1/4VGA分辨率(160×100)的4級灰度液晶屏單元,售價只有100元,包括HD66421控制器及160×100的顯示屏并封裝在一起。加上本文中設計的電路板至少許元件可以構成同現(xiàn)在通用液晶顯示模塊(如:HY1602、HY12864)接口兼容的一個灰度顯示模塊。下面詳細介紹這個顯示模塊。
HD66421是Hitach出品的顯示控制芯片,具有片內(nèi)30Kb的顯示內(nèi)存,最大支持160×100的4級PWM方式灰度顯示;適用于低電壓應用2.2~5.5V需要外部18V的LCD驅(qū)動電壓,具MPU接口。要想把它做成通用的顯示模塊,要解決2個問題:通用接口的轉(zhuǎn)換、18位的LCD驅(qū)動電壓產(chǎn)生,如圖1所示。
圖1
現(xiàn)在最常用的液晶顯示模塊有字符顯示的HY1602、點陣顯示的HY12864,它們的接口基本兼容。
對于字節(jié)顯示屏:
1 GND 電源地
2 Vcc 數(shù)字電源+
3 Vee 對比度控制電壓
4 RS 寄存器選擇
5 R/W 讀寫控制
6 EN 讀寫使能
7~14 DB0~7 數(shù)據(jù)總線
15 A 背光電源+
16 K 背光電源-
對于點陣顯示屏:
1 GND 電源地
2 Vcc 數(shù)字電源+
3 Vee 對比度控制電壓
4 D/I 寄存器選擇
5 R/W 讀寫控制
6 EN 讀寫使能
7~14 DB0~7 數(shù)據(jù)總線
15 CS1 芯片1的片選
16 CS2 芯片2的片選
17 RST 復位
18 Vlcd 液晶驅(qū)動電壓
19 A 背光電源+
20 K 背光電源-
可見,如不考慮字符液晶接口的背光控制15、16腳,兩種接口的數(shù)字部分是兼容的;而HD66421所需的接口如圖1所示,于是設計出兼容接口:
1 GND 電源地
2 Vcc 數(shù)字電源+
3 NC(Vout) 空腳(輸出電壓)
4 RS 寄存器選擇
5 WR 寫選通
6 CS 片選
7~14 DB0~7 數(shù)據(jù)總線
15 RD 讀選通
16 BLCS 背光使能
17 RST 復位
18 NC(Vlcd) 空腳(液晶驅(qū)動電壓)
19 A 背光電源+
20 K 背光電源-
HD66421的接口時序如圖2所示。
根據(jù)HD66421的數(shù)據(jù)手冊,在顯示模塊的板子上加入如圖1的液晶驅(qū)動電壓分配電路;同時為方便使用,還加入了LCD驅(qū)動電壓的產(chǎn)生電路,使用MAX1878芯片產(chǎn)生15V的液晶驅(qū)動電壓(也可以從18腳直接輸入Vlcd),還可以產(chǎn)生一個低壓輸出,可從3腳輸出Vout給外部系統(tǒng)。因為HD66421具有內(nèi)部數(shù)字調(diào)節(jié)LCD偏置電壓的功能,所以外接的Vlcd可以接一固定值,無需調(diào)節(jié)單元。另外,在板上還有1片用于驅(qū)動3只白色LED作為背光源的MAX1916。它由16腳VLCS控制點亮,19、20腳是直接驅(qū)動3只白色LED的接線;以后還希望能加上用IMP803驅(qū)動的EL背光板。圖3是顯示模塊的部分原理圖。
圖3
2 應用實例
下面結(jié)合Fantasy Studio的AVRISP開發(fā)板,用HD66421來顯示4級灰度圖像。AVRISP開發(fā)板上帶有通用的液晶顯示模塊接口,可以把我們的模塊直接插在上面,但是應注意把3、18腳置為NC。在這個應用中,先在PC機上處理一幅160×100的4級灰度圖像,使用串口調(diào)試工具發(fā)送到AVRISP開發(fā)板,圖像被保存到板上的24C64串行非易失存儲器中(每幅圖像4KB),通過AVRISP板上的按鍵接制可以顯示出剛下載的圖像。
AVR單片機對HD66421的控制訪問是通過通用液晶顯示模塊接口實現(xiàn)的。AVRISP開發(fā)板的連接是如下定義的:
PC0→RS寄存器選擇;
PC1→WR寫選通;
PC2→CS片選;
PA0~7→BD0~7數(shù)據(jù)總線;
PC6→RD讀選通;
PC7→BLCS背光使能;
PC5→RST復位。
按照HD66421文檔的描述:首先,是上電復位;然后,R0寄存器PWM、AMP位置位(打開外部Vlcd和內(nèi)部運放的電源),根據(jù)實際情況設置R0、R1寄存器中CNF、ADC、DTY1、DTY0、INC位,寫數(shù)據(jù)到其它控制參數(shù)寄存器和顯存;最后,設置R0中的DISP位,打開顯示、HD66421的所寄存器如表1所示。
表1
CS | RS | 索引位 | 寄存器名稱 | R/W | 數(shù)據(jù)位 | ||||||||||||
4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||
1 | - | - | - | - | - | - | - | ||||||||||
0 | 0 | - | - | - | - | - | IR | 索引寄存器 | W | IR4 | IR3 | IR2 | IR1 | IR0 | |||
0 | 1 | 0 | 0 | 0 | 0 | 0 | R0 | 控制寄存器1 | W | RMW | DISP | STBY | PWR | AMP | REV | HOLT | ADC |
0 | 1 | 0 | 0 | 0 | 0 | 1 | R1 | 控制寄存器2 | W | BIS1 | BISO | WLS | GFAY | DTY1 | DYT0 | INC | BLK |
0 | 1 | 0 | 0 | 0 | 1 | 0 | R2 | X地址寄存器 | W | XA5 | XA4 | XA3 | XA2 | XA1 | XA0 | ||
0 | 1 | 0 | 0 | 0 | 1 | 1 | R3 | Y地址寄存器 | W | YA6 | YA5 | YA4 | YA3 | YA2 | TA1 | YA0 | |
0 | 1 | 0 | 0 | 1 | 0 | 0 | R4 | 顯存控制寄存器 | R/W | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
0 | 1 | 0 | 0 | 1 | 0 | 1 | R5 | 起始行寄存器 | W | ST6 | ST5 | ST4 | ST3 | ST2 | ST1 | ST0 | |
0 | 1 | 0 | 0 | 1 | 1 | 0 | R6 | 閃爍起始寄存器 | W | BSL6 | BSL5 | BSL4 | BSL3 | BSL2 | BSL1 | BSL0 | |
0 | 1 | 0 | 0 | 1 | 1 | 1 | R7 | 閃爍終止寄存器 | W | BEL6 | BEL5 | BEL4 | BEL3 | BEL2 | BEL1 | BEL0 | |
0 | 1 | 0 | 1 | 0 | 0 | 0 | R8 | 閃爍寄存器1 | W | BK0 | BK1 | BK2 | BK3 | BK4 | BK5 | BK6 | BK7 |
0 | 1 | 0 | 1 | 0 | 0 | 1 | R9 | 閃爍寄存器2 | W | BK9 | BK9 | BK10 | BK11 | BK12 | BK13 | BK14 | BK15 |
0 | 1 | 0 | 1 | 0 | 1 | 0 | R10 | 閃爍寄存器3 | W | BK16 | BK17 | BK18 | BK19 | ||||
0 | 1 | 0 | 1 | 0 | 1 | 1 | R11 | 局部顯示模塊寄存器 | W | CLE | PB3 | PB2 | PB1 | PB0 | |||
0 | 1 | 0 | 1 | 1 | 0 | 0 | R12 | 灰度色盤1 | W | GP14 | GP13 | GP12 | GP11 | GP10 | |||
0 | 1 | 0 | 1 | 1 | 0 | 1 | R13 | 灰度色盤2 | W | GP24 | GP23 | GP22 | GP21 | GP20 | |||
0 | 1 | 0 | 1 | 1 | 1 | 0 | R14 | 灰度色盤3 | W | GP34 | GP33 | GP32 | GP31 | GP30 | |||
0 | 1 | 0 | 1 | 1 | 1 | 1 | R15 | 灰度色盤4 | W | GP44 | GP43 | GP42 | GP41 | GP40 | |||
0 | 1 | 1 | 0 | 0 | 0 | 0 | R16 | 對比度控制寄存器 | W | CM1 | CM0 | CC | CC | CC | CC | CC | |
0 | 1 | 1 | 0 | 0 | 0 | 1 | R17 | 屏選擇寄存器 | W | MON | DSEL | PSEL | |||||
0 | 1 | 1 | 0 | 0 | 1 | 0 | R18 | 以下保留 | - |
在整個操作中,特別要注意如下幾個寄存器。索引寄存器(1R)
用來存放寄存器索引號,從18個寄存器中選取1個操作。
控制寄存器1(R0)
RWM讀寫方式選擇
1:僅在寫操作后地址自動加1;0:讀寫操作后地址都自動1加。
1:開顯示;0:關顯示。
STBY待機開關
1:進入待機方式;0:普通方式。
PWR外部Vlcd控制
1:打開Vlcd;0:關閉Vlcd。
AMP內(nèi)部運放電源
1:打開;0:關閉。
REV翻轉(zhuǎn)顯示
1:翻轉(zhuǎn);0:普通。
HOLT掛起
1:內(nèi)部操作停止;0:內(nèi)部操作開始。
ADC左右翻轉(zhuǎn)
1:翻轉(zhuǎn);0:普通。
控制寄存器2(R1)
BIS1、BIS0 液晶偏置電壓選擇(1/8對應較低Vlcd,1/11則對應較高的Vlcd)
11:1/8偏置電壓;10:1/9偏置電壓;01:1/10偏置電壓;00:1/11偏置電壓。
VLS數(shù)據(jù)寬度
1:6BIT;0:8BIT。
GRAY灰度選擇
1:4級固定灰度;0:4個灰度值可從32級灰度中選擇。
DTY1、DTY0顯示行數(shù)(應該選擇100行)
11:8行;10:64行;01:80行;00:100行
INC 自增1選擇
1:X地址自增1;0:Y地址自增1。
BLK使用閃爍功能
1:打開;0:關閉。
對比度控制(R16)
CM1、CM0 LCD交替驅(qū)動周期(影響不大)
11:Frame;10:7Lines;01:11Lines;00:13Lines
CC4~CC0 對比度級別(數(shù)值越小需要Vlcd越低,應選擇中間值)
00000:0/31;
00001:1/31;
.
.
.
11110:30/31;
11111;31;
如果以上幾個寄存器設置不當,就無法顯示出圖像。
使用VC在PC上編寫了一個處理圖像的小程序,把160×100的真彩BMP圖像經(jīng)過誤差分散算法處理,生成用于下載二進制數(shù)據(jù)的文件,用串口調(diào)試軟件的文件發(fā)送功能傳送到AVRISP開發(fā)板,由AT90S8515芯片內(nèi)的服務程序接收數(shù)據(jù),并轉(zhuǎn)存到24CXX串行存儲器上(應使用24CXX存儲器的PAGE模式來提高數(shù)據(jù)寫入速度)。因為使用了24C256,這樣可以存儲8張圖像,顯示效果很理想。AVRISP開發(fā)板的ISP編程接口也非常易用,配合CVAVR C編譯軟件,調(diào)試起來非常方便。希望和大家交流,我的郵箱zhao_xin@eyou.com。
HD66421應用程序包見網(wǎng)絡補充版。(使用CVAVRC編譯器)。
3 總結(jié)
本文詳細介紹了用HD66421液晶板制成通用液晶顯示模塊的方法,并且實例具體說明了以HD66421為核心的4級灰度液晶顯示模塊的應用,為小型測控儀器和手持設備提供了一個較為廉價的灰度圖像顯示解決方案。文中的HD66421液晶板可以從http://www.21icsearch.com/TMC.HTM(中國電子網(wǎng)特買場)購得;有關AVRISP開發(fā)板請參考http://51kaifa.diy.163.com/avr/avr.html。