<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 光電顯示 > 設計應用 > PLC和點(diǎn)陣液晶顯示模塊組成的監控電路與顯示軟件設計

PLC和點(diǎn)陣液晶顯示模塊組成的監控電路與顯示軟件設計

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:點(diǎn)陣液晶顯示模塊在工業(yè)控制設備中正逐步得到推廣,依據DMF50081NB-FW點(diǎn)陣液晶顯示模塊的要求,闡述了監控電路的設計,論述了點(diǎn)陣液晶顯示模塊漢字和字符顯示的編程方法。在確??删幊绦蚩刂破鲗Ρ豢貙ο罂刂频目煽啃院涂垢蓴_性的前提下,該電路可對系統運行狀態(tài)的監控達到比較高的性能價(jià)格比。

本文引用地址:http://dyxdggzs.com/article/225749.htm

關(guān)鍵詞:液晶顯示模塊 字符 起始地址 行列

點(diǎn)陣液晶顯示模塊在工業(yè)控制中,已得到越來(lái)越廣泛的應用。如許多可編程序控制器(PLC)生產(chǎn)公司相繼推出了各種型號、各種系列的液晶顯示模塊,有單色的、彩色的、觸摸式等。這些模塊能夠顯示字符和圖形,若配備漢字還能夠顯示漢字。使用這些模塊可組成高性能的控制操作面板,但是各公司的顯示模塊兼容性能不是很好,且售價(jià)較高。本文提出應用單片機和PLC的接口電路組成點(diǎn)陣液晶顯示模塊的控制操作面板,既達到了高性能,又降低了成本。

1 DMF50081NB-FW點(diǎn)陣液晶顯示模塊與SED1330控制器

DMF50081NB-FW是320×240=76800個(gè)顯示點(diǎn)的點(diǎn)陣液晶顯示模塊,每8個(gè)顯示點(diǎn)構成一個(gè)字節,每行40個(gè)字節,全屏共計40×240=9600個(gè)字節。DMF50081NB-FW點(diǎn)陣液晶顯示模塊可以顯示圖形,也可以顯示漢字和字符,漢字和字符可以采用32×32、24×24、16×16、8×8等點(diǎn)陣形式。DMF50081NBFW點(diǎn)陣液晶顯示模塊的接口信號有13根,它直接與SED1330控制器相連。SED1330控制器是專(zhuān)門(mén)用于DMF系列點(diǎn)陣液晶顯示模塊控制器,而且很容易與單片機接口。其主要功能特點(diǎn)是:內部有功能較強的I/O緩沖器;有豐富的指令功能;最大可驅動(dòng)640×256的點(diǎn)陣液晶顯示模塊;圖形和文本方式混合顯示;內部存儲器最大容量達64k,可選用只讀存儲器和隨機存儲器。SED1330控制器的指令集如表1所示。從指令集中可看出,除了一般液晶顯示器所具有的設置功能之外,其突出的一個(gè)特點(diǎn)是還可以設置光標四個(gè)方向的移動(dòng)等功能??刂破鞯拿钭趾?jiǎn)單、易于掌握、便于編程[3]。

表1 SED1330控制器指令集

功 能指 令代 碼說(shuō) 明參數量
系統控制SYSTEM SET
SLEEP IN
40H
53H
初始化,顯示窗口
設置空閑操作
8
-
顯示操作DISP ON/OFF
SCROLL
CSRFORM
CGRAM ADR
CSRDIR
HDOT SCR
OVLAY
59/58H
44H
5DH
50H
4C-4FH
5AH
5BH
顯示開(kāi),設置顯示方式
設置顯示區域,卷動(dòng)
設置光標形狀
設置CGRAM起始地址
設置光標移動(dòng)方向→←↑↓
設置點(diǎn)單元卷動(dòng)位置
設置合顯示方式
1
10
2
2
-
1
1
繪制操作CSRW
CSRR
46H
47H
設置光標地址
讀出光標地址
2
2
存儲操作MWRITE
MREAD
42H
43H
數據寫(xiě)入顯示緩沖區
從顯示緩沖區讀出數據
 

