當(dāng)前位置:首頁(yè) > 顯示光電 > 顯示光電
[導(dǎo)讀]介紹一種具有4位/8位并行、2線/3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二極簡(jiǎn)體中文字庫(kù)的圖形點(diǎn)陣液晶顯示模塊。

   摘要:介紹一種具有4位/8位并行、2線/3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二極簡(jiǎn)體中文字庫(kù)的圖形點(diǎn)陣液晶顯示模塊;利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。介紹模塊的性能特點(diǎn)、操作指令及接口方式;以AT89C2051單片機(jī)及2線串行接口方式為例,給出相應(yīng)的硬件電路及顯示子程序。

    關(guān)鍵詞:串/并接口 液晶模塊 中文字庫(kù)

引言

液晶顯示器件由于具有顯示信息豐富、功耗低、體積小、質(zhì)量小、無(wú)輻射等優(yōu)點(diǎn),得到了廣泛的應(yīng)用;但液晶顯示模塊復(fù)雜的硬件接口和軟件編程卻令產(chǎn)品設(shè)計(jì)人員生畏,因而限制了該模塊在某些領(lǐng)域的應(yīng)用。本文介紹一種具有串/并多種接口方式,且內(nèi)部含有GB2312一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的圖形點(diǎn)陣液晶模塊,使用該模塊可構(gòu)成具有全中文人機(jī)交互圖形界面的液晶顯示系統(tǒng)。

1 性能特點(diǎn)

OCM4X8C是具有串/并接口,具內(nèi)部含有中文字庫(kù)的圖形點(diǎn)陣液晶顯示模塊。該模塊的控制/驅(qū)動(dòng)器采用臺(tái)灣矽創(chuàng)電子公司的ST7920,因而具有較強(qiáng)的控制顯示功能。OCM4X8C的液晶顯示屏為128×64點(diǎn)陣,可顯示4行、每行8個(gè)漢字。為了便于簡(jiǎn)單、方便地顯示漢字,該模塊具2Mb的中文字型CGROM,該字型ROM中含有8192個(gè)16×16點(diǎn)陣中文字庫(kù);同時(shí),為了便于英文和其它常用字符的顯示,具有16Kb的16×8點(diǎn)陣的ASCII字符庫(kù);為便于構(gòu)造用戶圖形,提供了一個(gè)64×256點(diǎn)陣的GDRAM繪圖區(qū)域,且為了便于構(gòu)造用戶所需字型,提供了4組16×16點(diǎn)陣的造字空間。利用上述功能,OCM4X8C可實(shí)現(xiàn)漢字、ASCII碼、點(diǎn)陣圖形、自造字體的同屏顯示。為便了和多種微處理器、單片機(jī)接口,模塊提供了4位并行、8位并行、2線串行、3線串行多種接口方式。

該模塊具有2.7~5.5V的寬工作電壓范圍,且具有睡眠、正常及低功耗工作模式,可滿足系統(tǒng)各種工作電壓及便攜式儀器低功耗的要求。液晶模塊顯示負(fù)電壓,也由模塊提供,從而簡(jiǎn)化了系統(tǒng)電源設(shè)計(jì)。模塊同時(shí)還提供LED背光顯示功能。除此之外,模塊還提供了畫面清除、游標(biāo)顯示/隱藏、游標(biāo)歸位、顯示打開/關(guān)閉、顯示字符閃爍、游標(biāo)移位、顯示移位、垂直畫面旋轉(zhuǎn)、反白顯示、液晶睡眠/喚醒、關(guān)閉顯示等操作指令。

2 模塊引腳定義和用戶指令集

OCM4X8C的引腳說明,如表1所列。

表1 OCM4X8C引腳說明

引  腳 名  稱 方  向 說   明
1 VSS - GND(0V)
2 VDD - 邏輯電源(+5V)
3 V0 - LCD電源(懸空)
4 RS(CS) O H:數(shù)據(jù),L:指令
5 R/W(SID) O H:讀,L:寫
6 E(SCLK) O 使能
7 DB0 I 數(shù)據(jù)0
8 DB1 I 數(shù)據(jù)1
9 DB2 I 數(shù)據(jù)2
10 DB3 I 數(shù)據(jù)3
11 DB4 I 數(shù)據(jù)4
12 DB5 I 數(shù)據(jù)5
13 DB6 I 數(shù)據(jù)6
14 DB7 I 數(shù)據(jù)7
15 PSB O H:并行,L:串行
16 NC - 空腳
17 RST O 復(fù)位(低電平有效)
18 NC - 空腳
19 LEDA - 背光源正極(LED+5V)
20 LEDK - 背光源負(fù)極(LED-0V)

