首先,我们应该熟悉一下机械鼠标的工作原理:通过移动鼠标,带动胶球,胶球滚动又磨擦鼠标内分管水平和垂直两个方向的栅轮滚轴,驱动栅轮转动。栅轮轮沿为格栅状。紧靠栅轮格栅两侧,一侧是一红外发光管,另一侧是红外接收组件。红外接收组件为一三端器件,其中包含甲乙两个红外接收管。在水平和垂直栅轮夹角正对方向有一压紧轮,它使胶球无论向何方向滚动都始终压紧在两个栅轮轴上。
通过 ps/2 口或串口与主机相连。接口使用四根线,分别为电源 , 地,时钟和数据。正常工作时,鼠标的移动转换为水平和垂直栅轮不同方向和转速的转动。栅轮转动时,栅轮的轮齿周期性遮挡红外发光管发出的红外线照射到接收组件中的甲管和乙管,从而甲和乙输出端输出电脉冲至鼠标内控制芯片。由于红外接收组件中甲乙两管垂直排列,栅轮轮齿夹在红外发射与接收中间的部分的移动方向为上下方向,而甲乙接收管与红外发射管的夹角不为零,于是甲乙管输出的电脉冲有一个相位差。鼠标内控制芯片通过此脉冲相位差判知水平或垂直栅轮的转动方向,通过此脉冲的频率判知栅轮的转动速度,并不断通过数据线向主机传送鼠标移动信息,主机通过处理使屏幕上的光标同鼠标同步移动。
电脑启动时,windows通过接口初始化鼠标。如果鼠标电缆中有一根线断了,主机会给出鼠标未安装,请你关机安装鼠标的信息。如果在使用中拔下鼠标接头或鼠标电缆接触不良,则鼠标系统瘫死。
知道了鼠标的基本工作原理,下面我们共同探讨一下鼠标指针为何会漫屏飞舞:
指针移动说明鼠标通过串行数据线给主机送去了鼠标移动信息,但此时鼠标又未动,鼠标芯片怎么会发出移动数据呢?其原因是鼠标中红外发射管与栅轮轮齿及红外接收组件三者之间的相对位置不当,再加上主机通过接口送出的电源电压与鼠标匹配不好。当某一时刻鼠标中某一栅轮恰好停于使接收组件中甲乙两管产生相同电压的位置,而此电压恰巧又是鼠标芯片识别亮暗信号的判定阀值电压,即此电压有可能被鼠标芯片识别为亮,也有可能识别为暗。若此时鼠标芯片对甲管输出识别为亮信号,乙管输出为暗信号,鼠标依此对信号进行处理,而芯片的处理必引起接收组件中甲乙接收管的输出电压及鼠标芯片对亮暗判别阀值的微小的变化。因为鼠标芯片也是时钟驱动的数字电路,它对信号的识别也有时钟周期,当下一识别周期到来时,则判别结果会是甲为暗乙为亮。至此,鼠标芯片两个识别周期的识别结果不同,于是芯片得出了栅轮转动的信息。此过程循环,则指针向一方向快速匀速移动直至屏幕边沿。
关键在于主机输送给鼠标的电源电压使鼠标中某一红外发射管发射的红外光在感光组件中甲乙两感光管产生的光信号电压正好处于鼠标芯片判别亮暗信号的识别分界阀值点上。此点非常巧合,所以鼠标指针游动的出现也极随机,有时可能几天不出现,而有时又频繁发生。此故障一般仅发生在一个方向上。因为该故障与主机接口输出的电源也有关系,故可能会在一台机器上出现故障的鼠标在另一机器上工作正常。
硬件方面的解决方法:先检查硬件有没有冲突(比如和Modem等其他的外设)然后试着检查你鼠标接口的针是否弯曲,断了:然后,拆开鼠标,看里面是否有脏物缠绕或反拧?将其清除再试试。或者,换到其他的电脑上试试,看是否故障依旧,有没有给出硬件故障的信息。还不行的话,只有调整故障对应方向红外发射管、红外接收组件与栅轮的相对位置,看能否恢复了。
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05