鼠标的原理,控制以及编程.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
鼠标的原理 控制以及编程 联想研究院板卡中心 臧超飞 前言. 鼠标 作为现代计算机的一个标准配置 已经深深的影响了计算机的使用者 因此 在 BIOS 中加入鼠标的功能 将为计算机提供更好的人机接口 为使用者使用计算机带来更大 的方便 不同类型的鼠标主要不同的表现在数据传输的协议上 主要的协议有四种类型 1 PS/2 2 Serial 3 USB 4 ADB 第一部分 鼠标与系统架构 图1 鼠标与系统架构 图一是一个典型的现代PC 的鼠标配置架构 在最底层的硬件层 鼠标作为一个单片机 通过PS/2 协议 和系统的KBC 进行通讯 传递数据和命令 第二层 BIOS 通过KBC 上提供的60H 和64H 口和鼠标进行传递信息 由此可以看出 KBC 封装了PS/2 协议 使得PS/2 协议对于底层编程而言是通明的 同样我们本文的主要 内容也是基于KBC 之上 而跨越PS/2 协议的 第三层 BIOS 提供了基本的INT15H 中断的调用 使用者可以通过这个中断的调用给 鼠标发送一些基本配置的命令 注意 INT15H 没有提供鼠标的运行命令和数据接受接口 第四层次 系统Driver 可以通过BIOS 的INT15H 的中断调用或者直接通过KBC 的60H 64H 口控制鼠标 同时向上为操作系统和应用程序提供服务 第二部分 PS/2 协议以及鼠标的基本命令 1 信号定义 PS/2 协议主要包括两根信号线 如图2 CLK 和DATA 还有+5V 的电源线和鼠标线 DATA 线是半双工的 正常状态下 CLK 和DATA 被主机端的一个5 10K 的电阻拉高到 5V 见 图 3 但是鼠标和主机 KBC 在任何时候都可以将这两个信号拉低 当端口处于空闲的 状态是 LCK 和DATA 线都处于高电平 主机可以在任何时候通过拉低CLK 信号切断设备 图2 PS/2 电缆以及接口信号定义 图3 鼠标系统原理图 2 数据传输 数据的传输是一个字节一个字节 Byte 传输的 对于每一次的数据传输包括一个开始位 a logic 0 8 个数据内容的比特 bits 一个奇偶校验位 odd parity 和一个停止位 a logic 0 我们可以可以很容易看出 8 个数据位和奇偶校验位一起 那么其奇偶性必定是奇的 在传输过程中 设备首先将CLK 信号拉低 产生CLK 信号传输这十一个位 bits 传输设 备通过拉高或者悬浮DATA 信号来传输logic 0 或logic 1 在传输过程中 设备可能处于三种传输状态 a. 空闲态 Idle 这时CLK 信号和DATA 信号都处于高电平态 总线上没有传输行为 b. 抑制态 Inhibit 这时 主机将CLK 信号拉低 设备将被从数据传输中切断 c. 请求传输 Request to send 这时主机将DATA 信号拉低 报纸CLK 信号 那么主机 就是准备发送命令或者命令参数 (1) 输出到主机 3 命令集 如果鼠标以及处于流模式 Stream Mode 而且已经被Enable $F4 命令激活 那么在给鼠 标发送任何命令之前必须先将鼠标 Disable $F4 这样可以保证命令响应以及数据传输的 完整性 这一点非常类似于我们在 C 语言读写文件中间一定要注意关闭文件 用以保证将 缓冲区中的内容写到磁盘上 因此 如果我们在这种模式下发送了命令 那么鼠标将会放弃 而不是中断 所有的数据传输包的传输以及命令的响应 $FF 复位命令 Reset 这个命令将

文档评论(0)

汪汪队 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档