打印

电脑键盘的按键是怎么识别的?

[复制链接]
8869|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dy6258|  楼主 | 2010-12-17 15:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
andy2003hu| | 2010-12-17 15:52 | 只看该作者
键盘里面也有MCU的

使用特权

评论回复
板凳
coody| | 2010-12-17 16:18 | 只看该作者
键盘里一般有超过20根IO在扫描。。。
难道LZ认为键盘的100多个键就是直接挂在USB上的?

使用特权

评论回复
地板
laoliang3064| | 2010-12-17 16:28 | 只看该作者
键盘里一般有超过20根IO在扫描。。。
难道LZ认为键盘的100多个键就是直接挂在USB上的?
coody 发表于 2010-12-17 16:18
:lol

使用特权

评论回复
5
focuson| | 2010-12-17 16:48 | 只看该作者
电脑键盘工作原理

随着IBM PC机的发展,键盘也分为XT, AT, PS/2键盘以至于后来的USB键盘. PC系列机使用的键盘有83键、84键、101键、102键和104键等多种。XT和AT机的标准键盘分别为83键和84键,而286机以上微机的键盘则 普遍使用101键、102键或104键。83键键盘是最早使用的一种PC机键盘,其键号与扫描码是一致的。这个扫描码被直接发送到主机箱并转换为 ASCII码;随着高档PC机的出现,键盘功能和按键数目得到了扩充,键盘排列也发生了变化,产生的扫描码与83键键盘的扫描码不同。为了保持PC系列微 机的向上兼容性,需将84/101/102/104键键盘的扫描码转换为83键键盘的扫描码,一般将前者叫作行列位置扫描码,而将后者称为系统扫描码。显 然,对于83键键盘,这两种扫描码是相同的。

键盘是由一组排列成矩阵方式的按键开关组成,通常有编码键盘和非编码键盘两种类型,IBM系列个人微型计算机的键盘属于非编码类型。微机键盘主要由单片 机、译码器和键开关矩阵三大部分组成。其中单片机采用了INTEL8048单片微处理器控制,这是一个40引脚的芯片,内部集成了8位 CPU、1024×8位的ROM、64×8位的RAM、8位的定时器/计数器等器件。由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产生,是由 键盘内部的单片机通过译码器来实现的。单片机在周期性扫描行、列的同时,读回扫描信号线结果,判断是否有键按下,并计算按键的位置以获得扫描码。当有键按 下时,键盘分两次将位置扫描码发送到键盘接口;按下一次,叫接通扫描码;释放时再发一次,叫断开扫描码。因此可以用硬件或软件的方法对键盘的行、列分别进 行扫视,去查找按下的键,输出扫描位置码,通过查表转换为ASCII码返回。

键盘是与主机箱分开的一个独立装置,通过一根5芯电缆与主机箱连接,系统主板上的键盘接口按照键盘代码串行传送的应答约定,接受键盘发送来的扫描码;键盘 在扫描过程中,7位计数器循环计数。当高5位(D6一D2)状态为全“0”时,经译码器在O列线上输出一个“0”,其余均为“1”;而计数器的低二位 (D1D0)通过4选1多路选择器控制0—3行的扫描。计数器计一个数则扫描一行,计4个数全部行线扫描一遍,同时由计数器内部向D2进位,使另一列线1 变低,行线再扫描一遍。只要没有键按下,多路选择器就一直输出高电平,则时钟一直使计数器循环计数,对键盘轮番扫描。当有一个键被按下时,若扫描到该键所 在的行和列时,多路选择器就会输出一个低电平,去封锁时钟门,使计数器停止计数。这时计数器输出的数据就是被按键的位置码(即扫描码)。8048利用程序 读取这个键码后,在最高位添上一个“O”,组成一个字节的数据,然后从P22引脚以串行方式输出。在8048检测到键按下后,还要继续对键盘扫描检测,以 发现该键是否释放。当检测到释放时,8048在刚才读出的7位位置码的前面(最高位)加上一个“1”,作为“释放扫描码”,也从 P22引脚串行送出去,以便和“按下扫描码”相区别。送出“释放扫描码”的目的是为识别组合键和上、下档键提供条件。

同时,主机还向键盘发送控制信号,主机CPU响应键盘中断请求时,通过外围接口芯片8255A一5的PA口读取键盘扫描码并进行相应转换处理和暂存;通过PB口的PB6和PB7来控制键盘接口工作。

从用途上看,键盘可分为台式机键盘、笔记本电脑键盘和工控机键盘三大类;其中台式机键盘从按键结构上又可分为两类,即机械键盘和电容键盘(又称有触点键盘 和无触点键盘)。机械键盘存在着开关容易损坏、易污染、易老化的缺点,现已基本淘汰。电容键盘在可靠性上比前者有质的飞跃,使用寿命较长,目前大多为电容 键盘。

早期的键盘是由美国IBM公司推出的,当时采用的计算机键盘为83键键盘。不久IBM又推出了84键的键盘设计标准,将键盘分为三个区,即功能区、打字键 区及负责光标控制和编辑的副键盘区,这种键盘主要区域的划分标准一直沿用至今。随着微软Windows视窗操作系统的广泛应用,IBM公司于1986年首 次推出了101键的标准键盘,除添加了F11、F12两个功能键之外,还在键盘的中部多加了一组专用的光标控制和编辑的键,使键盘功能得到了进一步扩充, 成为当时业界的标准键盘。后来,为与微软的Win95操作系统相配合,IBM又推出了104键键盘,新增了3个功能键(亦称Windows快捷键或热键 <HotKey>),使以前需要打开好几个窗口才能完成的某些功能,通过快捷键的设定直接启动菜单完成,而不必再点击鼠标,这样就使计算机的 操作更加便易。目前,这种104键的键盘(亦称Win95键盘)的设计已成为业界和市场上最为普遍、最为流行的一种标准,业界通称为标准键盘。实际上,所 谓的标准键盘并没有标准,只因其应用较为广泛而被业界通称为标准键盘。由于软件的不断升级更新,为配合软件的需要,所谓的标准键盘的键数也在随之扩增,并 因其又被业界所通常采纳而又被业界通称为标准键盘。

使用特权

评论回复
6
chunyang| | 2010-12-17 17:22 | 只看该作者
PC键盘内是交叉阵列结构,MCU扫描后通过串行接口(AT、PS2、USB都是串行接口)与PC互联。

使用特权

评论回复
7
batsong| | 2010-12-17 21:39 | 只看该作者
现在的键盘可能有更新的扫描技术,一般是7键无冲突,顶级的全部按下无冲突

使用特权

评论回复
8
OverLook| | 2010-12-18 12:33 | 只看该作者
;P

使用特权

评论回复
9
liang7143| | 2010-12-18 13:20 | 只看该作者
全部工作都一个人干~~会迷糊的;P

使用特权

评论回复
10
dy6258|  楼主 | 2010-12-20 18:36 | 只看该作者
看来是我OUT了,:'(三**了。。。

使用特权

评论回复
11
huangqi412| | 2010-12-20 20:33 | 只看该作者
;P

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

101

帖子

1

粉丝