電子工程世界首頁>>單片機(jī)>> 51單片機(jī)>> P89C51RD2的可定制人機(jī)交互界面設(shè)計(jì) 2011-05-17 18:39:05來源:互聯(lián)網(wǎng) 關(guān)鍵字:P89C51RD2 人機(jī)交互界面 引 言

隨著社會需要和科學(xué)技術(shù)的發(fā)展,產(chǎn)品的競爭愈來愈激烈,更新的周期愈來愈短,因而要求設(shè)計(jì)者能很快地設(shè)計(jì)出新產(chǎn)品;而在產(chǎn)品的整體設(shè)計(jì)中,人機(jī)交互界面的設(shè)計(jì)往往占據(jù)著很大一部分工作,這樣,不但極大地增加了產(chǎn)品的開發(fā)成本而且延長了產(chǎn)品的上市周期。本文論述的基于P89C51RD2的人機(jī)交互界面是一種界面可定制、結(jié)構(gòu)緊湊、價格低廉、簡單易用、性能優(yōu)良的通用型人機(jī)交互界面,能很好地解決上述問題。

1 系統(tǒng)工作原理

1.1 工作原理

按照實(shí)際應(yīng)用中控制系統(tǒng)的需要及控制系統(tǒng)與人機(jī)交互界面的約定,通過PC機(jī)上的可視化人機(jī)界面定制軟件,定制好整個界面信息,再把定制好的界面信息下載到人機(jī)交互界面系統(tǒng)中,就可以輕松地實(shí)現(xiàn)人機(jī)界面的定制。在應(yīng)用中,人機(jī)交互界面通過串行接口與控制系統(tǒng)進(jìn)行交互,發(fā)送按鍵等信息給控制系統(tǒng),并接收所需的可變信息,以完成人機(jī)交互。

現(xiàn)以空壓機(jī)控制器的部分人機(jī)界面為例來說明相關(guān)概念,界面系統(tǒng)示意圖如圖1所示。相關(guān)概念說明如下:

①屏幕,即LCD顯示區(qū),由一個或多個屏幕項(xiàng)組成;

②屏幕項(xiàng),即屏幕里面的按其顯示內(nèi)容的性質(zhì)差異來劃分的一個個整體單元,如文本屏幕項(xiàng)等;

③屏幕項(xiàng)的分類,按其顯示內(nèi)容的性質(zhì)差異分為文本、整型、浮點(diǎn)型、枚舉型、圖形等。

整個人機(jī)界面系統(tǒng)由一個個存在鏈接關(guān)系的屏幕構(gòu)成,而每個屏幕又由一個或多個屏幕項(xiàng)組成。各屏幕項(xiàng)有其自身的屬性,也存在著某些相互的鏈接關(guān)系(例如,由某個屏幕項(xiàng)鏈接到另外一個屏)。這樣,通過對各屏幕項(xiàng)的合理組織而構(gòu)成一個鏈表網(wǎng)絡(luò),再通過對此鏈表網(wǎng)絡(luò)的操作來實(shí)現(xiàn)人機(jī)界面的操作,即屏幕的顯示操作。

1.2 系統(tǒng)的工作過程

系統(tǒng)的軟件部分由用戶引導(dǎo)程序和應(yīng)用程序組成。系統(tǒng)運(yùn)行后,由用戶引導(dǎo)程序決定是執(zhí)行界面信息的更新還是正常運(yùn)行。若執(zhí)行界面信息的更新,則系統(tǒng)通過串行接口從上位機(jī)接收界面定制信息,并通過在應(yīng)用編程(IAP)功能保存所接收的信息,然后通過本地讀取新的界面定制信息建立鏈表網(wǎng)絡(luò);若正常運(yùn)行,則直接從本地讀取舊的界面定制信息建立鏈表網(wǎng)絡(luò)。應(yīng)用程序?qū)崿F(xiàn)的功能包括按鍵的輸入、界面的顯示及與控制系統(tǒng)的通信。

2 系統(tǒng)硬件設(shè)計(jì)及電路原理圖

本系統(tǒng)采用Philips公司功能強(qiáng)大、資源豐富的P89C51RD2單片機(jī)作為微控制器,通過擴(kuò)展液晶模塊及按鍵模塊來構(gòu)成人機(jī)交互界面。系統(tǒng)的硬件電路原理如圖2所示。

2.1 P89C51RD2單片機(jī)簡介

P89C51RD2是Philips公司內(nèi)核基于8位80C51單片機(jī)的派生產(chǎn)品,在完全保留80C51指令系統(tǒng)和硬件結(jié)構(gòu)的大框架下,進(jìn)行了多方面的加強(qiáng)、擴(kuò)展和創(chuàng)新。P89C51RD2具有64 KB并行可編程的非易失性Flash程序存儲器,并可實(shí)現(xiàn)對器件串行在系統(tǒng)編程和在應(yīng)用中編程。

2.2 液晶顯示模塊

本系統(tǒng)采用的是OCM12864圖形點(diǎn)陣液晶顯示模塊。OCM12864液晶顯示模塊是128×64點(diǎn)陣型液晶顯示模塊,可顯示各種字符及圖形,可與CPU直接相連;具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線、6條控制線及電源線。

2.3 按鍵輸入模塊

根據(jù)系統(tǒng)的需要,系統(tǒng)至少需要設(shè)定如下6個屏幕操作按鍵:左、右、上、下、換屏、確定按鍵。其中,左、右鍵用于切換屏幕項(xiàng);上、下鍵用于修改可變屏幕項(xiàng);確定鍵用于產(chǎn)生所選屏幕項(xiàng)對應(yīng)的功能動作;換屏鍵用于進(jìn)入所選中項(xiàng)的鏈接屏幕,若當(dāng)前屏幕沒有選中項(xiàng),則進(jìn)入首項(xiàng)鏈接的屏幕。當(dāng)然,可以根據(jù)需要擴(kuò)充數(shù)字按鍵及功能按鍵。

本系統(tǒng)采用普通的矩陣式按鍵結(jié)構(gòu),也稱“行列式鍵盤結(jié)構(gòu)”。系統(tǒng)中設(shè)計(jì)4行4列共16個鍵,只占用8根I/O口線,鍵數(shù)多而占用I/O口線少。除上述6個屏幕操作按鍵外,余下的10個鍵可由用戶根據(jù)需要定制功能,如數(shù)字鍵或功能鍵。

3 系統(tǒng)軟件設(shè)計(jì)

由于系統(tǒng)的功能實(shí)現(xiàn)不是特別復(fù)雜,故采用基于前后臺的傳統(tǒng)的控制程序設(shè)計(jì)方法。系統(tǒng)的程序流程如圖3所示。