PS/2键盘编程详解:电气特性和数据传输时序

需积分: 0 3 下载量 124 浏览量 更新于2024-09-16 1 收藏 224KB PDF 举报
"PS-2 PC键盘编程参考资料" 本文档主要介绍了如何对PS/2接口的PC键盘进行编程,涵盖了电气特性和数据传输的相关细节。PS/2键盘是早期个人电脑常用的输入设备,其连接到计算机上的接口采用PS/2协议进行通信。 一、电气特性 PS/2键盘与PC之间的连接包括6根线,分别是: 1. DATA线:用于传输键盘数据 2. n/c(Not connected):未连接 3. GND:接地 4. VCC:+5V电源 5. CLK:时钟线 6. n/c:未连接 二、数据格式 数据传输采用串行方式,具体格式如下: 1. 起始位:逻辑0 2. 数据位:8位,低位在前(LSB) 3. 奇偶校验位:奇校验,确保数据位和校验位的1的总数为奇数 4. 停止位:逻辑1 5. 应答位:仅在主机对设备的通讯中使用 三、PS/2向PC发送数据的时序 发送一个字节的步骤: 1. 检查时钟线,如果为低,等待50μs 2. 如果时钟线为高,继续执行;否则回到步骤1 3. 检查数据线是否为高,如果是,继续;否则放弃发送,进入接收模式 4. 延时20μs(发送起始位时需40μs) 5. 输出起始位(0) 6. 输出8个数据位 7. 输出校验位 8. 输出停止位(1) 9. 延时30μs(释放时钟线时需50μs) 发送单个位的步骤: 1. 准备数据位 2. 延时20μs 3. 降低时钟线电平 4. 延时40μs 5. 释放时钟线 6. 延时20μs 四、PS/2设备接收数据 当PC机要发送数据时,它会先将时钟线和数据线设置为发送状态,并通过拉低时钟线超过100μs来启动通信,同时拉低数据线表示有数据要发送。 总结,PS/2 PC键盘编程涉及的关键点是理解电气特性、数据格式以及发送和接收数据的时序。这些知识对于编写驱动程序或进行硬件级交互至关重要。在实际编程中,必须精确控制时序,以确保数据的正确传输和识别。