用戶使用液晶模塊時(shí)是通過用戶命令來(lái)執(zhí)行相應(yīng)的顯示或控制功能的。OCM4X8C的用戶命令分為基本命令集和擴(kuò)充命令集,分別如表2、表3所列。

表2 OCM4X8 基本命令集

指  令 指令碼 說  明 執(zhí)行時(shí)間/μs(540kHz)
RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
清除顯示 0 0 0 0 0 0 0 0 0 1 將DDRAM填滿“20H”,并設(shè)定DDRAM的地址計(jì)數(shù)順(AC)到“00H” 4.610 -3
地址歸位 0 0 0 0 0 0 0 0 1 X 設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到“00H”,并且將游標(biāo)移到開頭原點(diǎn)位置 4.610 3
進(jìn)入點(diǎn)
設(shè)定
0 0 0 0 0 0 0 1 I/O S 指定在資料的讀取與寫入時(shí),設(shè)定游標(biāo)移動(dòng)方向及指定顯示的移位 72
顯示狀態(tài)開/關(guān) 0 0 0 0 0 0 1 D C B D=1:整體顯示ON;C=1:游標(biāo)ON;
B=1:游標(biāo)位置ON
72
游標(biāo)或顯示移位
控制
0 0 0 0 0 1 S/C R/L X X 設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位元。這個(gè)指令并不改變DDRAM的內(nèi)容 72
功能設(shè)定 0 0 0 0 1 DL X 0RE X X DL=1(必須設(shè)為1);RE=1:擴(kuò)充指令集動(dòng)作;RE=0:基本指令集動(dòng)作 72
設(shè)定CGRAM
地址
0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 設(shè)定CGRAM地址到地址
計(jì)數(shù)器(AC)
72
設(shè)定DDRAM
地址
0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 設(shè)定DDRAM地址到地址
計(jì)數(shù)器(AC)
72
讀取標(biāo)志(BF)和地址 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 讀取忙標(biāo)志(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(AC)的值 0
寫資料到RAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0 寫入資料到內(nèi)部的RAM(DDRAM/CGRAM/IRAM/GDRAM) 72
讀出RAM的值 1 1 D7 D6 D5 D4 D3 D2 D1 D0 從內(nèi)部RAM讀取資料(DDRAM/CGRAM/IRAM/GDRAM) 72

表3 OCM4X8C 擴(kuò)充指令集

指 令 指  令  碼

說   明

執(zhí)行時(shí)間/μs(540kHz)
RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
待命模式 0 0 0 0 0 0 0 0 0 1 將DDRAM填滿“20H”,并設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到“00H”; 72
卷動(dòng)地址或IRAM地址選擇 0 0 0 0 0 0 0 0 1 SR SR=1:允許輸入垂直卷動(dòng)地址;
SR=0:允許輸入IRAM地址
72
反白選擇 0 0 0 0 0 0 0 1 R1 R0 選擇4行中的任一行作反白顯示,并可決定反白與否 72
睡眠模式 0 0 0 0 0 0 1 SL X X SL=1:脫離睡眠模式;
SL=0:進(jìn)科睡眠模式
72
擴(kuò)充功能設(shè)定 0 0 0 0 1 1 X 1
RE
G 0 RE=1:擴(kuò)充指令集動(dòng)作;RE=0基本指令集動(dòng)作;G=1:繪圖顯示ON;G=0:繪圖顯示OFF 72
設(shè)定IRAM地址或卷動(dòng)地址 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 SR=1:AC5AC0為垂直卷動(dòng)地址
SR=0:AC3AC0為ICONIRAM地址
72
設(shè)定繪圖RAM地址 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 設(shè)定CGRAM地址到地址計(jì)數(shù)器(AC) 72

3 字符顯示

OCM4X8C按照每個(gè)中文字符16×16點(diǎn)陣將顯示屏分類4行8列,共32個(gè)區(qū)。每個(gè)區(qū)可顯示1個(gè)中文字符或2個(gè)16×8點(diǎn)陣全高ASCII碼字符,即每屏最多可實(shí)現(xiàn)32個(gè)中文字符或64個(gè)ASCII碼字符的顯示。OCM4X8C內(nèi)部提供128×2字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示是通過將字符顯示編碼寫入該字符顯示RAM實(shí)現(xiàn)的。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫(kù))、HCGROM(ASCII碼字庫(kù))及CGRAM(自定義字形)的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:0000~0006H顯示自定義字型,02H~7FH顯示半寬ASCII碼字符,A1A0H~F7FFH顯示8192種GB2312中文字庫(kù)字形。字符顯示RAM在液晶模塊中的地址80H~9FH。字符顯示的RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系,其對(duì)應(yīng)關(guān)系如圖1所示。

