USB模拟鼠标与键盘使用说明.docx
- 文档编号:5063703
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:13
- 大小:558.43KB
USB模拟鼠标与键盘使用说明.docx
《USB模拟鼠标与键盘使用说明.docx》由会员分享,可在线阅读,更多相关《USB模拟鼠标与键盘使用说明.docx(13页珍藏版)》请在冰豆网上搜索。
USB模拟鼠标与键盘使用说明
第一章使用说明
1.1功能简介
本例程是用实验板来模拟鼠标或键盘,即将相关程序下载到单片机,并将学习板与电脑通过U口连接后,本学习板可以当作U口的鼠标或者键盘来用。
其中能够模拟实现的鼠标功能为:
鼠标左移、右移、上移、下移,鼠标左键按下和右键按下。
能够模拟实现的键盘功能为:
数字1和2的键入、SHIFT和ALT功能键的键入、大小写切换和小键盘数字键功能的键入。
本例程共用到学习板上的六个按键,位于矩阵键盘左上角的S6、S7、S10、S11、S14和S15。
1.2鼠标的信息说明
将UsbMouse.hex文件下载到单片机中,且之后保证USB1口(位于学习板左上方)与电脑的U口处于连接状态(USB1口即为TX-1C开发板的U口)。
稍等片刻,便会先后在电脑屏幕的右下角出现下面两个提示(此提示只在第一次安装时出现):
图1.1系统发现新硬件提示
右键单击“我的电脑”,选中“管理”项,点击并进入,在其左侧的项目栏里点击“设备管理器”,便会发现其中多了如下一个设备,也就是我们的TX-1C开发板所模拟的鼠标,如图1.3所示。
图1.3设备描述显示
双击“USB人体学输入设备”的属性描述
图1.4属性描述---常规选项卡
图1.5属性描述---详细信息选项卡
1.3鼠标的使用说明
在使用USB模拟鼠标与键盘功能之前,请确保将芯片PDIUSBD12左侧的两根插针用跳帽连接起来(这两根跳帽是用于芯片PDIUSBD12向单片机发出中断的连接线)!
!
!
表1.1鼠标程序中按键对应功能表
按键
功能
S6
光标左移
S7
光标右移
S10
光标上移
S11
光标下移
S14
鼠标左键
S15
鼠标右键
据此,按下对应的按键,电脑屏幕上的光标即会进行相应的操作。
读者可以在桌面上实验一下,体会自制鼠标的乐趣。
1.4键盘的相关说明
将文件夹“键盘实例”中的文件下载到单片机中,并通过USB线将TX-1C学习板与电脑U口连接后,同样会出现如图1.1.、图1.2类似的安装信息(也是在第一次安装时提示,以后都不再提示,除非更改程序中的相关设备描述信息,让电脑以为是一个以前从未连接过的设备连接了。
)同样的打开设备管理器,也可以找到如图1.3、图1.4、图1.5类似的信息。
在此就不再赘述了。
下面列出相关按键的功能,如表1.2所示。
表1.2键盘程序中按键对应功能表
按键
功能
S6
CapsLock键
S7
NumLock键
S10
左Shift键
S11
左Alt键
S14
小键盘数字键1
S15
小键盘数字键2
试验方法:
新建一文本文档并打开。
按下S6键,会发现真正的电脑键盘的大写字母锁定的指示灯变亮,再按一次,便会熄灭。
按下S7键,会发现真正的电脑键盘的数字键会熄灭,再次按下,又会点亮。
按下S10键,如果有搜狗输入法,会发现其在中英文之间切换。
如图1.6所示。
(不要快速的按太多,否则电脑会有粘滞键提示)。
图1.6S10(shift)按键功能展示
按下S11键,会发现文本文档的菜单栏中的“文件”项在选中与释放状态间切换,如图1.7所示。
图1.7S11(alt)按键功能展示
选中文本文档栏,按下S14,便会键入数字1;按下S15,便会键入数字2。
其效果如图1.7中输入框中所示。
(要先确保此时小键盘数字灯是亮着的)
注意:
当想按S14和S15键入数字1和2时,请确保数字小键盘是有效的(即真正的电脑键盘上NumLock所对应的灯是亮着的。
否则,按下S14的效果相当于电脑键盘上的End键,按下S15相当于电脑键盘上方向按键中的向下键)。
第二章USB原理简介与调试相关
上面的只是一些关于使用的说明,但你或许想知道,在连接我们的TX-1C学习板与电脑后,它们之间都在做什么。
这就是我们这节要介绍的内容。
1.1USB原理简介
USB,英语是UniversalSerialBus,即通用串行总线。
生活中,我们向电脑的U口插入U盘,稍后片刻便可以从上面存取东西了;我们把U口鼠标插到上面,移动鼠标,电脑屏幕上的光标变会移动;将数码相机插到U口上,便可以观看其中的照片……
可是观察U口里面的构造,我们发现一般里面只有四根线,如图2.1所示。
图2.1常见USB插头结构
其中左右两侧的两根线分别为地线和+5V电源线,中间的两根线为D+和D-,也即传输信号用的线。
而这么少的线却可以和U盘、鼠标、照相机、打印机……等等这么多根本不属于同一类别的仪器通信,确实让人有些匪夷所思。
那么到底USB凭借什么有如此神效?
如果我们主观臆测,它在插上一种设备以后,电脑肯定会有方法检测到有一件设备和它连接了,而且之后肯定还会有和这种设备之间类似于相互介绍的环节,也即电脑会向这个设备发问“你是谁?
”、“你是干什么的?
”、“你要哪种供电方式才可以工作?
”、“你的具体配置都是什么?
”等等。
然后插入的设备在一一接收到这些“问题”后,会逐一进行“回答”。
等电脑把该问的问题都问完了,设备也都恰当地回答完了,电脑就会自动的加载相应的驱动程序,来对这个新来的设备提供驱动(一般来说,对于通用的设备,在电脑的系统里,自带的有驱动,它会根据所插入的设备类型自动的加载),最终两方开始了正式的通信。
事实上也是如此,但是电脑和设备之间“说话”,可没有我们人和人之间唠嗑扯淡那样直截了当,它们之间的这种通信,是有固定的数据格式的。
现在先按照上面的顺序,先说下电脑是如何检测到有外界的设备与它连接了,然后再说后面的“问话”过程。
参照图2.1,电脑的USB母头在未插入设备时,D+和D-是处于低电平的,但当有设备插入了,便会使其中一根线拉为高电平,具体哪个被拉高是与插入的设备的通信速度决定的。
当电脑检测到这一信号后,便开始了向这个设备的“发问”。
那么都问了哪些问题呢?
是通过何种方式问的,设备又是怎么回答的呢?
我们以USB鼠标的程序为例,通过读取它们之间通信的数据来加以分析。
操作方法:
1、下载调试版中的到单片机中。
2、点击点名屏幕左下角开始---程序---附件----通讯---超级终端,设置其参数如图2.2所示。
(注意:
使用超级终端过程中,若要用同一串口给单片机下载程序,需关闭超级终端的串口连接(图标为
),否则下载程序会提示串口已被其他程序占用或者不存在。
若你不想断开连接,也可尝试用TX-1C开发板上的USB下载程序模块。
)
图2.2超级终端相关设置
3、连接后,重新打开电路板电源,则超级终端会刷出下列数据:
观察上面图片里的信息,我们发现,电脑与设备之间,一般无非就是电脑想从设备那里获取设备描述符,获取配置描述符,设置配置,设置地址等等,电脑好像很啰嗦,让设备工作之前说了这么多废话,但是这是必须的。
因为它要保证这个设备是“自家人”,还得知道这个设备有哪些特性,哪些需求,以后才可以准确无误地相互联系,要不电脑说的话,设备都不懂,反过来,设备的某种请求,电脑也认不得到底是什么意思,或者做出错误的响应,那多麻烦。
现在该来分析我们的模拟鼠标了,为什么我们的TX-1C学习板可以“骗过”电脑,让电脑以为是一个鼠标和它在联系呢?
那肯定是因为我们在程序里做了什么手脚,也就是,我们事先按照配置描述符、设备描述符等等这些描述符的数据格式在程序中“伪造”出类似于鼠标的数据,电脑发过来一串二进制代码,我们分析它是什么含义(一般可分为两类信息,一类是向设备索取描述符,一类是向设备进行设置,如设置地址等),然后将相应的描述符发给电脑或者响应设置,不就得了?
这些代码的编写放在程序中UsbCore.c中,而电脑所发送的代码的类型识别放mian函数的switch语句中,有兴趣的同学可以看下。
在这里要说明一下,这些数据的收发,都离不开某位同志的功劳,那就是我们学习板上位于右侧的那块PDIUSBD12芯片。
它要负责数据的打包、编码、解码等等工作……我们之所以这么省事,就是因为这个芯片默默地帮我们把很多事都做了。
另外,由于调试程序只是为了让同学们观察下电脑与设备之间是如何“说话”的,所以在运行调试程序时,当超级终端出现了上面最后一个图红线所画的字样时,请关闭学习板电源,否则模拟鼠标会一直发送数据,然后造成光标自行移动和超级终端刷屏的现象。
这是因为超级终端时是用串口收发数据的,串口的收发数据会用到单片机P3口的RXD与TXD管教,而S6、S7、S10和S11的其中一端也是与TXD和RXD相连的,而我们又是用扫描的方式判断它们是否被按下,这样,两者(超级终端使用串口发送数据与按键扫描)之间就会产生冲突,串口的收发数据造成程序误以为会有按键按下,进而造成光标自动移动和超级终端刷屏。
关于键盘部分,与鼠标大同小异,同学们也可以按照上面的步骤将我们的TX-1C学习板制作成一个键盘。
需要声明的是,这里,我们没有牵涉到什么专业词汇,甚至连具体的协议都没有说,是为了给初学者提供方便,提供一个感性的认识,免得看的晕头转向了还不知所云。
若要有更深的了解,请参阅具体的专业书籍。
USB的协议很多,但是你只要看懂哪一块是做什么用的,知道怎么用,到时去查就可以啦。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 模拟 鼠标 键盘 使用说明
![提示](https://static.bdocx.com/images/bang_tan.gif)