PS键盘接口程序设计总结.doc

上传人:marr****208 文档编号:133554313 上传时间:2020-05-28 格式:DOC 页数:9 大小:295.50KB
返回 下载 相关 举报
PS键盘接口程序设计总结.doc_第1页
第1页 / 共9页
PS键盘接口程序设计总结.doc_第2页
第2页 / 共9页
PS键盘接口程序设计总结.doc_第3页
第3页 / 共9页
PS键盘接口程序设计总结.doc_第4页
第4页 / 共9页
PS键盘接口程序设计总结.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《PS键盘接口程序设计总结.doc》由会员分享,可在线阅读,更多相关《PS键盘接口程序设计总结.doc(9页珍藏版)》请在金锄头文库上搜索。

1、第二章PS2键盘接口程序设计总结2.1 PS/2键盘接口简介键盘上包含了一个大型的按键矩阵,它们是由安装在电路板上的处理器(叫做“键盘编码器”)来监视的。具体的处理器在键盘与键盘之间是多样化的,但是它们基本上都做着同样的事情:监视哪些按键被按下或释放了,并传送适当的数据到主机。如果有必要,处理器处理所有的去抖动并在它的16 字节缓冲区里缓冲数据。你的主板包含了一个“键盘控制器”,负责解码所有来自键盘的数据,并告诉你的软件什么事件发生了。在主机和键盘之间的通讯使用IBM 的协议。2.1.1 扫描码键盘的处理器花费很多的时间来扫描或监视按键矩阵。如果它发现有键被按下、释放或按住,键盘将发送“扫描码

2、”的信息包到计算机。扫描码有两种不同的类型:“通码”和“断码”当一个键被按下或按住就发送通码;当一个键被释放就发送断码。每个按键被分配了唯一的通码和断码,这样主机通过查找唯一的扫描码就可以测定是哪个按键。每个键一整套的通断码组成了“扫描码集”。有三套标准的扫描码集分别是第一套、第二套和第三套。所有现代的键盘默认使用第二套扫描码。2.1.2 通码、断码和机打重复率只要一个键被按下,这个键的通码就被发送到计算机。记住通码只表示键盘上的一个按键,它不表示印刷在按键上的那个字符。这就意味着在通码和ASCII 码之间没有已定义的关联。直到主机把扫描码翻译成一个字符或命令。虽然多数第二套通码都只有一个字节

3、宽,但也有少数扩展按键的通码是两字节或四字节宽。这类的通码第一个字节总是为“E0h”。正如键按下通码就被发往计算机一样,只要键一释放断码就会被发送。每个键都有它自己唯一的通码,它们也都有唯一的断码。幸运的是你不用总是通过查表来找出按键的断码。在通码和断码之间存在着必然的联系,多数第二套断码有两字节长它们的第一个字节是“F0h”, 第二个字节是这个键的通码。扩展按键的断码通常有三个字节,它们前两个字节是“E0h”,“F0h” ,最后一个字节是这个按键通码的最后一个字节。例如:通码和断码是以什么样的序列发送到你的计算机,从而使得字符“G”出现在你的字处理软件里的呢?因为这是一个大写字母,需要发生这

4、样的事件,次序按下“Shift”键,按下“G”键,释放“G”键,释放“Shift”键,与这些时间相关的扫描码如下:“Shift”键的通码12h,“G”键的通码“34h”,“G”键的断码“F0h,34h”,“Shift”键的断码“F0h,12h”。因此发送到你的计算机的数据应该是“12h ,34h, F0h ,34h, F0h,12h”。如果你按了一个键,这个键的通码被发送到计算机,当你按下并按住这个键,则这个键就变成了机打着,就意味着键盘将一直发送这个键的通码直到它被释放或者其他键被按下。要想证实这点只要打开一个文本编辑器,并按下A 键当你首先按下这个键字符a 立刻出现在你的屏幕上在一个短暂的

5、延迟后,接着出现一整串的a 直到你释放A 键。这里有两个重要的参数:机打延时是第一个和第二个a 之间的延迟,机打速率是在机打延时后每秒有多少字符出现你的屏幕。上机打延时的范围可以从0.25 秒到1.00 秒,机打速率的范围可以从2.0cps(字符每秒)到30.0cps。你可以用Set Typematic Rate/Delay “0xF3”命令来改变机打速率和延时。2.1.3、复位在上电或软件复位(见Reset 命令)后,键盘执行诊断自检,叫做BAT(基本保证测试)并载入如下的缺省值: 机打延迟为500ms。 机打速率为10.9cps。* 第二套扫描码集。* 置所有按键为机打/通码/断码。* 所

