键盘及其接口电路

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、 键盘及其接口电路

1. 键盘的分类

1)什么是键盘?

是由一组规则排列的按键组成,它主要由键开关和键扫描电路两部分组成。

2)键盘的分类

① 按其构造原理可以分为两类:

一类是触点式开关按键,另一类是无触点开关按键;

② 从接口原理上可分为:

编码键盘和非编码键盘。其区别是识别键符及给出相应键码的方法不同。 编码键盘主要是用硬件来实现对键的识别,缺点是经济开销大;

非编码键盘主要是由用户软件来实现键的定义与识别。

2、按键的结构和特点

键盘是计算机必备的输入设备,数据录入大多数是通过击键完成的,DOS 方式下的多数操作也是通过键入命令行来执行的。和CRT 显示器一样,键盘是一个单独的部件,通过一根五芯电缆接到机箱背面的圆形键盘插座上。

按物理结构分,键盘有机械式、

薄膜式和电容式三种。电容式键盘采用无触点按键,触

感好,操作灵活。按键盘键数分,常见的有83/84键、101/102

键等。Windows95面市后,在101/102键盘的基础上改进而推

出104/105键。目前微机以配备101/102键、104/105键电容式

键盘的居多。

在微机系统中运用的按键,通常仅需提供逻辑的通与断,

其机械结构往往是比较简单的。构成形式可如图12. 1所示。

它主要的功能是把机械上的通断转换成电气上的逻辑关系。也

就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。在按键电路中的电阻R用于限制其中流过的电流。从按键的定位方式看,它有无锁的、自锁的和互锁的。在逻辑上它们等效于单稳态、双稳态和多稳态。在计算机系统中,常用的是机械结构最简单的无锁单稳式的按键(常态为开路),它的工作寿命可达100万次以上。借助于软件设置的特定的标志位,无锁按键可以具有类同于机械结构或电路硬件所提供的自锁或互锁功能。

3、键开关矩阵

键盘是由许多键按某一规律排列而成的设备。每个键代表一定的信息,键位置的排列要按照人们的使用习惯来安排。在键盘内部,各键开关的两个端常用矩阵形式连接,以便使接线最简单。图12. 2是一种有触点键盘的矩阵,各行线可以逐行加上低电平的输入,各列线的一端接电源,而另一端供检测用。当无键按下时,接入数据线供检测的各列线均为高电平。当行线中某一线为低电平,而却好与此相连的某一键按下,相应的列线(接入数据线)就变低。通过程序的检测就可以查出是哪个键按下。

4、简单键盘接口的扫描原理

见图12.3。

该接口用了两个I/O端口,一个用作行扫描码的输出KBOUT,另一个用作列检测码输入KBIN。行线为扫描输入,列线为扫描输出。

其原理如下:

先使行线输入锁存器各位置“1”,经反相驱

动后,各行线全部为低电平。列线输入的数据各

位全为高电平,经缓冲器送上数据线被CPU读

取,此时全为“1”说明没有键按下,相反如果

发现其中有“0”输入,说明有键按下,只有当

确认有键按下时,才进行行扫描。

扫描的方法是使行线逐条地变为低电平,读列

值以确定所按的键在哪条行线上和哪条列线上。

5、消抖动

键开关在按下和释放时,通常伴随着一定时间的触点抖动,接着才能稳定下来,如图12. 4所示,在触点抖动期间,检测按键的通与断状态,可能导致判断出错。即一次按下或释放被错误地认为多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,可采用双稳触发器硬件来抑制其逻辑信号的抖动,硬件去抖动电路如图12. 5所示,双稳触发器一旦翻转,触点抖动的浮空对他不会有任何影响。硬件去抖动的方法是采用一个R-S触发器,由R-S触发器的特性阻止抖动信号传到CPU中去。图中所用的是一个单刀双掷开关,这种开关有一个常开触点和常闭触点,它总是处于两种状态之一。当开关从常闭向常开方向打时,NC一端产生后沿抖动,而NO一端则产生前沿抖动,RS触发器Q 端原为“1”,由于开关从NC打到NO,使得Q端从“1”变为“0”,这样无论NO端怎样抖动,总使Q端为低,这样就达到了去抖动的目的。

另外,当检测到按键被按下或释放时,也可利用软件延时避开触点机械抖动的影响,通常只要延时大于20ms都能避开抖动持续时间,然后确认按键的通或断状态。

经测试,各种不同键开关的抖动时间大约在几~十几毫秒范围内。软件方法就是在检测到有键按下以后,CPU用软件产生约20ms的延时,然后再进入扫描检测程序。因为20ms 后键开关已经进入稳定状态,只要键仍被按着就一定会被检测出来。

6、非编码键盘接口

1)工作原理

1)工作原理

简单的非编码键盘像一组按钮开关,通常连接成矩阵结构,使硬件最省,这对于键的数量较多的键盘是十分必要的。见12.6。

2)键扫描法的过程

①CPU通过接口,先将第一行线送“0”(接地);

②CPU通过接口,检查每一根列线,是否有一根线接地。若有,则说明该列有一个

键按下,记下行和列,查键值表;

③否则,将第二行线送“0”,并继续进行②项工作,直至找出第X行,第Y列被按下的键为止。

七、有关程序

在了解键盘扫描的基本过程后,下面我们将结合一个4*4矩阵的简易键盘,如图12. 3那样,给出键盘扫描程序。

(1)查是否有键按下

SEC: MOV AL, 0FH

OUT KBOUT, AL;使输出四条行线为全“0”

IN AL, KBIN ; 读入列线状态

AND AL, 0FH ; 屏蔽无用位

CMP AL, 0FH ; 是否有为“0”的列线

JZ DISP 没有,回主程序中的显示段 JMP ANLS 有,转键分析程序

(2)键分析程序

ANLS : M OV BL,

00H ; 键编号,使从00号开始

MOV BH, 01H ; 扫描的起始状态 MOV CX, 0004H ; 扫描次数计数

TWO : M OV AL, BH

OUT KBOUT , A L ; 扫描一行,即使一行为低电

IN AL, KBIN ; 读入全部列线状态

AND AL, 0FH

CMP AL, 0FH ; 对有用位进行比较 JNZ ONE 是此行有键按下,转找列线

程序段

ROL BH 没有找到,左移一位,改变

扫描行

ADD BL, 04H ; 键号的起始值随扫描行以

4增加

LOOP TWO CX 减量尚未到0时,程序

循环,扫描下一行

JMP DISP

ONE : RCR AL ,

用移位对进位位判断是否

相关文档
最新文档