4 應(yīng)用說明

用OCM4X8C顯示模塊時(shí)應(yīng)注意以下幾點(diǎn):

①欲在某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫入中文字符編碼。

②顯示ASCII字符過程與顯示中文字符過程相同。不過在顯示連續(xù)字符時(shí),只須設(shè)定一次顯示地址,由模塊自動(dòng)對(duì)地址加1指向下一個(gè)字符位置,否則,顯示的字符中將會(huì)有一個(gè)空ASCII字符位置。

③當(dāng)字符編碼為2字節(jié)時(shí),應(yīng)先寫入高位字節(jié),再寫入低位字節(jié)。

④模塊在接收指令前,向處理器必須先確認(rèn)模塊內(nèi)部處于非忙狀態(tài),即讀取BF標(biāo)志時(shí)BF需為“0”,方可接受新的指令。如果在送出一個(gè)指令前不檢查BF標(biāo)志,則在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長(zhǎng)的時(shí)間,即等待前一個(gè)指令確定執(zhí)行完成。指令執(zhí)行的時(shí)間請(qǐng)參考指令表中的指令執(zhí)行時(shí)間說明。

⑤“RE”為基本指令集與擴(kuò)充指令集的選擇控制位。當(dāng)變更“RE”后,以后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時(shí),無(wú)需每次均重設(shè)“RE”位。

圖2 OCM4X8C的2線串行工作模式操作時(shí)序

5 接口方式與時(shí)序

OCM4X8C具有串/并多種接口方式,方便了模塊與各種單片機(jī)、微處理器的連接。

(1)4/8位并行接口方式

當(dāng)模塊的PSB腳接高電平時(shí),模塊即進(jìn)入并行接口模式。在并行模式下可由功能設(shè)定指令的“DL”位來(lái)選擇8位或4接口方式,主控制系統(tǒng)將配合“RS”、“RW”、“E”DB0~DB7來(lái)完成指令/數(shù)據(jù)的傳送,其操作時(shí)序與其它并行接口液晶顯示模塊相同。

(2)2/3線串行接口方式

當(dāng)模塊的PSB腳接低電平時(shí),模塊即進(jìn)入串行接口模式。串行模式使用串行數(shù)據(jù)線SID與串行時(shí)鐘線SCLK來(lái)傳送數(shù)據(jù),即構(gòu)成2線串行模式。

OCM4X8C還允許同時(shí)接入多個(gè)液晶顯示模塊以完成多路信息顯示功能。此時(shí),要利用片選端“CS”構(gòu)成3線串行接口方式,當(dāng)“CS”接高電位時(shí),模塊可正常接收并顯示數(shù)據(jù),否則模塊顯示將被禁止。通常情況下,當(dāng)系統(tǒng)僅使用一個(gè)液晶顯示模塊時(shí),“CS”可連接固定的高電平。

模塊2線串行工作操作時(shí)序如圖2所示。

由圖2可以看出,單片機(jī)與液晶模塊之間傳送1字節(jié)的數(shù)據(jù)共需24個(gè)時(shí)鐘脈沖。首先,單片機(jī)要給出數(shù)據(jù)傳輸起始位,這里是以5個(gè)連續(xù)的“1”作數(shù)據(jù)起始位,如模塊接收到連續(xù)的5個(gè)“1”,則內(nèi)部傳輸被重置并且串行傳輸將被同步。緊接著,“RW”位用于選擇數(shù)據(jù)的傳輸方向(讀或?qū)懀癛S”位用于選擇內(nèi)部數(shù)據(jù)寄存器或指令寄存器,最后的第8位固定為“0”。在接收到起始位及“RW”和“RW”的第1個(gè)字節(jié)后,下一個(gè)字節(jié)的數(shù)據(jù)或指令將被分為2個(gè)字節(jié)來(lái)串行傳送或接收。數(shù)據(jù)或指令的高4位,被放在第2個(gè)字節(jié)串行數(shù)據(jù)的高4位,其低4位則置為“0”;數(shù)據(jù)或指令的低4位被放在第3個(gè)字節(jié)的高4位,其低4位也置為“0”,如此完成一個(gè)字節(jié)指令或數(shù)據(jù)的傳送。需要注意的是,當(dāng)有多個(gè)數(shù)據(jù)或指令要傳送時(shí),必須要等到一個(gè)指令完成執(zhí)行完畢后再傳送下一個(gè)指令或數(shù)據(jù),否則,會(huì)造成指令或數(shù)據(jù)的丟失。這是因?yàn)橐壕K內(nèi)部沒有發(fā)送/接收緩沖區(qū)。

