單片機(jī)控制MGLS-12864接口研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:本文根據(jù)煤礦井下饋電開關(guān)智能綜合保護(hù)器顯示的要求,利用8031單片機(jī)和MGLS-12864液晶顯示模塊實(shí)現(xiàn)保護(hù)器顯示部分的軟硬件設(shè)計(jì)。通過搭建硬件電路,編譯調(diào)試下栽程序,使用8031單片機(jī)控制MGLS-12864液晶顯示模塊,可以實(shí)現(xiàn)漢字、數(shù)字和字母的顯示以及光標(biāo)閃爍和實(shí)時(shí)數(shù)據(jù)顯示等功能,此功能除可用于煤礦井下饋電開關(guān)智能綜合保護(hù)器顯示,還可用于智能化儀器儀表等需要顯示的場合。
關(guān)鍵詞:單片機(jī);液晶顯示模塊;接口;漢字顯示
隨著傳統(tǒng)的數(shù)字顯示已經(jīng)不能表達(dá)復(fù)雜的信息。而液晶顯示器(LCD)則以其重量輕、電壓低、功耗小、顯示內(nèi)容豐富等優(yōu)點(diǎn)逐漸在單片機(jī)控制的智能儀器儀表、工業(yè)控制等領(lǐng)域得到廣泛應(yīng)用。
礦用隔爆饋電開關(guān)是煤礦井下配電系統(tǒng)的關(guān)鍵設(shè)備,其性能好壞直接影響煤礦井下的生產(chǎn)安全和生產(chǎn)效率。目前大部分礦井饋電開關(guān)保護(hù)器的顯示通常是發(fā)光二極管或LED數(shù)字顯示,并且大部分用燈來顯示故障。
為了改進(jìn)饋電開關(guān)的顯示功能,利用單片機(jī)8031和液晶顯示器設(shè)計(jì)了一種具有漢字顯示功能的顯示系統(tǒng),該系統(tǒng)能夠通過液晶顯示器實(shí)時(shí)顯示開關(guān)的工作參數(shù)(電壓、電流等)、工作狀態(tài)、供電線路的故障原因以及故障所發(fā)生的時(shí)間等,并且能對故障狀態(tài)進(jìn)行存儲,大大方便了線路的維修。
1 系統(tǒng)的硬件構(gòu)成
為了完成饋電開關(guān)的各種顯示,采用8031單片機(jī)控制MGLS-12864液晶顯示模塊。饋電開關(guān)保護(hù)器要求顯示開關(guān)的工作狀態(tài)、工作參數(shù)(電壓、電流、功率因數(shù)等)、故障原因、故障狀態(tài)和瓦斯報(bào)警等。
1.1 點(diǎn)陣式液晶顯示模塊MGLS-12864
MGLS-12864是香港信利公司生產(chǎn)的點(diǎn)陣圖形式液晶顯示模塊,點(diǎn)陣數(shù)為64行x128列,每屏可以顯示4行×8個(gè)漢字(每漢字16×16點(diǎn)陣)。該顯示模塊有2片HD61202作為列驅(qū)動(dòng)器和1片HD61203作為行驅(qū)動(dòng)器,可顯示64 K的點(diǎn)陣圖形。其主要特點(diǎn)是能與80系列微處理器直接接口,可以進(jìn)行圖形、字符及圖形和字符混合3種方式顯示,并具有64 K的內(nèi)部存儲器。顯示屏共分8頁,顯示數(shù)據(jù)格式及顯示屏的頁、行和列的分布情況如表1所示。
該表結(jié)合時(shí)序圖對于理解HD61202液晶控制器的七種顯示指令很有幫助。這七種指令的功能如表2所示,HD61202的讀寫時(shí)序圖如圖1所示。
1.2 硬件接口
8031單片機(jī)與液晶顯示模塊MGLS-12864有2種連接方式:直接訪問方式、間接控制方式。本設(shè)計(jì)采用間接控制方式.系統(tǒng)硬件接口圖如圖2所示。
在圖2中,根據(jù)圖1讀寫時(shí)序要求,8031的P1.2作為液晶顯示模塊的RS控制信號決定單片機(jī)是進(jìn)行數(shù)據(jù)選擇還是進(jìn)行指令選擇,RS=1,數(shù)據(jù)操作;RS=0,寫指令或讀狀態(tài)操作;P1.3接R/W選擇信號,決定單片機(jī)對顯示模塊是進(jìn)行讀選通還是寫選通;P1.4接使能信號E決定數(shù)據(jù)是被鎖存寫入還是被讀出:P1.1和P1.0接CS1和CS2根據(jù)寫入的數(shù)據(jù)決定片選:P0端口接MGLS-12864的DB0~DB7用于二者之間的數(shù)據(jù)傳送;通過上位機(jī)和8031的串口通訊方式將開關(guān)的實(shí)時(shí)數(shù)據(jù)和狀態(tài)等送給顯示系統(tǒng)進(jìn)行顯示。
2 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)程序主要由主程序、子程序和中斷服務(wù)程序組成。主程序流程圖如圖3所示。在主程序中,首先判斷顯示控制器HD61202是否處于“忙”狀態(tài),若不忙先送關(guān)顯示指令關(guān)閉所有顯示,接著仍判斷“忙”狀態(tài),若不忙送開顯示指令,為顯示做準(zhǔn)備,然后調(diào)清全屏子程序、漢字顯示子程序,最后根據(jù)內(nèi)容需要調(diào)清單個(gè)字子程序。漢字顯示子程序如圖4所示。在初始化中首先設(shè)定幾個(gè)參數(shù):顯示的是第幾個(gè)字、頁地址、所在列地址Firstcolum。接著根據(jù)輸入的列進(jìn)行片選,左右屏漢字顯示程序一樣,都是先調(diào)寫指令子程序然后調(diào)寫程序子程序。依次循環(huán)寫入,最后判斷這個(gè)字是否寫完。其他子程序如:初始化子程序、寫指令子程序、寫數(shù)據(jù)子程序、清顯示子程序,篇幅有限從略。在漢字顯示子程序中,首先讀取的是前16個(gè)字節(jié)為上半部16x8點(diǎn)陣字模數(shù)據(jù),后讀取的是后16字節(jié),為下半部16x8點(diǎn)陣字模數(shù)據(jù)。
3 調(diào)試中遇到的問題
1)由于MGLS-12864液晶顯示模塊沒有字符庫,首先對要顯示的漢字、數(shù)字、字母等通過字模提取軟件——zimo0221取模,將取模方式設(shè)成C51方式可得到一個(gè)漢字的16x16的點(diǎn)陣數(shù)據(jù)。
2)在NGLS-12864中,2片HD61202的ADC均接高電平,RST也接高電平,這樣在使用NGLS-12864時(shí)就不必考慮這兩個(gè)引腳的作用。
3)RAM中的每一個(gè)字節(jié)(8位)對應(yīng)LCD屏上一行中的一列,一個(gè)字節(jié)中的一位對應(yīng)LCD屏上一個(gè)點(diǎn)(“0”為滅“1”為亮),在清除一列時(shí),在要被清除的列的位置寫入“00H”,用此方法可以清除屏上的一個(gè)區(qū)域或全屏。
4)實(shí)驗(yàn)中滿足時(shí)序是非常重要的,如果時(shí)序錯(cuò)誤就不能進(jìn)行正常顯示。
4 結(jié)束語
通過實(shí)踐,顯示系統(tǒng)完成了漢字、數(shù)字和字母的顯示以及光標(biāo)閃爍和實(shí)時(shí)數(shù)據(jù)顯示等功能。這個(gè)設(shè)計(jì)不僅能用于煤礦井下饋電開關(guān)智能綜合保護(hù)器顯示,還可用于智能化儀器儀表等需要顯示的場合。