用旧计算器制作单片机系统通用键盘的方法-----keyboard
用旧计算器制作单片机系统通用键盘的方法
计算器品种繁多、制造精美、触发灵敏、价格便宜。用旧计算器改制成单片机系统的通用键盘,可以方便地与任意的单片机应用系统连接,不管是在实验制作还是实际应用中,都不失为一种简捷方便的方法。
笔者用计算器做了一个通用键盘,在几个应用系统中使用。效果比用普通的按键好,使用非常方便。
电路见图1、图2。先选择一个外观适宜美观的计算器(本文以RS一3890型计算器为例),打开后盖,找出键盘矩阵的行线和列线,并做上标记。画一张该矩阵键盘和符号的对应图,如图2所示。

把原键盘的行线和列线通往掩膜芯片的印刷线路切断,然后用细漆包线将行线和列线接到AT89C2051单片机的相应L/O口上,作为新键盘的检测线。
本文用P1.0~P1.5作行线,用P3.2~P3.7作列线,如需要更多按键,单片机可采用AT89C51。利用单片机的一个I/O口作讯响控制口(本文用P1.7),以控制原计算器讯响器发声。
利用单片机串行口输出键盘代码,完成向单片机应用系统提供按键控制信息的工作。本键盘与应用系统只有三根连线,电源取自应用系统,使用极为方便。
键盘用发送程序及应用系统键值接收程序流程图见图3、图4。将键盘代码发送源程序写入89C2051,键盘代码接收源程序写入应用系统中的单片机,两程序设定相同的波特率,以KEYNUM作为键盘信息出口,再根据KEYREC和KEYNUM值在应用系统中作为控制程序代码,完成对应用系统的操作。
符 |
键码
KEYREC |
键值
KEYNUM |
键
符 |
键码
KEYREC |
键值
KEYNUM |
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是笔者在某应用系统中所定义的,读者也可按自己应用程序的要求改变键值。KEYREC值是键盘发出的对应于图2所示键符的实际代码。

评论