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