基于ps2鼠标接口单片机输入设备的实现毕业论文

上传人:Bod****ee 文档编号:47223289 上传时间:2018-07-01 格式:DOC 页数:20 大小:378.54KB
返回 下载 相关 举报
基于ps2鼠标接口单片机输入设备的实现毕业论文_第1页
第1页 / 共20页
基于ps2鼠标接口单片机输入设备的实现毕业论文_第2页
第2页 / 共20页
基于ps2鼠标接口单片机输入设备的实现毕业论文_第3页
第3页 / 共20页
基于ps2鼠标接口单片机输入设备的实现毕业论文_第4页
第4页 / 共20页
基于ps2鼠标接口单片机输入设备的实现毕业论文_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《基于ps2鼠标接口单片机输入设备的实现毕业论文》由会员分享,可在线阅读,更多相关《基于ps2鼠标接口单片机输入设备的实现毕业论文(20页珍藏版)》请在金锄头文库上搜索。

1、基于 PS/2 鼠标接口单片机输入设备的实现摘 要:PS/2 接口是较早出现的计算机接口,也是现在使用最广泛的接口之一,它主要应用于鼠标、键盘和游戏手柄的输入。PS/2 接口协议简洁易于实现,而且多年来 PS/2 设备一直运行稳定,这使得古老的 PS/2 接口至今在输入接口中具有举足轻重的地位。本课题在详细分析 PS/2 协议的基础上,提出了一套实现 PS/2 鼠标接口设备的可行方案。该方案提供了一个 PS/2 鼠标接口设备的硬件和软件的实现方法,其中着重介绍了单片机中 PS/2 接口驱动的实现方法,PS/2 鼠标的 Reset 模式和 Stream 模式的工作流程等内容。依据上述设计方案实现

2、了一个 PS/2 鼠标接口设备。本论文中为该设备设计了两项基本功能测试、两项性能测试和一项兼容性测试。该设备在测试中取得了十分理想的成绩。最后对 PS/2 鼠标接口设备进行扩展,实现了串口转PS/2 鼠标设备。该设备的实现证明了本课题实现的 PS/2 鼠标接口设备具有良好的可扩展性。关键词:PS/2 接口 通信协议 单片机 鼠标 驱动程序 前 言PS/2 接口鼠标是被现代个人微机广泛采用的外部定点输入设备,它易于操作而且价格低廉,如果能够利用 PS/2 鼠标的标准接口特性,在单片机应用系统中设计一个 PS/2 接口作为系统的输入设备,不仅占用系统的资源少、成本低而且操作简单,具有广泛的应用领域

3、。作为一个出现较早的输入接口,基于 PS/2 的开发技术已经相当成熟,但是这些成熟的技术主要掌握在部分主板开发商和鼠标键盘开发商手上。而且 PS/2 协议的官方参考资料已经很难找到,所以本课题将以监控并分析 PS/2 鼠标在实际工作中的数据流并结合前人开发经验心得为主要开发依据,通过不断调试改进来完成 PS/2 鼠标接口的开发。国内外除了少数的研究学习的人员鲜少有人做基于 PS/2 的产品开发,市场上有一些串口转 PS/2 的转接器,但其兼容性和稳定性都不是很高。PS/2 产品的发展趋势可能主要是为一些特定的项目提供接口。实现 PS/2 鼠标接口可以扩展实现基于 PS/2 接口的鼠标、USB

4、转 PS/2 鼠标转接器、PS/2 转 USB 鼠标转接器、串口转 PS/2 鼠标转接器的开发,且开发成本较低,开发周期较短,产品稳定性和可靠性在理论上和实际使用中都已经证明可以满足工业生产或日常生活需求。PS/2 协议本身也较简单,这样就有利于开发者较深入完整的理解协议本身及其实现过程,为以后的项目开发积累很好的经验。1 背 景1.1 PS/2 协议的发展PS/2协议的发展主要经历过三个阶段:1981年IBM推出了IBM PC/XT接口标准。该标准采用 5脚DIN连接器和简单的串行协议。1984年IBM推出了IBM AT接口标准。该标准采用 5脚DIN连接器和双向串行通讯协议 。1987年,