2 監控電路與輸入信號采集時(shí)序

監控系統電路如圖1所示。左邊的信號來(lái)自于可編程序控制器(PLC),當PLC輸出被控對象工作狀態(tài)(Y20~Y25)和數據參數(Y10~Y17、Y4~Y7)時(shí),PLC(Y27)向單片機發(fā)出斷申請。單片機通過(guò)可編程芯片82C55與PLC實(shí)現信息輸入。液晶顯示器通過(guò)SED1330控制器與單片機接口,其接口電路是按照液晶顯示器和SED1330控制器接口說(shuō)明要求設計的。根據應用需要編制的32×32字庫和32×16字符庫存放在16K的EPROM中。由于輸入信號來(lái)自于PLC,單片機采集信息需結合PLC輸出信號并遵循一定的采集時(shí)序。時(shí)序要求如圖2所示。Y27應在PLC一個(gè)掃描周期內輸出低電平,作為單片機的中斷申請信號,通常PLC一個(gè)掃描周期至少數毫秒乃至十多信號,通常PLC一個(gè)掃描周期至少數毫秒乃至十多毫秒。為了確保單片機讀入的數據和狀態(tài)準確無(wú)誤,單片機響應中斷信號后,啟動(dòng)定時(shí)器延時(shí)2~3ms,即t=2~3ms,然后才從82C55讀入PLC輸出的參數與狀態(tài)。PLC輸出數據是按8421碼編制好的三位十進(jìn)制數:Y14~Y17,Y10~Y13,Y4~Y7。

3 系統軟件設計

單片機程序主要分為三個(gè)部分:初始化;輸入信號采集;字符和漢字顯示。初始化程序需對液晶顯示模塊[2]、82C55以及其它存儲單元初始化。輸入信號采集程序由INT0中斷服務(wù)程序和定時(shí)器0中斷服務(wù)程序組成。INT0中斷服務(wù)程序的任務(wù)是設置定時(shí)器0的時(shí)間常數、開(kāi)定時(shí)器0中斷和啟動(dòng)時(shí)器0;定時(shí)器0中斷服務(wù)程序的任務(wù)是從82C55三個(gè)口讀入數據和狀態(tài);C口狀態(tài)信號送入31H,B口四位數據送入32H;并在中斷服務(wù)程序中設置采集一次信息標志(置位單元00H為“1”)。字符和漢字顯示程序是主體。為了使顯示內容在控制現場(chǎng)醒目,有一定的視覺(jué)范圍,便于對被控設備監控,設計了32×32漢字和32×16字符點(diǎn)陣庫。顯示程序設計時(shí),首先對屏幕顯示畫(huà)面進(jìn)行設計。設某控制對象的工作狀態(tài)有數十種,每個(gè)狀態(tài)下有三個(gè)數據,并有多種工作模式和工作選件選擇。屏幕共有240行,每行40個(gè)字節,屏幕顯示和地址排列如表2所示。表左邊列出每一行顯示字符的起始地址,表的上邊列出第一行每一字節的地址,該地址作為每一列的列地址,這兩組地址值可決定屏幕上每一個(gè)字符的起始地址,例如第二行參數2低位數據顯示起始地址為0C80H+17H。顯示屏每屏可動(dòng)態(tài)顯示5組狀態(tài)和參數,可以采用按順序翻轉和按屏顯示兩種方式。按順序翻轉就是當第6組參數要顯示時(shí),每行顯示內容按順序向上移位,即6→5→4→3→2→1→取消。按屏顯示就是當第六組參數要顯示時(shí),首先清狀態(tài)和參數顯示區域,然后將第六組參數設置為第一級并顯示在第一組顯示位置上。本文采用按屏顯示方式。

編程之前需對單片機內存作具體的分配,表2列出顯示需用的部分內存分配。為了便于調用數據顯示子程序,分配8個(gè)字節來(lái)存放顯示數據。設置了要顯示的字符和漢字在顯示位置的起始地址和字庫起始地址和暫存器以及顯示行號、采集次數記錄等。

