基于MGLS12864與SPCE061A單片機(jī)的硬件接口電路設(shè)計(jì)
引言
在許多單片機(jī)應(yīng)用系統(tǒng)中,液晶顯示器LCD被廣泛地應(yīng)用于終端顯示人機(jī)接口中。點(diǎn)陣式LCD不儀可以顯示字符、數(shù)字,還可以顯示圖形、曲線及漢字,并能夠?qū)崿F(xiàn)多種動畫顯示效果,使人機(jī)界面更加友好,使用操作更加靈活方便。MGLS12864是市場上比較常見的內(nèi)藏HD612 02控制器的圖形液晶顯示模塊,具有功耗低、體積小、重量輕、結(jié)構(gòu)簡單,使用方便的優(yōu)點(diǎn)。SPCE061A是繼SPCE500A等之后凌陽科技推出的一款16位結(jié)構(gòu)的微處理器。CPU內(nèi)核采用16位μ’nSP微處理器芯片,比MCS-51系列單片機(jī)集成度高、性價(jià)比高、使用更加靈活方便。
本文闡述了點(diǎn)陣式液晶MGLS12864的結(jié)構(gòu)特點(diǎn)及其控制器HD61202的指令系統(tǒng),并具體設(shè)計(jì)調(diào)試了MGLS12864與單片機(jī)SPCE061A的硬件接口電路和軟件程序。經(jīng)過實(shí)際運(yùn)行,該液晶顯示模塊工作可靠,滿足了設(shè)計(jì)要求。
1 MGLS12864的工作原理
MGLS12864顯示模塊內(nèi)置2片HD61202作為列驅(qū)動器和一片HD61203作為行驅(qū)動器,可顯示64 KB的點(diǎn)陣圖形。點(diǎn)陣數(shù)為64行×128列,每屏可以顯示4行×8個(gè)漢字(每漢字16×16點(diǎn)陣)。具有64 KB的內(nèi)部存儲器,顯示屏共分8頁。
1.1 引腳特性
MGLS12864引腳特性如表1所示。
由表1的引腳特性可知,MGLS12864模塊有18個(gè)引腳,1,2引腳為兩個(gè)片選信號,組合功能定義是:CS1,CS2為00時(shí)禁止使用,01時(shí)選左區(qū),10時(shí)選右區(qū),11時(shí)末選;3引腳為電源地Vss;4引腳為電源電壓Vdd;5引腳為液晶顯示驅(qū)動電源V0;6引腳為數(shù)據(jù)指令選擇端RS;7引腳為讀/寫選擇信號R/W;8引腳為使能信號E;9~16引腳為數(shù)據(jù)總線DB0~DB7,可方便同單片機(jī)連接;17,18引腳為背光燈提供電源。
1.2 HD61202的指令系統(tǒng)
MGLS12864控制器HD61202內(nèi)置4096位(64×64)顯示RAM,RAM中每位數(shù)據(jù)對應(yīng)LCD屏上一個(gè)點(diǎn)的亮、暗狀態(tài),HD61202通過一系列操作指令實(shí)現(xiàn)對顯示屏的控制。HD61202指令系統(tǒng)見表2。
(1)顯示開關(guān)設(shè)置:D=1時(shí)LCD顯示RAM中的內(nèi)容,D=0時(shí)關(guān)閉顯示;
(2)顯示起始行設(shè)置:L0~L5在0~3FH(0~63行)范圍內(nèi)取值;
(3)頁面地址設(shè)置:P0~P2:設(shè)置頁號(0~7),顯示RAM共64行分8頁,每頁8行;
(4)列地址設(shè)置:C0~C5:設(shè)置顯示列地址0~3FH(0~63行);
(5)控制器狀態(tài):BUSY=1時(shí)內(nèi)部在工作,BUSY=0時(shí)正常狀態(tài);ON/OFF=1時(shí)顯示關(guān)閉,ON/OFF=0時(shí)顯示打開;REST=1時(shí)復(fù)位狀態(tài),REST=0
時(shí)正常狀態(tài)。在BUSY和REST狀態(tài)時(shí),除讀狀態(tài)指令外,其他指令均不對HD61202產(chǎn)生作用。在對HD61202操作之前要查詢BUSY狀態(tài),以確定是否可以對HD61202進(jìn)行操作;
(6)讀/寫數(shù)據(jù)指令每執(zhí)行完一次讀/寫操作,列地址就會自動加1。進(jìn)行讀操作前,必須有一次空讀操作,緊接著再讀數(shù)據(jù)才會讀出所要讀的單元中的數(shù)據(jù)。
2 MGLS12864與SPCE061A的硬件接口電路設(shè)計(jì)
SPCE061A內(nèi)置2 KB的SRAM,32 KB的FLASH,32 b可編程輸入輸出端口,7路10 b的ADC和1路為聲音模一數(shù)轉(zhuǎn)換器,2路10b的DAC,2個(gè)16b可編程定時(shí)/計(jì)數(shù)器,可編程音頻處理等。SPCE061A工作電壓為2.6~3.6 V(CPU),2.6~5.5V(I/O),CPU時(shí)鐘為0.32~49.152MHz。
MGLS12864與SPCE061A單片機(jī)的硬件接口電路如圖1所示,SPCE061A的IOA0~I(xiàn)OA7與MGLSl2864的DB0~DB7口相連作為數(shù)據(jù)輸入輸出用,IOB0~I(xiàn)OB4與MGLS12864的CS1,CS2,E,RS,R/W相連作為單片機(jī)對液晶模塊的控制端。
3 顯示程序設(shè)計(jì)
本系統(tǒng)程序包括主程序和子程序模塊,其中,子程序包括初始化、清全屏子程序、漢字顯示子程序、清單個(gè)字子程序。主程序通過調(diào)用子程序來完成液晶模塊的控制。液晶顯示程序流程圖如圖2所示,首先判斷顯示控制器HD61202是否處于“忙”狀態(tài),若不忙先送關(guān)顯示指令關(guān)閉所有顯示,接著仍判斷“忙”狀態(tài),若不忙送開顯示指令,為顯示做準(zhǔn)備,然后調(diào)用清全屏子程序、漢字顯示子程序,最后根據(jù)內(nèi)容需要調(diào)用清單個(gè)字子程序。
4 結(jié)語
本文介紹了內(nèi)置HD61202的液晶顯示器MGLS12864在凌陽SPCE061A上的應(yīng)用,在硬件方面,利用SPCE061A上豐富的I/O資源驅(qū)動液晶模塊,簡化了接口電路設(shè)計(jì)。在軟件方面,使用凌陽μ’nsP IDE開發(fā)環(huán)境采用C語言編譯調(diào)試液晶程序,方便可靠。從調(diào)試效果來看,采用MGLS-128G4提高了系統(tǒng)的可視化程度,達(dá)到了設(shè)計(jì)要求。SPCE061A不僅具有一般控制器的功能,加上其獨(dú)具特色的語音處理功能,可以開發(fā)出許多智能化產(chǎn)品。