您当前的位置:五五电子网电子知识单片机-工控设备51单片机基于AT89C51的操控键盘的设计 正文
基于AT89C51的操控键盘的设计

基于AT89C51的操控键盘的设计

点击数:7316 次   录入时间:03-04 11:55:44   整理:http://www.55dianzi.com   51单片机
引   言

在一些自动化测量或智能设备中,微机作为控制中枢,对多个功能单元进行控制与管理,以实现仪器设备的系统功能。键盘是人机通信的基本设备,操作者通过它完成对设备的操控。 PC 机通用键盘是与主机分开的独立设备,其结构外形已经固定,需要较大的安装空间。但在所研制的产品设备中,系统上 电运行 后,往往只需通用键盘中的少量按键即可完成人机通信或控制,如数字键 O ~ 9 、→、←、↑、↓、 Esc 等按键。在这种情况下,因为结构尺寸的限制,并为了使操控方便、设备简化等,不便采用通用键盘,而需使通用键盘小型化,并且与产品设备融为一体。因此需要研制小型一体化专用键盘。

采用小型一体化专用键盘不但可完成按键的功能,而且要求根据仪器外形进行一体化优化设计,使产品外型美观、布局合理。小型一体化专用键盘不仅适用于一般的仪器控制系统,而且可以用于军工加固计算机系统中。军工产品中的微机多为加固 PC 类计算机,其采用 PC 机通用键盘。本文以 PC 机通用键盘为例,阐述研制小型一体化专用键盘的方法。

1  设计原理

PC 机通用键盘通过“ PS / 2 ” 5 芯电缆与主机相连。该 5 芯电缆是键盘与主机之间信息与数据传输的路径,定义如下: 1 端, RESET ; 2 端, +5 V ; 3 端, CLOCK ; 4 端,地; 5 端,按键波形。其中 1 、 2 、 4 端的信号由主机内部确定; 3 端为时钟信号 CLOCK ; 5 端为按键波形,此波形随按下按键的不同而变化。

采用本文介绍的 单片机 控制系统和软件编程的方法,可以准确模拟按键波形,使小型专用键盘的按键波形与 PC 机通用键盘对应按键波形一致。具体方法如下:首先用示波器测出 PC 机通用键盘各按键按下时的波形,并保存起来;然后用单片机控制系统和软件编程模拟出各按键的 CLOCK 波形和按键波形,并确保各按键的 CLOCK 波形和按键波形时序匹配、形状逼真,再将按键信息通过 5 芯电缆传输给主机。所选按键可根据需要安装在产品的面板上等易于操作的地方。当操作者 按下某键时 ,单片机控制系统产生相应的 CLOCK 波形与按键波形送给主机,实现按键功能。这样就完成了小型专用键盘的设计。

2 硬件电路及软件

2 . 1  单片机 控制电路

采用 单片机 系统实现小型专用键盘的硬件电路,如图 1 所示,设计完成的小型专用键盘的按键有 18 枚,排成 6 行× 3 列的矩阵。单片机可根据需要安装在主机内部的接口板上,按键则安装在产品的面板等易操作的地方。当按下某按键时,单片机控制系统将产生的 CLOCK 信号与按键信号通过“ PS / 2 ” 5 芯电缆传送给主机。此硬件电路简单,可充分利用软件编程来模拟按键波形,实现键盘功能。系统要判断某一按键是否按下,可以利用软件逐一查询 6 行× 3 列矩阵中的按键,然后输出相应的按键模拟波形,从而实现按键功能。



2 . 2  举   例

下面以按键“ 8 ”为例,说明如何从 PC 机通用键盘中“取出”所需按键,并保持各按键功能,形成小型专用键盘。首先用示波器测出在 PC 机通用键盘上按下“ 8 ”键时, 5 芯键盘通信电缆的 3 端和 5 端的波形。按键“ 8 ”的波形测量波形如图 2 所示。



示波器通道 1 指示信号电缆 3 端的 CLOCK 波形,通道 2 为电缆 5 端的按键“ 8 ”的波形。用 单片机 软件编程模拟图 2 所示波形。按照图 1 所示硬件电路,编程使单片机 89C 51 的 P2 . 4 端产生 CLOCK 波形, P2 . 6 端产生按键波形; P2 . 4 端与 5 芯键盘电缆的 3 端相连, P2 . 6 端与电缆的 5 端相连。当操作者按下产品面板上的“ 8 ”键时,程序执行模拟“ 8 ”键波形的子程序,并将模拟出的波形传送给主机,这样就完成了按键“ 8 ”的设计。用同样的方法,可以设计出小型专用键盘上其他按键。

3 设计中要注意的问题

3 . 1  准确地模拟按键波形

每一枚按键的波形包括电缆 3 端的 CLOCK 波形与电缆 5 端的按键波形。各按键的 CLOCK 波形相同,如图 2 所示通道 1 的波形,由 10 个脉宽为 40 μ s 且间隔也为 40 μ s 的脉冲和 1 个脉宽为 500 μ s 的脉冲形成 CLOCK 波形;而 5 端的按键波形则因按键的不同而各异。要准确地模拟按键波形并使之时序匹配,即准确地计算出脉冲的宽度,必须精确地计算出时间常数,做好延时程序。如果 单片机 控制电路采用 12 MHz 晶振,则一个机器周期为 1 μ s ,时间常数 X 的计算公式为:

( 循环体字节数 ) ×机器周期×时间常数 X= 延时时间

在上式中,循环体字节数、机器周期、延时时间都已知,则时间常数 x 易求得。例如,延时 1 ms 程序如下:



利用上面公式可得到: (1+1+2) × 1 × X 一 1 000 μ s 则 X=250 μ s ,将其带入上面的程序段中,执行该段程序,能实现 1 ms 精确延时。准确地计算出时问常数,精确地实现延时,就能确保模拟波形的准确性。 3 . 2 按键的抖动问题

凡有按键操作的系统,在设计中一般都要考虑按键的去抖。由于按键的机械触点有弹性作用,在闭合及断开瞬间均有抖动过程,抖动的时间长短与开关的机械特性有关,一般为 5 ~ lO ms 。为了保证按键的 1 次闭合仅作 1 次按键输入处理,就必须消除按键抖动对系统的影响。

采用软件编程消除按键抖动影响的方法是:当检测到某一按键按下时,执行相应模拟按键波形的子程序后,应再判断该键是否弹起,若没有弹起则等待,直至按键弹起;按键弹起后,延时 20 ms 再继续执行后面的程序,以消除按键抖动现象。

3 . 3  同行多个按键同时有效的问题

[1] [2]  下一页


本文关键字:键盘  51单片机单片机-工控设备 - 51单片机