|
(一) 编码键盘与非编码键盘介绍
编码键盘是当某个键被按下时,键盘向主机发出该键ASC II码((American Standard Code for Information Interchange): 美国信息交换标准代码)和选通信号,这种方式的键盘的好处是键盘是一个独立的设备,只要键盘和主机都按ASC II标准设计,不同的键盘和主机也可以互联使用,主机软件开销小。APPLE II采用的是这种方式的键盘。
非编码的键盘是当某个键被按下时,键盘只向主机发出该键的位置编码(扫描码),具体这个键是什么键以及实现什么功能,完全由主机定义和解释,这种方式的好处是比较灵活,可以由主机的软件定义键盘的行为,缺点是主机软件开销大些,PC电脑采用的是这种方式的键盘。
(二)APPLE II键盘的硬件结构
APPLE II键盘采用硬件编码方式,使用一块KB3600专用编码电路和一块EPROM编码存储器,用8位并行方式与主机通信,KB3600这块集成电路供电很特殊,需要两种电压-12V和+5V,再加上8根数据线和选通信号线,键盘与主机的连接线达十几根,APPLE II不得不用20线扁平电缆与键盘连接,这可能是APPLE II电脑的主机和键盘设计成一体的一个原因。现在由于单片机的普遍应用,硬编码方式已经很少使用,是时候给APPLE II设计一款新键盘了。
(三)再造键盘方案之一:重新设计
重新设计的键盘采用了一块74LS138译码电路和一块AT89C2051单片机,8X8键盘矩阵拆自一个报废的PC机械键盘,共有64个键位,这样除了APPLE II原来键盘的键以外,多出的几个键分别定义为一些常用命令,如HOME,TEXT,LIST,RUN,SAVE,LOAD。单片机程序的基本设计思想是,通过定时器中断,大约10mS左右扫描一次键盘,检测出被按下的键,再通过查表的方式得到该键的ASCII码,发送给APPLE II主机,然后发出选通信号STROBE,RESET信号的处理类似。
比原设计有所改进的是我用串行方式向主机发送数据,这样与主机的通信只要6根连线,可以把键盘设计成与主机分体,方便使用。为了实现串行通信,我在设计主板时增加了一片 74LS164串行转并行芯片,把接收到的串行数据转成8位并行数据后输入到键盘接口,主机的EPROM不需任何修改。
硬件图纸和程序
apple ii keyboard-1.pdf
(19.6 KB, 下载次数: 133)
apple ii keyboard-2.pdf
(30.63 KB, 下载次数: 125)
Apple ii key-C.pdf
(88.37 KB, 下载次数: 121)
(四)再造键盘方案之二:PS/2键盘转换板
另一个相对简单的方式是利用广泛使用的PS/2键盘,通过一块小的转换板连接APPLE II主机,转换板使用STC81K08S2单片机(其实还可以使用规模更小的型号),软件的基本设计思想是,接收到PS/2键盘的扫描码之后,通过查表转换成ASCII码,串行发送到APPLE II主机, PS/2的键位很多,可以定义很多命令键。也可以不都定义,用不到的随他去吧。
硬件图纸和程序
PS2.pdf
(15.48 KB, 下载次数: 120)
PS2_MAIN.pdf
(41.47 KB, 下载次数: 120)
PS2_BASE_TAB.pdf
(29.04 KB, 下载次数: 120)
PS2_PROCESS.pdf
(49.09 KB, 下载次数: 137)
|
|