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