液晶顯示" title="液晶顯示">液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄等許多其他顯示器無法比擬的優(yōu)點,近年來被廣泛用于單片機" title="單片機">單片機控制的智能儀器、儀表和低功耗電子產(chǎn)品中。LCD可分為段式LCD、字符式LCD和點陣式LCD。其中,段式LCD和字符式LCD只能用于字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求;而點陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線以及漢字、動畫,并且可以實現(xiàn)屏幕滾動、反轉、閃爍等功能,用途十分廣泛。本文主要闡述點陣式液晶顯示模塊QPYD-03與單片機8031的接口及編程方法。
QPYD-03液晶顯示控制器是北京精電蓬遠顯示技術有限公司開發(fā)的液晶顯示控制IC。其特點為:
控制彩色320*3*240點陣STN液晶顯示模塊,8色,單顯示區(qū),無需初始化編程工作;實時操作:計算機可以隨時讀寫顯示存儲器而不影響顯示效果,無“雪花”顯示;使用簡便:與計算機接口和操作指令簡單統(tǒng)一,極容易使用,并且升級換屏方便;遵循80時序,所以可以直接與8031單片機利用總線方式通信。
液晶顯示控制器管理128KB的顯示存儲器,顯示起始地址固定于0000H,計算機對顯示存儲器可以進行實時的讀寫操作。控制器對顯示數(shù)據(jù)的操作使用寫方式,即在計算機讀顯示存儲器當前地址單元內(nèi)容時,顯示地址不變;向顯示存儲器的當前地址單元寫入數(shù)據(jù)時,顯示地址自動加一。控制器指令見下表:
QPYD-03液晶顯示模塊有8根數(shù)據(jù)線、12根控制線和電源線,其中數(shù)據(jù)端DB0~DB7直接與單片機P0口連接,片選信號CS用單片機的地址總線控制,WR和RD分別直接與單片機的讀寫WR和RD連接,A0用來選擇兩個不同的地址(A0=0時為指令口地址、A0=1時為數(shù)據(jù)口地址)。
8031片內(nèi)不帶EPROM,程序和自定義字符集字模都放在EPROM27512中。接口電路" title="電路">電路見圖1。其中QPYD-03的VEE為液晶驅動電壓+26.1V,調節(jié)顯示的對比度;LCDCS為片選信號,由GAL16V8給出。
軟件采用單片機C51語言,并采用模塊化結構,主要包括清屏、西文及數(shù)字的顯示、漢字的顯示、多西文或漢字或混合顯示等模塊。
3.1總體設計思想
對于清屏,實質就是寫入“空”字符(00h),以清除屏上原有的信息,用for循環(huán)就可簡單實現(xiàn),具體見源代碼的實現(xiàn)部分。
對于西文、數(shù)字及漢字的顯示,QPYD-03顯示模塊可控制320*240點陣的液晶顯示器。對于8 *8點陣的西文及數(shù)字,每屏可顯示40列、30行。對于16*16點陣的漢字,每屏可顯示20列、15行。漢字有文本和圖形兩種顯示方式,使用文本方式顯示一個漢字需寫入4個代碼,但一般只能顯示32個漢字,而使用圖形方式,盡管一個漢字需寫入32個字節(jié),但由于可顯示漢字多,作者選用圖形方式。
很多情況下,液晶顯示需要多西文、數(shù)字、漢字的顯示或者西文數(shù)字漢字的混合顯示,為此,作者設計并編制了多字符漢字混合顯示程序,使程序代碼具有較高的可讀性和運行效率。圖2給出了程序流程圖。圖中字模的保存與查找的實現(xiàn)是通過struct結構體來實現(xiàn)的。
3.2軟件實現(xiàn)
以下為液晶顯示器各軟件模塊的源代碼,它們均通過了編譯器的編譯實現(xiàn),經(jīng)驗證有著很好的顯示效果。
隨著現(xiàn)代測控技術的發(fā)展,儀器儀表的智能化程度越來越高,對儀器可操作性的要求也越來越高。因此,良好的人機界面越來越受到設計者的重視。本文介紹的液晶顯示模塊的功能、顯示方法及編程的技巧在測控領域有著廣泛的使用價值。