顯示程序編程的關(guān)鍵問(wèn)題是確定每一行顯示的起始地址、每一個(gè)文字和數據列顯示起始地址以及文字和數據在字庫中的起始地址。這些地址的確定是由狀態(tài)字、采集次數、顯示面板設計和字庫設計確定的。

顯示程序框圖如圖3所示。顯示程序首先判斷信息是否已被采集,若無(wú)則等待或處理其它程序,若有則判斷采集次數(41H)。若(41H)>3,對41H置1,然后根據41H中的內容,轉云執行處理不同采集次數的程序。這里重點(diǎn)介紹(41H)=1的情況,此時(shí)先判斷(30H)是否大于#30H。若大于#30H,編制多個(gè)判斷分支程序,根據30H中內容分別調用不同的漢字顯示程序;若小于#30H,首先按照表2進(jìn)行數據處理,然后判斷顯示行號是否大于5,大于則使(3BH)=1,并經(jīng)判斷程序是出行號,然后根據行號分別執行不同行號下的顯示程序。圖3中設行號等于3,此時(shí)先將屏幕顯示第3行文字顯示的起始高位地址賦給3DH,低俠地址賦給3CH,并調用狀態(tài)顯示子程序。然后確定每一行數據顯示的列起始地址,調用數據顯示子程序。執行完,采集次數+1.當二次采集數據全部處理完,顯示行號+1,使下一組狀態(tài)和數據顯示內容自動(dòng)換行。

字庫中的字模在EPROM中是按照32×32點(diǎn)陣先從字模第一行第一個(gè)字節到第四個(gè)字節,然后從第二行第一個(gè)字節到第四個(gè)字節,依此類(lèi)推,直到32行。數據的字模也是按照類(lèi)似的方式排列,只是每行為兩個(gè)字節。

圖4為顯示狀態(tài)和漢字的子程序。虛線(xiàn)框中的內容是顯示一個(gè)漢字的子程序,進(jìn)入顯示一個(gè)漢字子程序之前,只要將漢字在字庫中的起始地址送入3EH、3FH單元以及將漢字在屏幕顯示位置的起始地址送入42H、3DH即可。顯示程序主要應用5HA、42H、4FH(↓)和4DH(←)命令,由于每一個(gè)漢字有32行,所以需循環(huán)32次。顯示狀態(tài)文字時(shí),首先設置所要顯示的文字數,賦給43H,根據30H中的狀態(tài)字內容判斷程序執行的方向,因為狀態(tài)字決定了要顯示的文字個(gè)數和文字內容,也就決定了每個(gè)文件在字庫中的起始地址和顯示屏幕上的位置。對于數據的顯示,其顯示編程的方法和文字顯示編程的方法類(lèi)似,只要把握住地址正確即可。而對于操作模式、選擇和報警信息的顯示,根據(30H)>#30H,此時(shí)只有一組信號,編程時(shí)間樣按照屏幕設計的要求,將地址設置正確,調用方案顯示子程序,同時(shí)需將采集次數復位。報警信息顯示在狀態(tài)和數據顯示區,應注意顯示行號和文字個(gè)數的設置,顯示輸出完之后對行號進(jìn)行修改。

綜上所述,系統的組成易于實(shí)現。軟件雖然分支判斷程序多,但程序的編制有規律可循。其執行速度主要受文字和數據顯示程序的影響(32次循環(huán))。但信息采集采用中斷方式,單片機每?jì)纱沃袛囗憫g至少間隔近10ms,才能夠滿(mǎn)足應用的要求。

本文應用PLC組成點(diǎn)陣液晶顯示模塊的控制操作面板的設計方法適應于工業(yè)控制現場(chǎng),顯示部分的電路和單片機程序沒(méi)有參與對被控對象的控制。實(shí)際上,鍵盤(pán)操作也是由PLC輸入端口予以輸入,這樣保證了控制系統的控制高可靠性和高抗干擾性。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>