圖形點陣式液晶顯示模塊與51單片機的接口設(shè)計
引 言
液晶作為一種顯示器件,以其特有的優(yōu)勢正廣泛應(yīng)用于儀器、儀表、電子設(shè)備等低功耗產(chǎn)品中。以往的測控儀器的顯示部分大都采用LED式液晶顯示屏進行參數(shù)設(shè)定和結(jié)果顯示,其顯示信息量少、形式單一、人機交互性差、操作人員要求較高。而液晶顯示器(LCD)具有功耗低、體積小、質(zhì)量輕、超薄和可編程驅(qū)動等其他顯示方式無法比擬的優(yōu)點,不僅可以顯示數(shù)字、字符,還可以顯示各種圖形、曲線、及漢字,并且可實現(xiàn)屏幕上下左右滾動、動畫、閃爍、文本特征顯示等功能;人機界面更加友好,使用操作也更加靈活、方便,使其日益成為智能儀器儀表和測試設(shè)備的首選顯示器件。本文在介紹以ST7920為驅(qū)動器的WGM-12832液晶顯示模塊的引腳、結(jié)構(gòu)、功能的基礎(chǔ)上,詳述了與AT89S51單片機的硬件接口電路及接口軟件編程方法。
1 WGM-12832結(jié)構(gòu)特點及操作
1.1 點陣式液晶顯示器WGM-12832簡介
WGM-12832是內(nèi)置ST7920控制器的128×32點陣式液晶顯示器,通過對ST7920控制器的編程可以實現(xiàn)液晶顯示器的各種應(yīng)用。WGM-12832具有如下特點:(1)可以顯示數(shù)字、字母、特殊字符、圖形、曲線和漢字;(2)顯示內(nèi)容為128(列)×32(行)點,全屏幕點陣,可顯示2行漢字,每行8個字;(3)IC內(nèi)帶8 139個16×16點陣中文字庫,126個16×8字母符號,并提供4個16×16點陣的自定義字功能;(4)與CPU接口采用串行控制方式;(5)功耗低,最大工作功耗15 mW。
WGM-12832模塊主要硬件結(jié)構(gòu)框圖如圖1所示。
WGM-12832共有7個外接引腳,其采用串口發(fā)送指令和數(shù)據(jù),優(yōu)點在于滿足顯示目的的同時,占用很少的CPU引腳資源。因此,在很多低端CPU的引腳較少時,也能驅(qū)動WGM-12832液晶,滿足了不同微系統(tǒng)的需求。
1.2 WGM-12832控制指令
WGM-12832共有2個指令集:基本指令集和擴充指令集?;局噶罴藢σ壕GM-12832的基本操作,如判斷控制器是否為忙、清除顯示、設(shè)定顯示的地址、寫數(shù)據(jù)和讀數(shù)據(jù)等。而擴充指令集則在基本指令集的基礎(chǔ)上最大限度地滿足了現(xiàn)實的顯示需要。比如:能夠設(shè)置睡眠模式,滿足低功耗的需求;可以設(shè)置圖形顯示,更進一步使顯示變得多樣化,提供更人性化的交互方式。
單片機對WGM-12832的操作原理為:單片機先確認(rèn)ST7920內(nèi)部處于非“忙”狀態(tài)。即讀取BF位,當(dāng)BF為0時,ST7920才可接收新的指令。如果在送指令前不檢查BF位,那么在前一條指令和這條指令中間必須延遲一段較長的時間,確保前一條指令執(zhí)行完。在操作時,ST7920在單片機的時鐘信號的控制下,通過數(shù)據(jù)線傳送給ST7920,當(dāng)ST7920成功接收到數(shù)據(jù)后,轉(zhuǎn)入內(nèi)部時鐘控制,封鎖I/O口緩沖器,置“忙”標(biāo)志。ST7920根據(jù)接收數(shù)據(jù)中的RW和RS位判斷所接收到的是數(shù)據(jù)、指令、還是所要顯示的內(nèi)容,并進行相應(yīng)的處理。處理完成后,撤消I/O口緩沖器的封鎖,“忙”標(biāo)志清零。在寫入數(shù)據(jù)到RAM中時,每個RAM的位址都可以連續(xù)寫入2個位元的資料(2 B),當(dāng)寫人第二個字節(jié)時,位址計數(shù)器(AC)的值就會自動加1,即在連續(xù)寫入內(nèi)容時,只需要設(shè)定開始的位址,并連續(xù)寫入數(shù)據(jù)就能達到目的。因為ST7920是能控制128×64點陣的驅(qū)動芯片,WGM-12832只用了ST7920資源的1/2。在使用上需要注意,DDRAM位址中的88 H~8 FH和98 H~9 FH中的內(nèi)容是不能顯示出來的。位址80H~87H和90H~97H的內(nèi)容會被分別顯示在第1行和第2行。
2 單片機與WGM-12832液晶的接口電路
AT89S51和液晶WGM-12832模塊的接口電路如圖2所示。由于WGM-12832采用串口通信,外接引腳較少,與單片機連接采用直接連接的方法,即用I/O口直接與LCD數(shù)據(jù)線和控制線相連,其特點是簡單、直觀、操作方便。在此電路中,采用軟件模擬液晶的時序,達到正確顯示的目的。
3 軟件編程
對WGM-12832的軟件編程采用Franklin 51語言開發(fā),主要包括兩部分,一部分是給液晶寫指令,另一部分是給液晶寫數(shù)據(jù)。有了這2個基本的子程序,就可以構(gòu)造出各種實用的顯示子程序。由于液晶內(nèi)部自帶漢字模塊,只需發(fā)送漢字對應(yīng)的代碼就可以實現(xiàn)漢字的顯示,其代碼可以在ST7920模塊的資料中查找。對于圖形和曲線顯示的原理類似,只需要設(shè)置好相應(yīng)的水平地址和垂直地址,并把相應(yīng)的圖形編碼寫入液晶模塊,就可顯示出所要顯示的內(nèi)容。
發(fā)送指令子程序:
評論