当你按下A键时,电脑是怎么知道你按的是A键而不是其他键呢?

你把每个键位理解为一个开关,按下接通,弹起断开。

其实它就是一个开关,只不过开关样式不一样。别管机械式还是电容式,归根结底都是开关状态变化,就是0.1变化。

有了0和1,键盘芯片在提前已经编码的情况下就可以准确知道是哪一个按键按下了。你可以理解为每个键位都有一条通道芯片的路,芯片在每个路口都设了门岗。对应键位按下,就会及时通知对应门岗。因为一一对应,自然芯片就可以知道是哪个按键按下。

如果按键的通知系统,比如接触电容或机械开关坏了。又或者门岗擅离职守,比如芯片内部问题,再或者送信的这头路断了。都会造成按键无反应。

有时键盘芯片出下故障,比如门岗串岗了,那就会照成键位错误响应。你按A,电脑最终得到的不一定是A。




键盘内部有一个用于检测按键的芯片

键盘不仅仅是按键,它的内部还有芯片和线路的,每一个按键都通过行和列连接到一个专用芯片,芯片会根据按下的行和列位置来判断是那个键被按下,然后把键码传送给主机。

键盘是怎么识别按键的?

其实键盘上的每一个铵键都是一个开关,按下和释放代表着关和开两种状态。以单个按键为例,没有按下时,芯片(单片机)的输入口通过一个电阻连接到VCC,为高电平(在数字电路中为1),当按键按下后,芯片(单片机)的输入口连接到地,为低电平(在数字电路中为0)。

因为键盘的按键比较多,为了节省芯片的输入接口,往往通过行和列的组合来识别按键,键盘上的单个或者多个按键按下都可以被芯片识别出来。

当然,这些按键需要按键盘的标准摆放到规定的位置,因为每一个按键都设定好了指定的编码,当识别到按键按下时,芯片就会把这些标准的编码通过PS/2接口或者USB接口传送给电脑。

欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习

  • 记得点赞和评论哦!非常感谢!




首先我们要简单的想象一下键盘的结构:键盘上的每个按键都连接在控制芯片上。当我们按下某一个按键时,控制芯片就会把信息传到主板上。

现在的键盘采用的是矩阵式的结构。这样做的好处就是,不需要每一个按键都有一条线、一个接口(芯片接口)。比如下面的“Q、W、E、A、S、D、Z、X、C”9个按键,矩阵式的只需要6条线、6个接口,但如果每个按键单独连接芯片就需要9条线、9个接口。

矩阵式的键盘如何确定哪些按键按下了?

键盘上的按键其实就是一个一个的开关,当我们按下按键的时候,就接通了这一列和这一行的两条线。控制芯片通过电平的变化,就可以确定按下的是哪一个按键。

有点类似我们玩的水管工游戏

依次往R0、R1、R2这几个管道注水,当按下了按键时,有些管道就接通了,横着的C0、C1、C2管道自然会有水跑出来。

当按下S键时就会接通了上、下两个管道,R1里注入的水就会从C1跑出来。控制芯片通过查询编码表,“给R1注水的时候,C1也有水”,就可以确定按下的是“S”键。

当同时有两个按键被按下,相当于依次往几个管道注水。

  • 控制芯片往R0注水,C1有水流出来;
  • 控制芯片往R1注水,C1也有水流出来;
  • 控制芯片往R2注水,没有水流出来;.

控制芯片再通过查询编码表,就知道“A”键和“S”键被按下了。

但这种矩阵式结构存在一些问题

比如玩游戏的时候,同时按住“W”键和“A”键控制人物往左前方移动,前面突然跳出一个“怪兽”,就需要马上按下“Q”键切换出武器。这时,“Q”、“W”、“A”这三个键时处于同时被按下的状态。

  • 控制芯片往R0注水,C0、C1有水流出来;
  • 控制芯片往R1注水,C0、C1也有水流出来;
  • 控制芯片往R2注水,没有水流出来;

控制芯片这时一查表,传给主板的结果就是“Q”、“A”、“W"、"S"这4个按键都被按下了,结果就是被控制的人物突然站住不动了。这种情况下就是按键冲突,控制芯片误以为“S”键也被按下了。

要怎么解决按键冲突的问题呢?

方法就是挑战会产生冲突的线路,因为只有玩游戏的时候才会集中同时按下几个键。比如调整成下图这个样子,控制芯片编码表也跟着做一下调整。

还是同时按下“Q”、“W”、“A”三个键。

控制芯片往R0注水,C0有水流出来;

控制芯片往R1注水,C0、C1也有水流出来;

控制芯片往R2注水,没有水流出来;

控制芯片一查表,传给主板的结果就是“Q”、“W”、“A”三个键。这样就在一定程度上解决了同时按下一些按键会产生冲突的问题。

键盘的按键电路

基于上面的原理,就可以了解键盘按键的电路结构了。

01 以薄膜键盘为例,键盘按键电路被印刷在3张和A4纸差不多厚度的塑料薄膜上。

比如:将R、R1、R2电路印刷在第一层薄膜上,C0、C1、C2电路印在第二层薄膜上,它们之间再用一张薄膜把上、下两个电路隔开,再在中间这个薄膜的按键位置挖个孔。

当按键按下的时候,就会把上面的薄膜压得向下凹下来触碰到下面的薄膜,这样上、下两层的电路就接通了。

实际上上面依次给每个管道注水就是一个扫描的过程,为了第一时间发现有按键被按下,就需要每秒钟完成成百上千次的扫描,这个就是键盘上的轮询率。

02 以机械键盘为例,为了防止按键冲突,给每个按键增加了一个止回阀,防止水流到不该去的地方,导致按键识别错误。

