ps2键盘接口程序设计总结

ps2键盘接口程序设计总结

ID:16402203

大小:353.50 KB

页数:9页

时间:2018-08-09

ps2键盘接口程序设计总结_第1页
ps2键盘接口程序设计总结_第2页
ps2键盘接口程序设计总结_第3页
ps2键盘接口程序设计总结_第4页
ps2键盘接口程序设计总结_第5页
资源描述:

《ps2键盘接口程序设计总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

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

3、在通码和ASCII码之间没有已定义的关联。直到主机把扫描码翻译成一个字符或命令。虽然多数第二套通码都只有一个字节宽,但也有少数扩展按键的通码是两字节或四字节宽。这类的通码第一个字节总是为“E0h”。正如键按下通码就被发往计算机一样,只要键一释放断码就会被发送。每个键都有它自己唯一的通码,它们也都有唯一的断码。幸运的是你不用总是通过查表来找出按键的断码。在通码和断码之间存在着必然的联系,多数第二套断码有两字节长它们的第一个字节是“F0h”,第二个字节是这个键的通码。扩展按键的断码通常有三个字节,它们前两个字节是“E0h”,“F0h”,

4、最后一个字节是这个按键通码的最后一个字节。例如:通码和断码是以什么样的序列发送到你的计算机,从而使得字符“G”出现在你的字处理软件里的呢?因为这是一个大写字母,需要发生这样的事件,次序按下“Shift”键,按下“G”键,释放“G”键,释放“Shift”键,与这些时间相关的扫描码如下:“Shift”键的通码12h,“G”键的通码“34h”,“G”键的断码“F0h,34h”,“Shift”键的断码“F0h,12h”。因此发送到你的计算机的数据应该是“12h,34h,F0h,34h,F0h,12h”。如果你按了一个键,这个键的通码被发送到

5、计算机,当你按下并按住这个键,则这个键就变成了机打着,就意味着键盘将一直发送这个键的通码直到它被释放或者其他键被按下。要想证实这点只要打开一个文本编辑器,并按下A键当你首先按下这个键字符a立刻出现在你的屏幕上在一个短暂的延迟后,接着出现一整串的a直到你释放A键。这里有两个重要的参数:机打延时是第一个和第二个a之间的延迟,机打速率是在机打延时后每秒有多少字符出现你的屏幕。上机打延时的范围可以从0.25秒到1.00秒,机打速率的范围可以从2.0cps(字符每秒)到30.0cps。你可以用SetTypematicRate/Delay“0x

6、F3”命令来改变机打速率和延时。2.1.3、复位在上电或软件复位(见Reset命令)后,键盘执行诊断自检,叫做BAT(基本保证测试)并载入如下的缺省值:●机打延迟为500ms。●机打速率为10.9cps。●*第二套扫描码集。●*置所有按键为机打/通码/断码。*所指的项在某些键盘上时可变的,而在其他键盘上时硬件编码的不可变。当进入BAT,键盘点亮它的三个LED指示器,并在完成BAT后关闭它们。此时,BAT完成代码要么“0xAA”BAT成功或“0xFC”有错误被发送到主机。多数键盘忽略它们的时钟和数据线直到BAT完成代码发送后。所以“抑

7、制”条件时钟线拉低可能不能防止键盘发送它们的BAT完成代码。2.1.4、命令集每个发送到键盘的字节都从键盘获得一个0xFA(应答)的回应,唯一例外的是键盘对Resend和Echo命令的回应。在发送下一个字节给键盘之前,主机要等待“应答”。键盘应答任何命令后清除自己的输出缓冲区。下面列出了所有可能被发给键盘的命令:●0xFF(Reset)——引起键盘进入Reset模式(见复位部分)。●0xFE(Resend)——用于只是在接收中出现的错误。键盘的响应就是重发送最后的扫描码或者命令回应给主机。但是0xFE绝不会作为Resend命令的回应

8、而被发送。●*0xFD(SetKeyTypeMake)——允许主机指定一个按键只发送通码。这个按键不发送断码或进行机打重复。指定的按键采用它的第三套扫描码。●*0xFC(SetKeyTypeMake/Break)——类似于SetKey

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。