基于BP電梯控制系統(tǒng)的液晶顯示漢化的開發(fā)
關(guān)鍵詞:漢化 電梯控制系統(tǒng) 液晶顯示
1 引言?
本文所介紹的開發(fā)依托于德國奔克公司BP電梯控制系統(tǒng),該控制系統(tǒng)的顯示器采用HD44780字符型液晶顯示模塊,顯示界面語言采用英語。為了方便在中國的各類電梯用戶,因而開發(fā)了這個漢化系統(tǒng),用OCMJ4X8中文液晶顯示模塊替代HD44780字符型液晶顯示模塊,并將界面語言改為中文。
??
2 OCMJ4X8中文液晶顯示模塊?
該模塊的最大特點是它自帶常用的一級漢字中文字庫,用戶只要向液晶模塊輸入漢字的區(qū)位碼就能在液晶屏上顯示漢字;而且它和計算機的接口時序也非常的簡潔,節(jié)省了計算機執(zhí)行指令的時間。因此,OCMJ 4X8中文液晶顯示模塊是進行中文顯示的最佳選擇。?
OCMJ 4X8的接口協(xié)議為ASK/ANSWER握手方式。ASK=1表示OCMJ忙于內(nèi)部處理,不能接受用戶命令;ASK=0后表示OCMJ空閑等待接收用戶命令。??
3 AVR單片機——AT90S8515?
在開發(fā)中我們采用了ATMEL公司的90系列增強RISC內(nèi)載Flash的單片機AT90S8515。AVR系列單片機與MCS51系列單片機相比,由于它的寄存器文件由32個通用工作寄存器組成,從而消除了在MCS51系列單片機中單一累加器A傳輸數(shù)據(jù)的瓶頸現(xiàn)象,從而避免了基于累加器的結(jié)構(gòu)而需要大量程序代碼。AVR單片機采用了Havard結(jié)構(gòu),在前一條指令執(zhí)行的時候,就取出現(xiàn)行的指令,然后以一個周期執(zhí)行指令,每MHz可實現(xiàn)1MPIS的處理能力。在其它的CISC以及類似的RISC結(jié)構(gòu)中,外部振蕩器的時鐘被分頻降低到傳統(tǒng)的內(nèi)部執(zhí)行周期,這種分頻最大達12倍。AVR單片機是用一個時鐘周期執(zhí)行一條指令的,因此它是在8位單片機中的一種真正的RISC單片機。??
4 HD44780液晶顯示模塊?
HD44780液晶顯示模塊屬于字符型液晶顯示模塊,專用于顯示字母、數(shù)字、符號等的字符型液晶顯示模塊。它的每一行有20個顯示位,總共有四行,每個字符為5X7點陣。該模塊的接口時序為M6800時序,其特點是讀寫操作時序是由使能信號E完成的,E信號是正脈沖信號,不操作時為低電平狀態(tài),操作時產(chǎn)生一個正脈沖。HD44780接口的主要引腳如下:?
DB7~DB4 三態(tài) 8位數(shù)據(jù)總線的高4位或4位數(shù)據(jù)總線。?
DB3~DB0 三態(tài) 8位數(shù)據(jù)總線的低4位。?
RS 輸入 寄存器選擇信號。?
R/W 輸入 讀/寫選擇信號。?
E 輸入 使能信號。?
HD44780接口部信號端的邏輯功能組合表如下所示:?
表中“1”代表高電平;“0”代表低電平;“downedge”代表下降沿。?
表格中的BF為液晶模塊和計算機的握手信號,當(dāng)BF=1時,計算機對液晶模塊不能進行任何操作,此時液晶模塊正在進行內(nèi)部操作;只有當(dāng)BF=0時,計算機才可以向液晶模塊進行讀寫操作。標(biāo)中的AC為液晶模塊的地址指針計數(shù)器,它能夠反映出顯示屏上當(dāng)前的光標(biāo)位置,其實光標(biāo)的當(dāng)前位置就是液晶模塊內(nèi)部的DDRAM地址。HD44780液晶顯示模塊共有8條指令。?
5 硬件設(shè)計?
硬件框圖右圖所示:
開發(fā)的最終目的是要將HD44780從BP系統(tǒng)上取消,而只利用它們之間的接口。由于BP電梯控制系統(tǒng)內(nèi)嵌的軟件僅支持英文液晶顯示器HD44780的指令系統(tǒng)。因此,必須開發(fā)一塊硬件接口板,截獲BP控制系統(tǒng)發(fā)送來的英文信息,并使該接口板支持中文液晶顯示模塊OCMJ4X8的指令系統(tǒng)。該接口板服務(wù)與硬件框圖中的“信號采集處理系統(tǒng)”的部分。在系統(tǒng)開發(fā)時,我們對控制系統(tǒng)的內(nèi)嵌軟件是未知的。因此,接口板不僅扮演了HD44780的角色,還肩負著信號采集處理的重任,對采集到的信息經(jīng)處理后轉(zhuǎn)換成中文信息,隨后用OCMJ的指令系統(tǒng)將其輸出到中文液晶顯示模塊,所以整個系統(tǒng)就包括BP控制系統(tǒng)的信息源、信息采集和處理系統(tǒng)、中文菜單存儲系統(tǒng)、中文顯示系統(tǒng)四個部分。具體的電路如圖二所示。圖中74LS273芯片用來鎖存BP發(fā)送過來的信息;74LS373用來反饋忙信息,當(dāng)BP處于讀狀態(tài)時,由E信號和W/R信號聯(lián)合控制選通74LS373,給BP控制系統(tǒng)反饋忙標(biāo)志信號;單片機AT90S8515是信息采集和處理中心;EPROM 27512存儲有大量的中文菜單信息;數(shù)據(jù)串行輸入74LS164,并從其并行口將數(shù)據(jù)送往OCMJ4X8中文液晶顯示模塊進行顯示,移位脈沖由軟件產(chǎn)生。
6 軟件設(shè)計?
程序框圖如圖3所示:?
編制程序的難點在于兩個方面。難點之一是采用什么方式觸發(fā)單片機采集BP向HD44780寫入的數(shù)據(jù)。當(dāng)在BP系統(tǒng)的控制面板上進行按鍵操作時,BP就會與HD44780進行信息交換。采用查詢方式時,是對BP控制系統(tǒng)發(fā)送過來的使能信號E進行查詢,當(dāng)E信號為高電平時,說明BP對HD44780進行讀寫操作,于是程序進入讀寫操作的判別。如果是讀操作,則程序必須反饋給BP忙標(biāo)志BF值;如果是寫操作,則必須采集接口數(shù)據(jù)總線上的值(讀操作或?qū)懖僮饔蒞/R信號線區(qū)別)。這時必須給CPU設(shè)定查詢時間,根據(jù)實際按鍵操作特點,CPU總的查詢時間設(shè)定為約100ms。這樣CPU每隔約100ms查詢一次,若沒有采集到使能信號E為高電平,則置出錯標(biāo)志,CPU轉(zhuǎn)而執(zhí)行其它的任務(wù)。但程序的實際運行狀況看,系統(tǒng)不能完整的采集到所有BP發(fā)送過來的數(shù)據(jù)。故查詢方式不能被采用。另外一種觸發(fā)方式就是中斷,利用使能信號E的高電平觸發(fā)中斷INT1。實際應(yīng)用表明中斷方式能完全采集到數(shù)據(jù),實際上也正是利用了中斷的靈活性。在編制中斷子程序時,主要考慮了中斷子程序最多能完成的任務(wù)量,否則會影響數(shù)據(jù)采集的完整性。在試驗中發(fā)現(xiàn),中斷子程序最多只能完成對AVR單片機I/O口的數(shù)據(jù)采集和數(shù)據(jù)保存的工作。難點之二是表格的編制。由于電梯的菜單多達上千句,為了能得到最短的查表時間,以達到數(shù)據(jù)采集、轉(zhuǎn)換、顯示的緊密配合,否則會導(dǎo)致OCMJ中文顯示跟不上BP上按鍵操作要求更改屏幕顯示信息的要求,所以精心構(gòu)造查表程序。由于篇幅限制,具體程序略。??
7 抗干擾設(shè)計?
采用了軟件和硬件兩方面的抗干擾措施。由于AVR單片機本身就具有看門狗電路,所以在軟件編制時,在軟件中加入看門狗復(fù)位。一但程序由于干擾進入混亂狀態(tài),就可以利用看門狗進行程序復(fù)位;另外一個就是利用軟件濾波;再一個就是保護中斷現(xiàn)場。硬件抗干擾措施主要是在設(shè)計印刷電路板時考慮抗干擾。地線設(shè)計時將地線加粗、將地線構(gòu)成閉環(huán)路;對易受干擾地信號線與信號源之間加入地線屏蔽;對印刷板入口處地電源線和地線之間并接退耦電容;集成芯片上加去耦電容,電容值可取0.01μf。??
8 結(jié)論?
帶來本系統(tǒng)給操作、調(diào)試、維護人員提供了方便易讀的中文電梯控制系統(tǒng)菜單,使他們可以正確而快速地進行電梯參數(shù)設(shè)置和故障分析,提高調(diào)試的安全性、可靠性;縮短了調(diào)試時間,提高了工作效率。??
參考文獻?
[1]王幸之,王雷,等編著.單片機應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京航空航天大學(xué)出版社 2000年2月第一版?
[2]宋建國主編.AVR單片機原理及應(yīng)用[M].1998年10月第一版北京航空航天大學(xué)出版社?
[3]李維提,郭強編著.液晶顯示應(yīng)用技術(shù)[M].2000年3月第一版電子工業(yè)出版社
[4]肇慶市奧可拉液晶顯示器有限公司[S].OCMJ系列中文液晶顯示模塊說明書