利用单片机改造键盘接口
1 引 言
80年代由国外引进的这种数控车床,原控制面板是由一台终端机,一个终端机专用键盘和一个用于控制车床的触模键盘组成。经过多年的使用,控制面板和专用键盘均出现了故障,该车床已停止使用。而该控制系统使用的终端机及其专用键盘又很特殊,国内市场无此类型的产品可直接替换,如果要恢复系统的正常工作,必须研制替代产品。为此在对其控制系统电路的工作原理进行充分分析后,决定对其控制面板上的转换接口板进行全面改造,下面就新转换接口板中的硬件和软件进行介绍。
2 原控制面板的基本工作原理
在正常情况下,通过触模键盘输入到终端机的数据通过RS—232口发送到车床的控制主机,再由控制主机控制车床进行工件的加工。由于触模键盘是一种特殊的键盘,要求该键盘发送到终端机的数据为一组特殊代码,以区别于终端机专用键盘所产生的代码。触模键盘只对车床的控制起作用,不能对终端机进行有关的参数设置,因此必须用专用键盘对终端机进行操作。专用键盘可以对终端机的操作方式、参数及复杂计算进行设定。设备工作时两个键盘可以同时操作,它们采用了如图 1所示的连接方法。
3 新转换接口板的设计原理
首先选择了一种性能优良、工作稳定可靠的国产终端机(BG— 200中西文图形显示终端机)代替原来型号特殊的终端机。新终端机的键盘采用的是一种普通的PC/XT键盘,由于该终端机的键盘接口与原终端机接口完全不一样,故原转换接口板已无法使用,需要重新研制新的转换接口板。在研制新接口的时候考虑到其使用场合的特殊性,需要接口板工作稳定可靠,同时具有二次开发的可能性(如果需要还可更换其它类型的终端机,键盘接口也可能需要改变)。另外,设计时为使硬件线路尽量简单,在键盘串行数据的处理上采用了软件方式(这种方法也为二次开发提供了可能性)。其硬件电路工作原理如图2所示。
从图2中可以看出,新板与原板完成的功能是相同的,均要完成两个键盘代码的接收,并将接收到的代码向终端机发送。PC/XT键盘连接的键盘接口的设计有别于传统设计方法,设计时没有采用以硬件方式实现键盘数据的接收和发送,而是采用软硬件结合的方法实现键码的接收与发送,从而可以使键盘接口电路简化很多。触模键盘采作了行/列扫描方式读取键码,并通过查表获得对应的两字节代码。在转接板的处理器选择时,根据所使用的具体场合,要求处理器既具有较强的位处理功能,以实现数据的串/并、并/串转换,同时在构造触模键盘电路时线路应尽可能的简化,而且还要求其工作稳定可靠。综合以上各种因素,决定选择 AT89C52单片机作为处理器。该处理器由于其自身具有512字节的RAM,8K的EPROM,4个I/O口,可处理2个外部中断源信号,具有能够满足设计所要求的各种功能,可以使硬件设计线路大大简化,因此AT89C52单片机应用在该场合是一种比较理想的器件。下面就各部分电路及相关软件进行介绍。
3.1 触模键盘的扫描原理
如图3所示。采用74LS159和74LS150芯片结合单片机的P2口和P33引脚,完成对触模键盘的扫描和键码的读取工作,再通过软件进行代码变换,形成双码。单片机的P33引脚用于检查键盘的状态(当该线状态为低电平时表示无键被按下,为高电平时表示有键被按下)。具体的扫描原理是由软件通过单片机P2口的低4位输出一个十六进制代码,通过74LS159十六选一译码电路产生一为低电平的行扫描信号。然后再通过P2口上的高4位输出一个十六进制的列扫描码,通过74LS150十六选一电路读出对应列线的状态。当74LS150的Q信号有效时说明行列交点上的键被按下,在AT89C52芯片中形成被按下键的键码,并由此通过查表形成特殊的双码后送入接收缓存,由发送程序将接收缓存中的代码发送给终端机。对应的软件程序流程如图4所示。
3.2 与PC/XT键盘连接的转换接口完成的工作
PC/XT键盘代码的接收是通过触发AT89C52单片机的外部中断,由中断处理程序完成一次对键盘输入代码的接收。PC/XT键盘的数据接收采用了软件与硬件相结合的处理方法,其原理如图5所示。
当PC/XT键盘的某个键被按下时,键盘的时钟线产生键盘时钟信号CLK,在CLK的第一个下降沿时使 AT89C52的外部中断源INTO有效触发外部中断,AT89C52响应中断后,进入中断处理程序,转换接口板开始接收键盘数据。PC/XT键盘数据由 9位二进制数组成,在每个CLK下降沿时读取DATA线上的数值,并对读到的数值依次进行左移操作。当连续读取了9位数据后,第9位移入进位位(最先得到的是起始位),若为“1”则说明本次接收合法,将所接收的一个字节数据送
- μC/OS-II下通用驱动框架的设计与实现(07-23)
- 基于S3C44B0X+μcLinux的嵌入式以太网设计(07-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)
- DSP和Flash接口技术的实现(08-15)
- dsPIC33F系列DSC的 SD存储卡接口设计(01-05)