大屏幕液晶顯示在力矩限制器中的應(yīng)用
隨著電子技術(shù)的發(fā)展,液晶顯示器(LCD)在這些系統(tǒng)中將得到應(yīng)用,隨著圖形液晶顯示屏的推出,基于單片機(jī)設(shè)計的智能儀器和儀表的顯示方式有了很大的改觀,可以借助于顯示屏顯示漢字,給操作者以極大的方便和必要信息提示;同時可以設(shè)計菜單,改善智能儀器的人機(jī)界面,簡化操作步驟。
1 MGL(S)-204128簡介及其與單片機(jī)的接口
1.1 MGL(S)-204128E和驅(qū)動電路的簡介
MGL(S)-240128E是香港精電公司生產(chǎn)的點陣圖形式液晶模塊,其點陣數(shù)量為240×128,點陣尺寸是0.27mm;液晶屏在外部顯示控制器的控制下,可顯示8×8,8×16,16×16等點陣的字符和漢字,顯示字符為黑色,背景為金黃色,同時還可以顯示圖形,是智能儀器儀表的一種理想的顯示器件,由于MGL(S)-240128液晶顯示模塊內(nèi)部沒有顯示控制器和顯示緩沖RAM,要完成顯示必須外接顯示控制器和顯示緩沖RAM;在此處選擇的是由SED1335芯片[1]組成的控制板作為MGL(S)-240128 單片機(jī)之間的接口,完成顯示控制功能。SED1335是日本SEIKOEPSON公司出品的液晶顯示控制器,他在同類產(chǎn)品中是功能最強(qiáng)的。其特點:有較強(qiáng)功能的I/O緩沖器;指令功能豐富;4位數(shù)據(jù)并行發(fā)送,最大驅(qū)動能力為640×256點陣。SED1335硬件結(jié)構(gòu)可分為MPU接口部、內(nèi)部控制部和驅(qū)動LCM的驅(qū)動部:接口部具有較強(qiáng)的I/O緩沖器,CPU訪問SED1335不需判斷其忙,SED1335隨時準(zhǔn)備接收CPU的訪問并在內(nèi)部時序下及時把CPU發(fā)來的指令、數(shù)據(jù)傳輸就位,控制部由振蕩器、功能邏輯電路、顯示RAM管理電路、字符庫及其管理電路以及產(chǎn)生驅(qū)動時序的時序發(fā)生器組成??刂撇靠晒芾?4 k顯示RAM,管理內(nèi)藏的字符發(fā)生器及外擴(kuò)的字符發(fā)生器CGRAM或EXCGROM。驅(qū)動部具有各顯示區(qū)的合成顯示能力,傳輸數(shù)據(jù)的組織功能及產(chǎn)生液晶顯示模塊所需要的時序。
1.2 單片機(jī)與SEED1335的接口
單片機(jī)8031與MGL(S)-240128E的接口電路如圖1所示,在圖1中,將8031的,P20,D0-D7端與SED1335的W,A0,D0-D7端相連,將求反以 后接P2.7,因此SED1335的地址范圍是0000H~8000H。
1.3 SED1335的電壓要求
SED1335的模塊在正常工作時需要的電壓有:電源電壓VCC=+5 V,LCD驅(qū)動電壓VEE為-20 V左右以及背景光顯示電壓,本系統(tǒng)采用了2個WRP系列寬電壓輸入隔離穩(wěn)壓輸出型DC/DC模塊,其一是雙輸出型WRB2424,為SED1335提供-24 V電壓,另一個是是單輸出型略)。
2 力矩限制器的硬件設(shè)計
力矩限制器是起重機(jī)的保護(hù)儀器,其檢測的物理量有主鉤與副鉤的起重載荷和起升高度,主臂與副臂(塔臂)的起重力矩和起升角度、工作幅度、鋼絲繩狀況、風(fēng)速(力)大小、起重過程中載荷振動情況以及下車的各種信息(如變幅油缸壓力、液壓傳動系統(tǒng)的壓力、溫度、發(fā)動機(jī)轉(zhuǎn)速參數(shù)、油溫)等。安全監(jiān)控系統(tǒng)的顯示部分要求實時顯示主鉤和副鉤的作業(yè)力矩百分比、實際載荷、主臂仰角、實際起吊高度以及作業(yè)幅度等參數(shù)。采用MGL(S)240128E的力矩限制器硬件框圖如圖2所示。由于顯示器件可以顯示字符、漢字和圖形,因此利用軟件的設(shè)計可以根據(jù)用戶需要設(shè)計菜單,進(jìn)行多項選擇和有關(guān)參數(shù)的設(shè)置與調(diào)整;在正常工作狀態(tài),可以以圖形形式顯示工作參數(shù)或根據(jù)檢測數(shù)據(jù)實時繪出起重機(jī)的動態(tài)模擬圖。
3 軟件設(shè)計部分
3.1 SED1335初始化
SED1335有13條指令,多數(shù)指令帶有參數(shù)。其中的系統(tǒng)控制參數(shù),要根據(jù)顯示模塊的特點和顯示要求,在液晶第一次初始化的時候設(shè)置這些系統(tǒng)控制參數(shù),初始化程序在系統(tǒng)初始化程序中使用一次即可。顯示操作參數(shù)規(guī)定了顯示的各種具體規(guī)則,通過設(shè)置,可以得到想要的顯示效果。A0=1,為CPU向LCD寫指令代碼和讀數(shù)據(jù),指令代碼寫入輸入緩沖器內(nèi),指令的參數(shù)隨后通過數(shù)據(jù)緩沖器(A0=0)寫入。指令的執(zhí)行,發(fā)生在這條指令的參數(shù)輸入完成之后。所寫的參數(shù)順序不能改變,也不能省略。3.2 漢字顯示程序設(shè)計
漢字的顯示必須先從有關(guān)的字庫中提取漢字的字模,其方法是根據(jù)漢字的區(qū)位碼計算出在漢字庫中的首地址,對于點陣漢字來說,漢字字模的字節(jié)數(shù)是固定的,大多數(shù)字庫文件都不進(jìn)行壓縮,采用順序存儲方式。所以從漢字的機(jī)內(nèi)碼(HZ)可以推出該漢字的區(qū)位碼:區(qū)碼=HZ/256-A0H、位碼=HZ%256-A0H。然后,根據(jù)下面的公式,就可以找出該漢字在漢字庫中的位置(Offset):
Offset=[(區(qū)碼-1)×94+(位碼-1)]×32
這樣,從漢字庫中就可以讀出該漢字的32 B的字模。用C語言設(shè)計顯示程序時,根據(jù)點陣顯示屏控制器的特點,為使編程簡單,把漢字分為左右兩部分,先對左邊部分從第1行到16行進(jìn)行顯示操作,然后再對右邊進(jìn)行同樣操作。因此首先要進(jìn)行數(shù)據(jù)順序的轉(zhuǎn)換,即把點陣順序由橫向排列改為縱向排列。
3.3 繪圖軟件的設(shè)計
為了模擬起重機(jī)的主臂位置,圖形的繪制是必須的,根據(jù)控制特點,其繪圖是由“點”構(gòu)成的,直線的繪制如下:首先確定直線的數(shù)學(xué)方程然后根據(jù)數(shù)學(xué)方程確定直線的起始點坐標(biāo)以及直線的斜率,用改進(jìn)的數(shù)字積分插補法對直線進(jìn)行繪制;具體的步驟如下:
(1)在一次插補計算時不管坐標(biāo)是否有進(jìn)給,并不輸出執(zhí)行。
(2)單一方向有進(jìn)給時,不執(zhí)行操作。
(3)當(dāng)兩個方向都有進(jìn)給時,沿斜線方向兩個方向同時進(jìn)給。
(4)當(dāng)一個方向累計有兩次進(jìn)給時,執(zhí)行一個保留一個。
曲線的繪制同上[2]。經(jīng)調(diào)試,顯示速度很快,完全達(dá)到即時顯示的要求。
3.4 力矩限制器軟件設(shè)計
力矩限制器軟件包含由主程序和若干子程序及中斷服務(wù)程序組成,做一簡要介紹。SED1335有數(shù)據(jù)和圖形兩種方式顯示,在這里考慮到降低編程的復(fù)雜性以及提高程序的可讀性,只采用圖形方式顯示。
由于在顯示時,需要定時更新顯示的是有關(guān)數(shù)據(jù)和圖形,而邊框和有關(guān)說明不必要重新顯示(節(jié)省微機(jī)時間,加快顯示速度);設(shè)定標(biāo)志位表示已經(jīng)在該方式下,并且編制如下子程序:顯示數(shù)據(jù)方式的底圖(邊框和漢字)子程序、更新數(shù)據(jù)子程序、顯示圖形方式的底圖子程序、更新圖形及數(shù)據(jù)子程序。
4 結(jié) 語
由于點陣液晶屏對電壓要求較嚴(yán)格,本文設(shè)計的大屏幕液晶顯示力矩限制器在硬件電路、電源及軟件部分均采取了抗干擾措施,通過使用證明該方案是可行的。他具有如下優(yōu)點:提高了人機(jī)界面的友好性。此外,他可以處于休眠工作狀態(tài),顯示工作方式靈活,并且具有體積小、重量輕、價格低的優(yōu)點。本文介紹的方法同樣適用于其他智能儀器,具有較好的使用價值且已獲得良好的效果,其顯示方式和漢字提示給使用者極大的方便,得到了用戶的好評。