5、IBM又推出了 PS/2接口标准。 该标准采用6脚mini-DIN连接器,该连接器在封装上更小巧,仍然用双向串行通讯协议。PS/2接口标准 在在IBM技术参考手册里,而该手册已经很多年没有印刷了,因此关于这个内容现在运城学院计算机科学与技术系毕业论文第 2 页 共 20 页没有官方的出版物。所以我们可以认为能够被IBM提供的PS/2接口上识别并稳定运行的设备就实现了PS/2协议。PS/2接口标准设备主要应用于 鼠标,键盘和游戏手柄。1.2 PS/2 鼠标接口的优点PS/2 鼠标接口很早就成为了计算机计算机鼠标的标准输入接口,它有如下三个优点:适用范围和机型众多PS/2 鼠标接口在现存的几乎所有

6、的台式 PC 机上都能找到,这就意味着基于 PS/2 鼠标接口的设备可以在现在的绝大多数 PC 机上运行。开发成本低,开发周期短PS/2 协议是一种简单的串行通信协议,不需要专门的接口芯片,只需要在单片机中用软件模拟就可以完成通信。一个基于 PS/2 的设备可以在较短的时间内完成。稳定性高,速度快PS/2 协议自问世以来,基于它的产品已经在 PC 机上稳定运行了几十年,经过实践检验 PS/2 设备在稳定性和反应速度方面完全可以满足日常需求。2 协议分析2.1 PS/2 物理接口定义物理上的 PS/2 端口分为两类连接器:一种 5 脚的 DIN ;一种是 6 脚的 mini-DIN。两种连接器的

7、区别只是引脚的排列,鉴于目前 5 脚的 DIN 已经很少使用,对于 5 脚的 DIN 我们将不予介绍。mini-DIN 的接口定义如图 2.1 所示。图 2.1 mini-DIN 的接口定义2.2 PS/2 数据帧定义和传输PS/2 鼠标和键盘履行一种双向同步串行协议。换句话说每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入。键盘/鼠标可以发送数据到主机而主机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候抑制来自于键盘/鼠标的通讯,只要把时钟拉低即可。数据传输过程中的时钟始终都由设备提供,如果主机要想设备发送数据就必需先告诉设备产生一个时钟信号(具体的过程将在后面

8、描述) 。从设备到主机的数据在时钟的下降沿被读取,从主机到设备的数据在时钟的上升沿被读取。设备到主机的通讯过程从设备到主机的通讯过程中共定义 11 个数据位,如表 2.1 所示。表 2.1 从设备到主机的数据帧格式1 个起始位,总是为 08 个数据位,低位在前1 个校验位,奇校验1 个停止位,总是为 1通讯的时钟频率为 1016.7kHz。通讯过程应该符合以下要求。从时钟脉冲的上升沿到一个数据转变的时间至少要有 5 微秒。数据变化到时钟脉冲的下降沿的时间至少要有 5 微秒,并且不大于 25 微秒。这个定时非常重要。主机可以在第 11 个时钟脉冲(停止位)之前把线拉低,这样设备将放弃发送当前字节

9、(这是非常罕见的) 。在停止位发送后,设备在发送下个包前至少应该等待 50 微秒。这将给主机时间,当它处理接收到的字节时抑制发送(主机在收到每个包时通常自动做这个) ,在主机释放抑制后设备至少应该在发送任何数据前等 50 微秒。设备到主机的通讯时序如图 2.2 所示。图 2.2 设备到主机通讯时序图主机到设备的通讯过程:从主机到设备的通讯过程的数据帧与设备到主机有所不同,表 2.1 给出了主机到设备的数据帧格式。表 2.2 从主机到设备的数据帧格式8 个数据位,低位在前1 个校验位,奇校验1 个停止位,总是为 11 个应答位,由设备向主机发送因为时钟总是由设备提供,所以主机要想发送数据它必须向

10、设备 “请求发送” ,过程如下:1)主机通过下拉时钟线至少 100 微秒来抑制通讯。2)主机通过下拉数据线来应用请求发送然后释放时钟。通讯时序如图 2.3 所示。图 2.3 主机到设备的通信时序图2.3 PS/2 数据报定义标准的 PS/2 鼠标发送位移和按键信息给主机采用 3 字节数据包格式。数据包的具体定义如表 2.3 所示。运城学院计算机科学与技术系毕业论文第 4 页 共 20 页表 2.3 标准 PS/2 鼠标数据报格式Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0Byte 1Y overflowX overflowY sign bitX sign b

