奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 340 页

PDF 物理页索引 356 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
340
PDF 物理页
356(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
e3db5121f005b5585828d871d9f7b3bac802d3fced0597c8266c261d67e3c33c

计算机的键盘有100多个按键,但类似于打字机的键盘可能只有48个按键。

如果要让连接到计算机上的键盘能正常工作的话,就需要配备一些硬件来为每个按键提供唯一的代码,以便区分哪一个按键被按下了。假定这个代码就是按键的ASCI码,这样可行吗?你的答案或许是肯定的,但要设计出能识别ASCI码的硬件却是不切实际的。举例来说,键盘上的按键A对应的ASCI码可能是41h,也可能是61h,具体是哪个,还取决于用户是否按下了Shift键;另外,现在计算机键盘上有很多的按键并没有ASCII码与之对应。我们称键盘硬件提供的代码为扫描码(scan code)。当按下键盘上的某个按键时,一小段计算机程序就会计算出这个按键对应的ASCI码(如果有的话)。

这里为了避免键盘硬件的电路图太复杂,假设键盘上只有16个按键。任何一个按键被按下,键盘硬件就会产生一个4位的代码,二进制数值范围是0000到1111。

键盘硬件包含了一些前面曾讲过的部件,如下图所示。

编码隐匿在计算机软硬件背后的语言

340