如何用老電腦設計單片機系統(tǒng)通用鍵盤
計算器品種繁多、制造精美、觸發(fā)靈敏、價格便宜。用舊計算器改制成單片機系統(tǒng)的通用鍵盤,可以方便地與任意的單片機應用系統(tǒng)連接,不管是在實驗制作還是實際應用中,都不失為一種簡捷方便的方法。
筆者用計算器做了一個通用鍵盤,在幾個應用系統(tǒng)中使用。效果比用普通的按鍵好,使用非常方便。
電路見圖1、圖2。先選擇一個外觀適宜美觀的計算器(本文以RS-3890型計算器為例),打開后蓋,找出鍵盤矩陣的行線和列線,并做上標記。畫一張該矩陣鍵盤和符號的對應圖,如圖2所示。
把原鍵盤的行線和列線通往掩膜芯片的印刷線路切斷,然后用細漆包線將行線和列線接到AT89C2051單片機的相應L/O口上,作為新鍵盤的檢測線。
本文用P1.0~P1.5作行線,用P3.2~P3.7作列線,如需要更多按鍵,單片機可采用AT89C51。利用單片機的一個I/O口作訊響控制口(本文用P1.7),以控制原計算器訊響器發(fā)聲。
利用單片機串行口輸出鍵盤代碼,完成向單片機應用系統(tǒng)提供按鍵控制信息的工作。本鍵盤與應用系統(tǒng)只有三根連線,電源取自應用系統(tǒng),使用極為方便。
鍵盤用發(fā)送程序及應用系統(tǒng)鍵值接收程序流程圖見圖3、圖4。將鍵盤代碼發(fā)送源程序寫入89C2051,鍵盤代碼接收源程序寫入應用系統(tǒng)中的單片機,兩程序設定相同的波特率,以KEYNUM作為鍵盤信息出口,再根據KEYREC和KEYNUM值在應用系統(tǒng)中作為控制程序代碼,完成對應用系統(tǒng)的操作。
|
鍵碼 |
鍵值 |
鍵 |
鍵碼 |
鍵值 |
O |
0lH |
0lH |
+ |
IOH |
14H |
7 |
02H |
0DH |
× |
llH |
13H |
|
03H |
1CH |
ON/C |
12H |
00H |
% |
04H |
11H |
2 |
13H |
06H |
|
05H |
15H |
9 |
14H |
0FHH |
|
06H |
ICH |
5 |
15H |
0AH |
|
07H |
12H |
C |
16H |
04H |
Mr |
08H |
19H |
|
17H |
16H |
|
09H |
02H |
0FF |
18H |
OCH |
MR |
0AH |
18H |
1 |
19H |
05H |
+/- |
OBH |
03H |
8 |
lAH |
0EH |
|
0CH |
08H |
4 |
1BH |
09H |
3 |
0DH |
07H |
M- |
1CH |
1AH |
|
0EH |
17H |
M+ |
lDH |
lBH |
6 |
0FH |
0BH |
|
lEH |
lCH |
附表給出鍵碼和接收后轉換的鍵值韻對應關系。表中鍵值KEYNUM是筆者在某應用系統(tǒng)中所定義的,讀者也可按自己應用程序的要求改變鍵值。KEYREC值是鍵盤發(fā)出的對應于圖2所示鍵符的實際代碼。