圖3 AT89C2051與OCM4X8C的2線串行接口電路

6 OCM4X8C應(yīng)用實(shí)例

使用OCM4X8C的2線串行接口方式可大大簡(jiǎn)化液晶顯示模塊與單片機(jī)之間的接口設(shè)計(jì);同時(shí),也使液晶顯示模塊顯示漢字變得極為容易,從而改變過去單片機(jī)系統(tǒng)人機(jī)界面不夠友好的弊端。AT89C2051單片機(jī)與OCM4X8C的接口電路如圖3所示。下面給出相應(yīng)顯示程序。

;位定義

SID BIT P1.0 ;串行數(shù)據(jù)線

SCLK BIT P1.1 ;串行時(shí)鐘線

;內(nèi)存數(shù)據(jù)定義

START EQU 30H ;起始字節(jié)

COM EQU 31H ;命令/數(shù)據(jù)

HDATA EQU 32H ;命令/數(shù)據(jù)字節(jié)高位

LDATA EQU 33H ;命令/數(shù)據(jù)字節(jié)低位

ASC EQU 34H ;ASCII數(shù)據(jù)單元

初始化子程序:

INILCM:LCALL DL40MS ;延時(shí)等待內(nèi)部復(fù)位

MOV COM,#30H ;使用8位控制界面

LCALL WRITE

MOV COM,#30H ;使用基本指令集

LCALL WRITE

MOV COM,#0CH

LCALL WRITE ;整體顯示ON

MOV DL1MS

MOV COM,#01H ;清屏

LCALL WRITE

LCALL DL40MS

MOV COM,#06H ;顯示右移

LCALL WRITE

LCALL DL1MS

RET

模塊寫入子程序:

WRITE:MOV A,COM ;送待發(fā)數(shù)據(jù)命令A(yù)

MOV A,#0F0H ;屏蔽低4位

MOV HDATA,A ;將高4位送HDATA單元

MOV A,COM ;取低4位

SWAP A ;高低4位互換

MOV A,#0F0H

MOV LDATA,A ;將低4位送LDATA單元

MOV A,START ;取起始字節(jié)

LCALL SENDBYTE ;發(fā)送

LCALL DL1MS ;延時(shí)1ms

MOV A,HDATA

LCALL SENDBYTE

LCALL DL1MS

MOV A,LDATA

LCALL SENDBYTE

LCALL DL1MS

RET

顯示漢字子程序:

HZDISP:

MOV START,#0F08H 寫入命令

MOV COM,#80H 設(shè)定顯示位置

LCALL WRITE

MOV DPTR,#TABLE 指向文字型代碼表

MOV A,#00H 取漢字代碼低位

LOOP2:MOVC A,A+@DPTR

CJNE A,#0,DISP ;遇“0”結(jié)束顯示

RET 寫完一行則結(jié)束

DISP:MOV START,#0FAH ;寫數(shù)據(jù)

MOV COM,A

LCALL WRITE ;寫入顯示模塊

INC DPTR ;取漢字代碼高位

AJMP LOOP2 ;未顯示完則繼續(xù)

TABLE:DB“中文圖形點(diǎn)陣”,0;漢字代碼表

DB“液晶顯示模塊”,0;

串行字節(jié)數(shù)據(jù)發(fā)送子程序:

SENDBYTE:MOV R7,#08H ;發(fā)送8位

LOOP1:RLC A

MOV SID,C ;數(shù)據(jù)送數(shù)據(jù)線

CLR SCLK ;產(chǎn)生同步時(shí)鐘

SETB SCLK

DJNZ R7,LOOP1 ;未發(fā)送完8位繼續(xù)

RET

結(jié)語(yǔ)

由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