基于ST7920的12864液晶的使用方法研究
摘要:研究了基于ST7920控制器的128×64中文字庫點陣屏的開發(fā)使用方法,主要從圖形點陣顯示控制原理、液晶顯示控制指令、液晶顯示控制時序幾個方面分析了液晶屏嵌入式應(yīng)用的開發(fā)使用步驟,最終給出了一個單片機控制液晶顯示的應(yīng)用實例。
關(guān)鍵詞:12864;液晶;指令;顯示緩存
0 引言
在嵌入式系統(tǒng)開發(fā)過程中,顯示輸出控制是一項重要的研究內(nèi)容。常用的顯示輸出器件有發(fā)光二極管(LED)、數(shù)碼管及液晶顯示器等。 LED及數(shù)碼管的顯示輸出控制相對比較簡單,相關(guān)文獻介紹的也比較詳細。在液晶顯示器中,圖形點陣形液晶顯示器的硬件結(jié)構(gòu)比較復(fù)雜,顯示輸出控制也不太容易掌握,雖然部分文獻進行了一定介紹,但面向的對象往往是已有一定開發(fā)經(jīng)驗的使用人員,而針對初學(xué)者進行專題論述的文獻卻不多。鑒于此,文章以基于ST7920控制器的128×64中文字庫點陣屏為例,進行了開發(fā)應(yīng)用研究分析,以便初學(xué)者進行參考學(xué)習(xí)。
1 圖形點陣顯示控制原理
圖1為12864液晶屏圖形點陣顯示原理的示意圖。由圖可見,液晶屏在x方向有128列,在y方向有64行,因此整個液晶屏有128×64個像素。每個像素有亮與滅兩種狀態(tài),以黃綠屏黑字為例,若某個像素亮則該像素被黑色填充,這樣不同像素的亮與滅的組合就可顯示不同的點陣型字符或圖案。如圖1中的黑色像素組合就可顯示一個漢字“十”字。
對于字符顯示來說,可以分為16×8像素半寬字符和16×16像素中文字符兩種點陣顯示。在液晶顯示屏上一個半寬字符占據(jù)的像素點數(shù)為16×8個,中文字符的像素點數(shù)為16×16個。12864點陣液晶屏能顯示32×8個半寬字符或16×4個中文字符。在顯示緩存中有一種叫繪圖RAM的緩存來對點陣型字符進行控制,該RAM簡寫為GDRAM。GDRAM維護了一個和液晶屏像素相對應(yīng)的二維繪圖緩沖空間,該表的水平地址為0至16,垂直地址為0至64。GDRAM的每一個水平地址對應(yīng)了圖1中的16個列,每一個垂直地址對應(yīng)圖1中的一行。
在更改繪圖RAM時,由擴充指令設(shè)置GDRAM地址,先垂直地址后水平地址(連續(xù)2個字節(jié)的數(shù)據(jù)來定義垂直和水平地址),再2個字節(jié)的數(shù)據(jù)給繪圖RAM(先高8位后低8位)。圖1中的漢字“十”字在GDRAM中的編碼如表1所示。
2 液晶顯示控制指令
編程人員在向液晶顯示緩存寫入要顯示的編碼數(shù)據(jù)時,須在一系列液晶顯示控制指令的控制下才能完成。表2是基于ST7920控制器的128×64中文字庫點陣屏液晶顯示控制的主要指令表。由該表可以看出,顯示控制指令要受到控制信號RS、R/W的控制。D0至D7為外部CPU與液晶內(nèi)部處理器之間交互數(shù)據(jù)的總線,交互的數(shù)據(jù)包括上述指令及顯示數(shù)據(jù)。對于各指令的詳細描述在相關(guān)數(shù)據(jù)手冊中都有具體介紹,在進行液晶驅(qū)動開發(fā)之前要進行認真學(xué)習(xí)研究,只有熟悉了各指令的意義及取值后才能進行程序的編寫。[!--empirenews.page--]
3 液晶顯示控制時序
進行液晶驅(qū)動開發(fā)就象利用英語與外賓交流。要想與外賓交流就必須先熟悉英語的詞組,不同的詞組代表了不同的意思。而只熟悉相關(guān)詞組,但不能將其按著英語的詞組先后搭配順序進行表達,則外賓也不能理解我們要表達的意思。這里詞組就類似于上述的顯示控制指令,外賓就類似于液晶顯示屏,而詞組的先后搭配順序則指的是液晶顯示控制的時序。簡單來說,控制時序就是為了使液晶單元能夠正常工作,相應(yīng)的控制信號取值高低的先后搭配順序。
圖2是ST7920控制的128×64液晶的8位并口寫操作時序圖。由圖2可見,如果想通過8位并口DB0~DB7進行寫操作,需要RS、R/W、E三種控制信號的聯(lián)合控制,首先RS根據(jù)并口上的數(shù)據(jù)是指令還是顯示數(shù)據(jù)置0或置1,其次,由于是寫數(shù)據(jù)R/W要置0,之后使能信號E要置1,當(dāng)上述三種控制信號置位穩(wěn)定后,8位并口DB0~DB7總線上的信息就可寫入液晶屏,寫入完畢后要將使能信號E置0。需要說明的是在處理相關(guān)時序時要注意各控制信號高低電平變換期間的不穩(wěn)定期,寫操作要盡量避開這段時間。
4 液晶使用舉例
4.1 MCU接口
下面以89C52單片機控制液晶顯示屏為例,介紹一下MCU與液晶的連接方法及主要的程序代碼。該程序運行后會在液晶屏上顯示“ST7920顯示控制”等字符。
圖3為8位并口MCU控制接口圖。由圖3可見,MCU的P1口與液晶的DB0至DB7相連,作為指令與顯示數(shù)據(jù)的總線通道;P3.0、P3.1、P3.2分別與液晶的RS、R/W、E相連,構(gòu)成液晶顯示控制信號的通道。[!--empirenews.page--]
4.2 程序主要代碼
[!--empirenews.page--]
5 結(jié)束語
文章主要從圖形點陣顯示控制原理、液晶顯示控制指令、液晶顯示控制時序幾個方面進行了分析,主要圍繞基于ST7920控制器的128× 64中文字庫點陣屏的開發(fā)使用方法而展開研究,并以該型液晶為例給出了嵌入式液晶顯示應(yīng)用的開發(fā)使用步驟:第一步,理解圖形點陣顯示控制原理;第二步,熟悉液晶顯示控制指令;第三步,分析液晶顯示控制時序;第四步,應(yīng)用程序編寫。