摘 要: 點陣液晶" title="液晶">液晶顯示模塊" title="顯示模塊">顯示模塊在工業(yè)控制設(shè)備中正逐步得到推廣,依據(jù)DMF50081NB-FW" title="DMF50081NB-FW">DMF50081NB-FW點陣液晶顯示模塊的要求,闡述了監(jiān)控電路的設(shè)計,論述了點陣液晶顯示模塊漢字和字符顯示的編程方法。在確保可編程序控制器對被控對象控制的可靠性和抗干擾性的前提下,該電路可對系統(tǒng)運行狀態(tài)的監(jiān)控達到比較高的性能價格比。
關(guān)鍵詞: 液晶顯示模塊 字符 起始地址 行列
點陣液晶顯示模塊在工業(yè)控制中,已得到越來越廣泛的應(yīng)用。如許多可編程序控制器(PLC)生產(chǎn)公司相繼推出了各種型號、各種系列的液晶顯示模塊,有單色的、彩色的、觸摸式等。這些模塊能夠顯示字符和圖形,若配備漢字庫還能夠顯示漢字。使用這些模塊可組成高性能的控制操作面板,但是各公司的顯示模塊兼容性能不是很好,且售價較高。本文提出應(yīng)用單片機和PLC的接口電路組成點陣液晶顯示模塊的控制操作面板,既達到了高性能,又降低了成本。
1 DMF50081NB-FW點陣液晶顯示模塊與SED1330" title="SED1330">SED1330控制器
DMF50081NB-FW是320×240=76800個顯示點的點陣液晶顯示模塊,每8個顯示點構(gòu)成一個字節(jié),每行40個字節(jié),全屏共計40×240=9600個字節(jié)。DMF50081NB-FW點陣液晶顯示模塊可以顯示圖形,也可以顯示漢字和字符,漢字和字符可以采用32×32、24×24、16×16、8×8等點陣形式。DMF50081NB-FW點陣液晶顯示模塊的接口信號有13根,它直接與SED1330控制器相連。SED1330控制器是專門用于DMF系列點陣液晶顯示模塊的控制器,而且很容易與單片機接口。其主要功能特點是:內(nèi)部有功能較強的I/O緩沖器;有豐富的指令功能;最大可驅(qū)動640×256的點陣液晶顯示模塊;圖形和文本方式混合顯示;內(nèi)部存儲器最大容量達64K,可選用只讀存儲器和隨機存儲器。SED1330控制器的指令集如表1所示。從指令集中可看出,除了一般液晶顯示器所具有的設(shè)置功能之外,其突出的一個特點是還可以設(shè)置光標四個方向的移動等功能??刂破鞯拿钭趾唵?、易于掌握、便于編程[3]。
2 監(jiān)控電路與輸入信號采集時序
監(jiān)控系統(tǒng)電路如圖1所示。左邊的信號來自于可編程序控制器(PLC),當PLC輸出被控對象的工作狀態(tài)(Y20~Y25)和數(shù)據(jù)參數(shù)(Y10~Y17、Y4~Y7)時,PLC(Y27)向單片機發(fā)出中斷申請。單片機通過可編程芯片82C55與PLC實現(xiàn)信息輸入。液晶顯示器通過SED1330控制器與單片機接口,其接口電路是按照液晶顯示器和SED1330控制器接口說明要求設(shè)計的。根據(jù)應(yīng)用需要編制的32×32字庫和32×16字符庫存放在16K的EPROM中。由于輸入信號來自于PLC,單片機采集信息需結(jié)合PLC輸出信號并遵循一定的采集時序。時序要求如圖2所示。Y27應(yīng)在PLC一個掃描周期內(nèi)輸出低電平,作為單片機的中斷申請信號,通常PLC一個掃描周期至少數(shù)毫秒乃至十多毫秒。為了確保單片機讀入的數(shù)據(jù)和狀態(tài)準確無誤,單片機響應(yīng)中斷信號后,啟動定時器延時2~3ms,即t=2~3ms,然后才從82C55讀入PLC輸出的參數(shù)與狀態(tài)。PLC輸出數(shù)據(jù)是按8421碼編制好的三位十進制數(shù):Y14~Y17,Y10~Y13,Y4~Y7。
3 系統(tǒng)軟件設(shè)計
單片機程序主要分為三個部分:初始化;輸入信號采集;字符和漢字顯示。初始化程序需對液晶顯示模塊[2]、82C55以及其它存儲單元初始化。輸入信號采集程序由中斷服務(wù)程序和定時器0中斷服務(wù)程序組成。
中斷服務(wù)程序的任務(wù)是設(shè)置定時器0的時間常數(shù)、開定時器0中斷和啟動定時器0;定時器0中斷服務(wù)程序的任務(wù)是從82C55三個口讀入數(shù)據(jù)和狀態(tài):C口狀態(tài)信號送入30H,A口八位數(shù)據(jù)送入31H,B口四位數(shù)據(jù)送入32H;并在中斷服務(wù)程序中設(shè)置采集一次信息的標志(置位單元00H為“1”)。字符和漢字顯示程序是主體。為了使顯示內(nèi)容在控制現(xiàn)場醒目,有一定的視覺范圍,便于對被控設(shè)備監(jiān)控,設(shè)計了32×32漢字和32×16字符點陣庫。顯示程序設(shè)計時,首先對屏幕顯示畫面進行設(shè)計。設(shè)某控制對象的工作狀態(tài)有數(shù)十種,每個狀態(tài)下有三組數(shù)據(jù),并有多種工作模式和工作選件選擇。屏幕共有240行,每行40個字節(jié),屏幕顯示和地址排列如表2所示。表的左邊列出每一行顯示字符的起始地址,表的上邊列出第一行每一個字節(jié)的地址,該地址作為每一列的列地址,這兩組地址值可決定屏幕上每一個字符的起始地址,例如第二行參數(shù)2低位數(shù)據(jù)顯示起始地址為0C80H+17H。顯示屏每屏可動態(tài)顯示5組狀態(tài)和參數(shù),可以采用按順序翻轉(zhuǎn)和按屏顯示兩種方式。按順序翻轉(zhuǎn)就是當?shù)?組參數(shù)要顯示時,每行顯示內(nèi)容按順序向上移位,即6→5→4→3→2→1→取消。按屏顯示就是當?shù)诹M參數(shù)要顯示時,首先清狀態(tài)和參數(shù)顯示區(qū)域,然后將第六組參數(shù)設(shè)置為第一組并顯示在第一組顯示位置上。本文采用按屏顯示方式。
編程之前需對單片機內(nèi)存作具體的分配,表2列出顯示需用的部分內(nèi)存分配。為了便于調(diào)用數(shù)據(jù)顯示子程序,分配8個字節(jié)來存放顯示數(shù)據(jù)。設(shè)置了要顯示的字符和漢字在顯示位置的起始地址和字庫起始地址的暫存器以及顯示行號、采集次數(shù)記錄等。
顯示程序編程的關(guān)鍵問題是確定每一行顯示的起始地址、每一個文字和數(shù)據(jù)列顯示起始地址以及文字和數(shù)據(jù)在字庫中的起始地址。這些地址的確定是由狀態(tài)字、采集次數(shù)、顯示面板設(shè)計和字庫設(shè)計確定的。
顯示程序框圖如圖3所示。顯示程序首先判斷信息是否已被采集,若無則等待或處理其它程序,若有則判斷采集次數(shù)(41H)。若(41H)>3,對41H 置1,然后根據(jù)41H中的內(nèi)容,轉(zhuǎn)去執(zhí)行處理不同采集次數(shù)的程序。這里重點介紹(41H)=1的情況,此時先判斷(30H)是否大于#30H。若大于#30H,編制多個判斷分支程序,根據(jù)30H中內(nèi)容分別調(diào)用不同的漢字顯示程序;若小于#30H,首先按照表2進行數(shù)據(jù)處理,然后判斷顯示行號是否大于5,大于則使(3BH)=1,并經(jīng)判斷程序得出行號,然后根據(jù)行號分別執(zhí)行不同行號下的顯示程序。圖3中設(shè)行號等于3,此時先將屏幕顯示第3行文字顯示的起始高位地址賦給3DH,低位地址賦給3CH,并調(diào)用狀態(tài)顯示子程序。然后確定每一個數(shù)據(jù)顯示的列起始地址,調(diào)用數(shù)據(jù)顯示子程序。執(zhí)行完,采集次數(shù)+1。當三次采集數(shù)據(jù)全部處理完,顯示行號+1,使下一組狀態(tài)和數(shù)據(jù)顯示內(nèi)容自動換行。
字庫中的字模在EPROM中是按照32×32點陣先從字模第一行第一個字節(jié)到第四個字節(jié),然后從第二行第一個字節(jié)到第四個字節(jié),依此類推,直到32行。數(shù)據(jù)的字模也是按照類似的方式排列,只是每行為兩個字節(jié)。
圖4為顯示狀態(tài)和漢字的子程序。虛線框中的內(nèi)容是顯示一個漢字的子程序,進入顯示一個漢字子程序之前,只要將漢字在字庫中的起始地址送入3EH、3FH單元以及將漢字在屏幕顯示位置的起始地址送入42H、3DH即可。顯示程序主要應(yīng)用5AH、42H、4FH(↓)和4DH(←)命令,由于每一個漢字有32行,所以需循環(huán)32次。顯示狀態(tài)文字時,首先設(shè)置所要顯示的文字數(shù),賦給43H,根據(jù)30H中的狀態(tài)字內(nèi)容判斷程序執(zhí)行的方向,因為狀態(tài)字決定了要顯示的文字個數(shù)和文字內(nèi)容,也就決定了每個文字在字庫中的起始地址和顯示屏幕上的位置。對于數(shù)據(jù)的顯示,其顯示編程的方法和文字顯示編程的方法類似,只要把握住地址正確即可。而對于操作模式、選擇和報警信息的顯示,根據(jù)(30H)>#30H,此時只有一組信號,編程時同樣按照屏幕設(shè)計的要求,將地址設(shè)置正確,調(diào)用文字顯示子程序,同時需將采集次數(shù)復(fù)位。報警信息顯示在狀態(tài)和數(shù)據(jù)顯示區(qū),應(yīng)注意顯示行號和文字個數(shù)的設(shè)置,顯示輸出完之后對行號進行修改。
綜上所述,系統(tǒng)的組成易于實現(xiàn)。軟件雖然分支判斷程序多,但程序的編制有規(guī)律可循。其執(zhí)行速度主要受文字和數(shù)據(jù)顯示子程序的影響(32次循環(huán))。但信息采集采用中斷方式,單片機每兩次中斷響應(yīng)之間至少間隔近10ms,才能夠滿足應(yīng)用的要求。
本文應(yīng)用PLC組成點陣液晶顯示模塊的控制操作面板的設(shè)計方法適應(yīng)于工業(yè)控制現(xiàn)場,顯示部分的電路和單片機程序沒有參與對被控對象的控制。實際上,鍵盤操作也是由PLC輸入端口予以輸入,這樣保證了控制系統(tǒng)的控制高可靠性和高抗干擾性。
參考文獻
1 FX2 Programmable Controller Manual. MITSUBISHI,1992
2 李維諟,郭 強.液晶顯示應(yīng)用技術(shù).北京:電子工業(yè)出版社,2000.3.
3 李 華.MCS—51系列單片機實用接口技術(shù).北京:北京航空航天大學(xué)出版社,1993.8.
4 何立民.MCS—51系列單片機應(yīng)用系統(tǒng)——系統(tǒng)設(shè)計配置與接口技術(shù).北京:北京航空航天大學(xué)出版社,1990.1
5 蔡啟仲,王鳴桃.可編程序控制器——單片機復(fù)合控制系統(tǒng).儀器儀表學(xué)報,1994;VX(3)