11、itAlways 1Middle BtnRight BtnLeft BtnByte 2X MovementByte 3Y Movement这里的标准 PS/2 鼠标指的是不带滚轮的鼠标。对于带滚轮的鼠标数据报只是比标准 PS/2 鼠标数据报多一个 Byte4 用来描述 Z 方向(也就是滚轮)的移动。本论文中采用标准的 PS/2 鼠标数据报格式。Y overflow(X overflow)是 Y 方向(X 方向)的移位溢出标志。坐标原点在屏幕左下角。Y sign bit(X sign bit)和 Y Movement(X Movement)共同构成九位的移位计数器,其中以二进制补码整数形式存放

12、Y(X)方向的移位,Y sign bit(X sign bit)作为最高位存放符号位。位移计数器可表示的值的范围是-255 到+255。Middle Btn、 Right Btn 、Left Btn 分别表示中、右、左三个按键是否有按下。3 硬件设计3.1 PS/2 接口设备的基本硬件设计PS/2 接口与单片机可以直接连接,将单片机的 VCC 和 GND 分别与 PS/2 接口的 4 号和 3 号针脚连接,实现对设备的供电。将 P2.0 和 P2.1 分别和 PS/2 接口的 1 号和 5 号针脚连接,作为数据线和时钟线实现单片机到 PS/2 接口的信号传输。 (PS/2 接口的针脚定义见图

13、2.1)在单片机的 P2.2-P2.7 引脚上连接六个按键,分别用来模拟鼠标的上下左右移动以及鼠标的左右键。该模块用来测试 PS/2 接口设备的基本功能。P1 口接 8 个发光二极管,在调试和测试中显示相关内容。P3.0-P3.1 接串口模块,实现单片机和 PC 的通信,该模块用于扩展和测试。PS/2 接口设备的电路结构如图 3.1 所示。ps/2接口At89c51VCCGNDP2.0P2.14(+5 V)3(GND)1(DAT)5(CLK)按键 模块显示 模块P2.2-P2.7P1串口 模块P3.0-P3.1图 3.1 单片机与 PS/2 接口的连接3.2 PS/2 接口设备与 PC 通过串

14、口的连接这个模块是一个扩展和测试模块,用来实现串口转 PS/2 接口,并且可以测试 PS/2 接口的功能和性能。通过串口将 PC 机同 PS/2 接口设备连接,在 PC 机上编写测试软件,测试软件通过串口向单片机发送一定的鼠标数据报,设备将这些数据报转发到 PS/2 接口,这样使得调试更加方便灵活,同时也实现了本课题的 PS/2 接口设备的一个扩展应用。下面简单介绍单片机与 PC 的串口通信的硬件设计:51 单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以进行串口通讯。但是电脑的串口是 RS232 电平的,而单片机的串口是 TTL 电平的,两者之间必须有一个电平转换电路,这个转换电路一

15、般有两种实现方式:第一种方式是用三个三极管来实现,如图 3.2 所示,该方法所用器件和电路都比较简单且成本较低。第二种方法采用了专用芯片 MAX232 进行转换,如图 3.3 所示,该方法较第一种方法更加简单可靠。但器件成本要略高。考虑到设计该模块的主要目的是测试 PS/2 接口的性能,我们忽略了成本差异,选择了使用更加可靠的第二种方法。我们采用了三线制连接串口,也就是说和电脑的 9 针串口只连接其中的 3 根线:第 5 脚的 GND、第2 脚的 RXD、第 3 脚的 TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如图 3.3 所示。MAX232 的第 10 脚和单片机的 1

16、1 脚连接,第 9 脚和单片机的 10 脚连接,第 15 脚和单片机的 20 脚连接。图 3.2 三极管实现电平转换电路C1=1C2=1C1+C1-C2+C2-1345781112VCC26C3=1C4=1C5=1+5V16V+V-MAX232T2outR2inT1inT2in1091413T2inR2outP3.0P3.189c51RXDTXDPCGND15图 3.3 MAX232 芯片实现电平转换电路运城学院计算机科学与技术系毕业论文第 6 页 共 20 页4 软件设计4.1 PS/2 接口驱动设计根据 PS/2 协议和对双飞燕鼠标实际工作时数据流的测试,设备要想向主机发送一个字节的数据,其发送函数要遵循图 4.1 的设计流程。其中每一个数据位的发送都要遵循图 4.2 所示流程。时钟线为高N延时50个微秒Y时钟线为高N数据线线为高Y 放弃当前操 作并从主机 读取数据N延时20微秒延时20微秒输出起始位,检测时钟线 输出数据位,检测时钟线 输出校验位,检测时钟线 输出停止位时钟线 为高延时30微秒放弃当前操 作N设置数据位延时20微秒拉低

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

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