还是同时按下“Q”、“W”、“A”三个键,再往R1注水的时候,水就不会像之前那样从“Q”键下面的管道流向“A”键下面的管道,从C1出来。基于这个电路,键盘中增加一块PCB板,止回阀就是二极管。二极管只能单向导通,电流只能从一个方向流过二极管。这样就解决了按键冲突的问题。

科技源于生活,牛顿当初也是被普通无奇的苹果砸到脑袋,才发现牛顿第二定律。任谁也不曾想到我们用的普通不能再普通的键盘竟然会潜藏如何高深的智慧。


以上个人浅见,欢迎批评指正。

认同我的看法,请点个赞再走,感谢!

喜欢我的,请关注我,再次感谢!




电脑说,我TM哪知道啥是A啥是B。我只知道有人按了一个开关,告诉我这是01010101之类的意思,至于显示器那王八蛋显示出来是A是B不是你们自己定义好的么。




我在打别人的时候,你怎么知道不是在打你?肯定是大脑没有接收到疼痛的信号呗,按键这个同理。




我又不是电脑,我怎么知道它是怎么知道我按A键它就知道是A键的?




不是的,光按下去电脑是不知道的,电脑只能识别到有键盘被按了,如果你想让电脑知道,必须大喊一声你要输的东西,比如你要输a,就要按的同时大喊一声a!,才可以,至于为什么键盘还需要那么多按键而不是只有一个,可能是因为造键盘的厂家想多挣点吧,情况就是这么个情况。




这个得写内存,CPU 内部没有A ,CPU 只负责运算与搭桥!

我随便定义一个键盘有100个摁键,在接100个电阻,这100个电阻分别为1欧,10欧,20欧,30欧直到1000欧也就是1K 欧姆。我们都知道电阻可以限制电流,排列好后,这时候整个键盘逻辑已经搭配好!

但键盘上的摁键不知道那个是A ,所以我们要做一个小芯片用来识别这些键盘,那么我用数字1234567890用10到100欧的电阻来代表,然后采样!如何采样呢?就需要用到芯片来采样,芯片内部我们用100个放大电路,也要排列好阻值,当我摁10欧姆摁键导通,那么这个放大电路接收信号最小5欧最大15欧可以通过,低于是无法接收到,记住是100个放大电路相当于内部拥有100个三极管,每个三极管接收信号阻值都不一样,这样我们才好采样模拟。

当放大电路接收到信号后,三极管导通,通电,这时候只是开关,你们非常纳闷难道要用到100个引脚吗?当然不用,2个引脚就可以,还要设计一个输入电路与输出电路,也是采用三极管放大电路,那100个三极管你把它看成一个占内存或暂存器,当我摁住10欧姆电阻触发改变电流的速度。总共有100不同的电流,100个不同信号,100剩100不同的逻辑搭配。这是一个专用摁键芯片指令,只负责控制!

从键盘芯片指令进入CPU 指令,CPU 要采样键盘指令,就要进入运行内存内部找你写好的程序是否相同符合。符合识别成功,在内存内部写好端口采样指令,毕竟有上百万上千万不同短波长波,不能重复,如果你写的无线接收代码波长与键盘波长一样,CPU 可能选择优先级把无线当做摁键波长来用,所以不能重复同样波长。

波长又叫波特率,是采用晶振震动来采样,比如我摁一秒调用0.5M 速率,那么0.5M 的速率为键盘,每50个波段为10欧,波段指的是高低电平,比如这样说,我最低电平为0伏或1.2伏,最高3.3,那么就用1.2伏来做低电平,3.3做高电平,低高为1峰波,那么50个就是10欧姆,100个就是20欧姆,如果采样过程30-70为标准,如果超过70那么CPU 就会告诉内存说,是20欧姆电阻,这些都要设定好,调试好,不能乱一步一步的来。

那么计算机你输入A 转换模拟一次波长,对比一下相同符合,就会显示A ,一般学编程的用不到,毕竟这个别人写好了,你们应用就可以,每个编程语言都已经定义好了,不需要你写,已经在编辑芯片指令时候已经是固定好的。不是做芯片制造与设计是用不到。

中央处理器是个大号,是多功能处理器,总共拥有几十万个放大电路,几百个上千个计算模块,几千个暂存器,CPU 内部晶体占用最多晶体数量就是暂存器,暂存器内存越大缓冲越好,性能越稳定,支持更高速率读取,如果一个CPU 十亿个晶体管,暂存器就要占5亿左右甚至8亿!计算模块只是走线多非常复杂,也是整个计算机的核心技术,这部分电路用于二到十六进制不等计算,每增加一个进制,线路就要增多2倍到10倍数量,所以至今为止只弄到十六进制,如果达到64进制,目前来说是用不到,除非量子计算,毕竟材料导电问题,没有人敢用。

所以计算机码表最大是16进制,如果17进制,F就多一个字母G了,别小看多了一个数,接线接死你,光改图纸就要你头疼。你们以为是二进制,那是不对的,是二到16进制暂时这样,我相信再过20年能用上64进制码表,到时候一个芯片只有指甲大就要入植几万亿颗半导体,想想一下非常激动




卧槽我今天正在思考这个问题,放心里没说出来呢,头条怎么会感知得到?居然推送得这么及时,太恐怖了




当有人摸你的大腿时,你怎么知道是摸你的大腿的?

展开阅读全文

页面更新:2024-05-16

标签:门岗   键位   码表   波长   薄膜   电阻   水流   指令   按键   管道   电路   芯片   冲突   接口   键盘   数码   电脑

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top