6、指的项在某些键盘上时可变的,而在其他键盘上时硬件编码的不可变。当进入BAT,键盘点亮它的三个LED指示器,并在完成BAT 后关闭它们。此时,BAT完成代码要么“0xAA” BAT成功或“0xFC”有错误被发送到主机。多数键盘忽略它们的时钟和数据线直到BAT完成代码发送后。所以“抑制”条件时钟线拉低可能不能防止键盘发送它们的BAT完成代码。2.1.4、命令集每个发送到键盘的字节都从键盘获得一个0xFA(应答)的回应,唯一例外的是键盘对Resend和Echo命令的回应。在发送下一个字节给键盘之前,主机要等待“应答”。键盘应答任何命令后清除自己的输出缓冲区。下面列出了所有可能被发给键盘的命令: 0x

7、FF (Reset)引起键盘进入Reset 模式(见复位部分)。 0xFE (Resend)用于只是在接收中出现的错误。键盘的响应就是重发送最后的扫描码或者命令回应给主机。但是0xFE绝不会作为Resend命令的回应而被发送。 *0xFD (Set Key Type Make)允许主机指定一个按键只发送通码。这个按键不发送断码或进行机打重复。指定的按键采用它的第三套扫描码。 *0xFC (Set Key Type Make/Break)类似于Set Key Type Make,只有通码和断码是使能的(机打被禁止了)。 *0xFB (Set Key Type Typematic)类似于前两条命令

8、通码和机打是使能的,而断码被禁止。 *0xFA (Set All Keys Typematic/Make/Break)缺省设置所有键的通码、断码和机打重复都使能(除了Print Screen 键,它在第一套和第二套中没有断码)。 *0xF9 (Set All Keys Make)所有键都只发送通码;断码和机打重复被禁止。 *0xF8 (Set All Keys Make/Break)类似于前两条命令,除了机打重复被禁止外。 *0xF7 (Set All Keys Typematic)类似于前三条命令仅断码被禁止,通码和机打重复是使能的。 0xF6 (Set Default)载入缺省的机打速率/

9、延时(10.9cps/500ms),按键类型(所有按键都使能机打/通码/断码),以及第二套扫描码集。 0xF5 (Disable)键盘停止扫描,载入缺省值键Set Default 命令,等待进一步指令。 0xF4 (Enable)在用上一条命令禁止键盘后,重新使能键盘。 0xF3 (Set Typematic Rate/Delay)主机在这条命令后会发送一个字节的参数来定义机打速率和延时,具体含义如表2.1、2.2所示。表2.1 Repeat RateBits0-4Rate(cps)Bits0-4Rate(cps)Bits0-4Rate(cps)Bits0-4Rate(cps)00h2.008

10、h4.010h8.018h16.001h2.109h4.311h8.619h17.102h2.30Ah4.612h9.21Ah18.503h2.50Bh5.013h10.01Bh20.004h2.70Ch5.514h10.91Ch21.805h3.00Dh6.015h12.01Dh24.006h3.30Eh6.716h13.31Eh26.707h3.70Fh7.517h15.01Fh30.0表2.2 DelayBits5-6Delay(seconds)00b0.2501b0.5010b0.7511b1.00 *0xF2 (Read ID)键盘回应两个字节的设备ID,0xAB、0x83。 *0x

11、F0 (Set Scan Code Set)主机在这个命令后发送一个字节的参数,是定键盘使用哪套扫描码集。参数字节可以是0x01、0x02或0x03分别选择扫描码集第一套、第二套或第三套。如果要获得当前正在使用的扫描码集,只要发送带0x00参数的本命令即可。 0xEE (Echo)键盘用“Echo”0xEE 回应。 0xED (Set/Reset LEDs)主机在本命令后跟随一个参数字节,用于指示键盘上Num Lock, Caps Lock,and Scroll Lock LED的状态这个参数字节的定义如下:MSB LSBAlways0Always0Always0Always0Always0C

12、aps LockNum LockScroll LockScroll Lock - Scroll Lock LED off(0)/on(1)Num Lock - Num Lock LED off(0)/on(1)Caps Lock - Caps Lock LED off(0)/on(1)*只是最初可用于PS/2 键盘。2.1.4、初使化如下的通讯过程发生在计算机和键盘之间,当计算机启动后,前三个命令是初始化键盘控制器,后一条命令(使能Numlock LED),是由BIOS发送的,剩下来的命令是由OS Win98SE发送的。记住在计算机上这个结果是明确的,但是它只是一个一般性的概念,告诉我们启动时

13、发生了什么。Keyboard: AA 自检通过;键盘控制器初使化Host: ED 设置/复位状态指示器Keyboard: FA 键盘应答Host: 00 关闭所有指示灯Keyboard: FA 键盘应答Host: F2 读IDKeyboard: FA 键盘应答Keyboard: AB ID的第一个字节Host: ED 设置/复位状态指示器;BIOS初使化Keyboard: FA 键盘应答Host: 02 点亮 Num Lock指示灯Keyboard: FA 键盘应答Host: F3 设置机打速率和延时;Windows初使化Keyboard: FA 键盘应答Host: 20 500 ms / 30.0 reports/secKeyboard: FA 键盘应答Host: F4 使能键盘Keyboard: FA 键盘应答Host: F3 设置机打速率和延时Keyboard: FA 键盘应答Host: 00

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号