1引言
在嵌入式計算機系統(tǒng)設計中,經常要考慮鍵盤顯示裝置的設置問題。盡管有多種方案可以滿足鍵盤顯示的要求,但是這些方案都各有其優(yōu)缺點,比如采用專用的鍵盤顯示器管理芯片8279,在系統(tǒng)的按鍵及顯示器位數較多時是一種好的方案,但目前鍵盤的設置趨于簡單化(即采用一鍵多用方式或利用增加鍵和減少鍵來取代數字鍵等),因此,一般系統(tǒng)按鍵不多,其顯示器的位數一般也不超過8位。這樣,采用 8279由于需要較多的外圍電路器件,因此顯得不是很方便了。而14499是顯示器管理芯片,它雖然可以管理四位顯示器,但它沒有按鍵管理功能。此外, PS7219是高性能的多位LED顯示驅動器,可管理8位顯示器,并有很強的顯示管理功能,如位閃、復位等功能,但其售價較高,且不能獨立管理鍵盤。鑒于上述幾個芯片的情況,筆者用89C2051單片機設計了織機監(jiān)測器鍵盤顯示裝置來對織機生產數據進行處理與顯示。以下詳細描述為該織機監(jiān)測器設計的鍵盤顯示裝置。
2硬件電路設計
鍵盤顯示裝置主要由89C2051單片機、譯碼驅動器、按鍵、LED顯示器組成,其原理電路如圖1所示。
2.1 89C2051單片機
89C51單片機P1口的每個引腳都有20mA的吸電流能力,該電流足以驅動共陰極LED顯示器的段片選端,因此可將P1口作為LED的段選線,P3.3、P3.4、P3.5經譯碼驅動后作LED的位選線,同時也可作為鍵盤的掃描線,另外,鍵盤的回饋線接INT0引腳。由于掃位選線(掃描線)為低電平有效,當有鍵按下時,回饋線INT0端將產生低電平信號以申請中斷,從而使其在中斷程序中判別鍵值并執(zhí)行鍵處理程序;RXD、TXD引腳與監(jiān)測器單片機的串行通信線相連。通過它們可在接收到按鍵命令后向監(jiān)測器發(fā)送鍵盤命令,或在接收到監(jiān)測器發(fā)送的數據后,將數據送入顯示緩沖區(qū)。
2.2按鍵設置
這種鍵盤顯示系統(tǒng)所需要設置的八個按鍵分別是:
(1)打緯數據鍵:該鍵壓合時可用于顯示當前打緯數(六位)。
?。?)加時打緯數鍵:該鍵壓合可用于顯示當前的加時打緯數據(六位)。
?。?)斷緯次數鍵:該鍵壓合以顯示當前斷緯數及斷緯時間,該數據亦為六位,其中前三位是斷緯數據,后三位是斷緯時間。
?。?)斷經次數鍵:該鍵壓合顯示當前斷經數及斷經時間,該數據為六位,其中前三位是斷經數,后三位是斷經時間。
?。?)斷邊次數鍵:該鍵壓合顯示當前斷邊數及斷邊時間,共六位。前三位是斷邊數,后三位是斷邊時間。
?。?)停車次數鍵:該鍵壓合顯示當前的停車時間,該數據共六位。前三位是停車數,后三位是停車時間。
?。?)查日歷鍵:該鍵壓合可顯示當前時間“年、月、日、時、分、秒”,分兩屏顯示,第一屏是年、月、日,顯示2秒;第二屏是時、分、秒,各占兩個顯示位,顯示2秒。
(8)初始化鍵:可用于對機臺的串行EEPROM進行初始化,同時顯示本機臺的ID號。
2.3 LED顯示器
LED顯示電路用了8個LED顯示器,其中1位是顯示標志,1位是標志與數據間的分隔符,其余六 位用來顯示數字。
2.4譯碼驅動電路
譯碼驅動電路輸入端與89C2051的引腳P3.3、P3.4和P3.5相連,其8個輸出端可作LED的位選信號(同時也是鍵盤的掃描信號)。
3應用軟件設計
該鍵盤顯示裝置的主要程序是LED顯示程序、鍵盤掃描程序和鍵值處理程序。各顯示器的顯示時間可調整定時器T0的定時值來設定。在T0中斷程序中,可通過判斷顯示標志的狀態(tài)來決定向哪個LED發(fā)送數據、更改位選線或更新顯示標志。程序中設有2EH和2FH兩個顯示標志單元;其中2EH為下一次顯示標志單元,該單元中有下一次應選中哪一位LED的信息;2FH為當前顯示標志單元,該單元中存有當前是哪個LED被選中的信息,如在T0中斷中判知2EH的值為#80H,則表明這次應選中的是最左邊的LED,而下一次應選中的是最左邊的第二個LED。因此,通常設定2EH中的值為#40H,2FH中的值為#80H,以表明當前顯示的是最左邊的LED。下面是在T0中斷程序中判定應使哪個LED位選線有效的程序段,其中標號為Y1~Y8的程序是各LED的顯示處理程序。
由于LED位選信號就是鍵盤的掃描線,因此在有按鍵按下并產生INT0中斷時,便可在INT0中斷程序中通過判定2FH中的位狀態(tài)來確定是哪一個鍵被壓合,從而轉去執(zhí)行鍵程序,以在鍵處理程序中向監(jiān)測器發(fā)送取數命令。
4注意事項
在該鍵盤顯示裝置的設計中,通常需要注意以下幾點:
(1)如與監(jiān)測器之間的連線較長,最好采用屏蔽線作為與監(jiān)測器之間的通信線。
(2)外中斷INT0應設定為下跳沿觸發(fā)中斷方式,這樣,在有鍵壓合時,ITN0引腳從高電平跳變?yōu)榈碗娖綍r只產生一次中斷。
(3)INT0引腳與地之間必需接0.1μF左右的小電容,用來抑制按鍵壓合時產生的干擾。
(4)對于用89C2051單片機設計的鍵盤LED顯示裝置來說,其系統(tǒng)最多可設置16個LED顯示器和16個按鍵。
利用本文所介紹的方法設計的鍵盤顯示裝置具有電路簡單實用、價錢便宜、按鍵顯示器設置靈活、抗干擾能力強等優(yōu)點,因此,可與各類控制器配套使用。
參考文獻
1.MCS-51系列單片機應用系統(tǒng)設計.北京:航空 航天大學出版社,2000:p157~18