鼠标接口的电学引脚

作者&投稿:保珍 (若有异议请与网页底部的电邮联系)
鼠标电路板上GVCD分别是什么意思?~

这应该是PS/2接口的鼠标吧,G是GND,也就是地线;V是Vcc,就是电源线;C应该是CLK,也就是时钟线;D那就是DATA,数据线。

PS/2(键盘鼠标)接口:
1.紫色为键盘Keyboard,绿色为鼠标MOUSE
2.阵脚功能:1:数据脚 data
5:时钟脚 clk
4:5v供电脚 power
3:接地脚 gnd
6、2:空脚 nc
3.PS/2电路简图:(见图)
4.PS/2接口故障检修:
(1) 查4#5V供电有无电压,没有则追线;
(2) 1#和5#对地阻值在400—700欧,误差在10欧内;
阻值偏小:拆除与1#和5#相连的排容(多数为此问题);
换I/O或SB(南桥)。
阻值偏大:查偏大脚相连电阻或电感有无损坏;
追接口到I/O或SB的线路有无open;
换I/O或SB。
(3)确定PS/2接口有无损坏;(可放在第一时间)
(4) 换I/O或SB;
(5) 刷Bios 。
基本知识点就这些,具体报告还要你自己整理。(手工辛苦啊)

1: 数据
2: 空
3:地
4:+5V
5:时钟
6: 空

PS/2接口是目前最常见的鼠标接口,最初是IBM公司的专利,俗称“小口”。这是一种鼠标和键盘的专用接口,是一种6针的圆型接口。但鼠标只使用其中的4针传输数据和供电,其余2个为空脚。PS/2接口的传输速率比COM接口稍快一些,而且是ATX主板的标准接口,是目前应用最为广泛的鼠标接口之一,但仍然不能使高档鼠标完全发挥其性能,而且不支持热插拔。在BTX主板规范中,这也是即将被淘汰掉的接口。
需要注意的是,在连接PS/2接口鼠标时不能错误地插入键盘PS/2接口(当然,也不能把PS/2键盘插入鼠标PS/2接口)。一般情况下,符合PC99规范的主板,其鼠标的接口为绿色、键盘的接口为紫色,另外也可以从PS/2接口的相对位置来判断:靠近主板PCB的是键盘接口,其上方的是鼠标接口

摘 要分析PS/2协议;介绍PS/2标准健盘的第二套扫描码和命令集,并给出在单片机系统中支持PS/2健盘的硬件连接方式和利用Keil C51语言实现的驱动程序设计及部分代码。该驱动程序可以方便地移植到其他单片机或嵌入式系统中。
关健词 PS/2协议 PS/2健盘 单片机 驱动程序

在单片机系统中,经常使用的键盘都是专用键盘。这类键盘都是单独设计制作的,成本高,连线多,且可靠性不高。这些问题在那些要求键盘按键较多的应用系统中显得更加突出。与此相比,在 PC系统中广泛使用的PS/2键盘具有价格低、通用可靠,且使用的连线少(仅使用2根信号线)的特点,并可满足多数系统的要求。因此,在单片机系统中应用PS/2键盘是一种很好的选择。

本文在分析PS/2协议和PS/2键盘工作原理与特点的基础上,给出在AT89C51单片机上实现对PS/2键盘支持的硬件连接方法以及驱动程序的设计实现。

1 PS/2协议
现在PC机广泛采用的PS/2接口为mini - DIN 6引脚的连接器。其引脚如图1所示。

740)this.width=740" border=undefined>

PS/2设备有主从之分,主设备采用female插座,从设备采用male插座。现在广泛使用的PS/2键盘鼠标均工作在从设备方式下。PS/2接口的时钟与数据线都是集电
极开路结构的,必须外接上拉电阻。一般上拉电阻设置在主设备中。主从设备之间数据通信采用双向同步串行方式传输,时钟信号由从设备产生。

(1)从设备到主设备的通信
当从设备向主设备发送数据时,首先会检查时钟线,以确认时钟线是否是高电平。如果是高电平,从设备就可以开始传输数据;否则,从设备要等待获得总线的控制权,才能开始传输数据。传输的每一帧由11位组成,发送时序及每一位的含义如图2所示。

740)this.width=740" border=undefined>

每一帧数据中开始位总是为0,数据校验采用奇校验方式,停止位始终为1。从设备到主设备通信时,从设备总是在时钟线为高时改变数据线状态,主设备在时钟下降沿读人数据线状态。
(2)主设备到从设备的通信
主设备与从设备进行通信时,主设备首先会把时钟线和数据线设置为“请求发送”状态。具体方式为:首先下拉时钟线至少100 us来抑制通信,然后下拉数据线“请求发送”,最后释放时钟线。在此过程中,从设备在不超过 10us的间隔内就要检查这个状态。当设备检测到这个状态时,将开始产生时钟信号。
此时数据传输的每一帧由12位构成,其时序和每一位含义如图3所示。

740)this.width=740" border=undefined>

与从设备到主设备通信相比,其每帧数据多了一个ACK位。这是从设备应答接收到的字节的应答位,由从
设备通过拉低数据线产生,应答位ACK总是为。。主设备到从设备通信过程中,主设备总是在时钟为低电平时改变数据线的状态,从设备在时钟的上升沿读入数据线状态。

2 PS/2键盘的编码与命令集

(1) PS/2扭盘的编码
现在PC机使用的PS/2键盘都默认采用第二套扫描码集。该扫描码集可参考文献[1]。扫描码有两种不同的
类型:通码(make code)和断码(break code)。当一个键被按下或持续按住时,键盘会将该键的通码发送给主机;而当一个键被释放时,键盘会将该键的断码发送给主机。
根据键盘按键扫描码的不同,在此可将按键分为如下几类:
第一类按键,通码为1字节,断码为OxFO+通码形式。如A键,其通码为Ox1C,断码为OxFO Ox1C, 第二类按键,通码为2字节0 xEO + 0 xXX形式,断码为OxEO+OxFO+OxXX形式。如 right ctrl键,其通码为OxEO 0x14,断码为OxEO OxFO 0x14, 第三类特殊按键有两个,print screen键通码为OxEO 0x12 OxEO Ox7C,断码为 OxEO OxFO Ox7C OxEO OxFO 0x12; pause键通码为Ox El 0x14 0x77 OxEl OxFO 0x14 OxFO 0x77,断码为空。
组合按键的扫描码发送按照按键发生的次序,如以下面顺序按左SHIFT+A键:1按下左SHIFT键,2按下 A
键,3释放A键,4释放左SHIFT键,那么计算机上接收到的一串数据为0x12 Ox1C OxFO Ox1C OxFO 0x12, 在驱动程序设计中,就是根据这样的分类来对不同的按键进行不同处理的。

(2) PS/2键盘的命令集
主机可以通过向PS/2键盘发送命令来对键盘进行设置或者获得键盘的状态等操作。每发送一个字节,主机都会从键盘获得一个应答0 xFA“重发resend"和“回应echo',命令例外)。下面简要介绍驱动程序在键盘初始化过程中所用的指令(详细键盘命令集见参考文献[1]): OxED主机在本命令后跟随发送一个参数字节,用于指示键盘上num lock, caps lock, scroll lock led的状态; OxF3主机在这条命令后跟随发送一个字节参数来定义键盘机打的速率和延时; OxF4用于在当主机发送OxF5禁止键盘后,重新使能键盘。

3 PS/2键盘与单片机的连接电路
PS/2键盘与AT89C51单片机的连接方式如图4所示。Pi. 0接 PS/2数据线,P3. 2 (INTO)接 PS/2时钟线。
因为单片机的P1,P3口内部是带上拉电阻的,所以PS/2的时钟线和数据线可以直接与单片机的P1,P3相连接。

740)this.width=740" border=undefined>

4 驱动程序设计
驱动程序使用Keil C51语言,Keil uVision2编程环境。PS/2 104键盘驱动程序的主要任务,是实现单片机与键盘间PS/2通信,以及将接收到的按键扫描码转换为该按键的键值KeyVal,提供给系统上层软件使用。
(1)单片机与健盘间PS/2通信的程序设计
在PS/2通信过程中,主设备(单片机)是在时钟信号为低时发送和接收数据信号的。因为单片机到键盘发送的是指令,需要键盘回应,所以这部分程序采用查询方式;而单片机接收键盘数据时,数据线上的信号在时钟为低时已经稳定,所以这部分程序采用中断方式,且不需要在程序中加人延时程序。

(2)健盘扫描码转换程序设计
由于键盘扫描码无规律可循,因此由键盘扫描码获得相应按键的键值(字符键为其ASCII值,控制键如Fl,
CTRL等为自定义值),只能通过查表的方式。由于按键的三种类型及部分按键对应着两个键值(如A键的键值
根据CAPS和 SHIFT键状态有 0x41 (A)和 Ox61(a)两种),因此综合考虑查表转换速度和资源消耗,设计中使用4个键盘表:键盘扫描码转换基本集和切换集kb-plain_map[ NR_ KEYS]与kb- shift- map[ NR_ KEYS];包含EO前缀的键盘扫描码转换基本集和切换集kbe0_plain_map[N又KEYS〕与kbe0_ shift-map [ NR_ KEYS]。PS/2 104键盘按键扫描码最大值为0x83,所以设置NR_ KEYS为132。所有四个键盘表的定义均为如下形式:KB_ MAP
[ MAKE CODE] = KEYVAL,如果扫描码对应的按键为空,如KB_MAP[0x00],则定义相应键值为NULL-KEY(0x00)。以下是键盘扫描码基本集的部分代码实例:
kb_plain_map[NIZKEYS] ={……
NULL- KEY; Ox2C; Ox6B; 0x69;Ox6F;Ox3O;0x39;NULL_
KEY;//扫描码Ox4O-Ox47
刀对应按键 空,逗号,K,I,0,0,9,空
//对应键值0x00,’,’,'k','i','o','0','9',0x00
……};

如此设计键盘转换表的另一个好处在于,以后如需扩展支持有ACPI, Windows多媒体按键键盘时,只需要将键表中相应处修改即可。如ACPI power按键通码为OxEO 0x37,修改 kbeO _ plain- map [ 0x37 ] = KB _ACPI_PWR即可。
特殊按键PAUSE使用单独程序处理,如果接收到OxEl就转入这段程序;而print screen键则将其看作是两
个通码分别为OxEO 0x12和OxEO Ox7C的“虚键,,的组合键来处理。
在驱动程序中声明如下全局变量:led-status其bit0一scroll lock led关0、开 1; bitl一num lock led关为。,开为1; bit2一caps lock led关为0,开为1; bit3-bit?总是。;agcs_status记录左右shift ctrl gui alt状态,bit0一左shift键,bitl一左。trl键,bit2一左gui键, bit3一左alt键,bit4-右shift键,bit5一右ctrl键,bit6一右gui键,bit7一右alt键,相应键按下则对应位为I,释放为。。EO_FLAG接到
OxEO置1; El FLAG接收到OxEl置1; FO-FLAG接收到OxFO置1。按键键值通过Keyval提供给上层使用。
PS/2键盘扫描码键值转换程序ps2_codetrans()流程如图5所示。
第一类按键的扫描码键值转换程序代码:
if (FO-FLAG) t//接收扫描码为断码
switch (mcu_revchar){//处理控制键
case 0x11:agcs_status& = OxF7;break;//左alt释放
case 0x12:agcs_status & =0xFE; break; //左shift释放
case 0x14:agcs_status&=OxFD; break;//左ctrl释放
case 0x58:if (1e走status&0x04)
le走status&二0x03; //caps lock键
else led_statusl =0x04;
ps2_ledchange();
break;

case 0x59; agcs_status&二OxEF;break;//右shift释放
case 0x77:if (led status&0x02 )
led_status& = 0x05; //num lock键
else led_status{ =0x02;
ps2_ledchange();
break;
case Ox7E; if(led_status&0x01)
led_status&=0x06; //scroll lock键
else led_statusI =0x01;
ps2_ledchange();
break;
default; break;
}
FO-FLAG = 0;lse { //接收扫描码为通码
if (1e走status衣0x04) caps flag=1;else caps-flag二0;
if (led-status & 0x02) num_flag=1;else num-flag二0;
if (scga_status&0x11) shift flag=1;else shift flag=0;
刀扫描码键值转换
if ((caps flag==shift-flag)}1(!num_flag)) KeyVal=b_plain_map[mciLrevchar];
else KeyVal二 kb-shift map[mcu_revcha];

switch (mcu-revchar){ //处理控制键或状态键
case 0x11: agcs_statusl二0x08;//左alt按下
case 0x12: ages-status}二0x01;//左shift按下
case 0x14: ages-status}二0x02;//左ctrl按下
case 0x59:agcs_status}二0x10;//右shift按下
default: break;
}
}

740)this.width=740" border=undefined>

第二类按键的扫描码键值转换程序与上相似。要注意的是在退出该程序段时对EO- FLAG和FO_FLAG标志的清0。
PAUSE键的处理程序:如果接收到OxEl,置El-FLAG= 1,然后顺次将后续接收到的7个字节数据和PAUSE的通码后7个字节比较,一致则返回KeyVal =KB PAUSE。在比较完所有 7个字节后清除El_ FLAG标志。
键盘初始化程序kb_init()流程:
① 上电后,接收键盘上电自检通过信号0 xAA,或者自检出错信号OxFC。单片机接收为OxAA,进人下一步,否则,进行出错处理。
② 关 LED指示,单片机发送 OxED,然后接收键盘回应0 xFA,接着发送0x00接收O xFA,

③ 设置机打延时和速率。单片机发送 0xF3,接收0 xFA,发送OxOO(250ms,2. Ocps),接收OxFA,
④ 检查LED,发送 0 xED,接收0 xFA,发送0x07开所有 LED),接收 OxFA。发送 0 xED,接收 0 xFA,发送0x00(关 LED),接收OxFA,
⑤允许键盘发送OxF4,接收0 xFA,键盘LED改变ps2_ledchange()函数流程:发送0 xED ~接收0 xFA~发送led-status~接收。xFA.

结 语
该驱动程序经Keil uVision2编译,在AT89C51单片机上运行通过,实现了对 PS/2 104键盘的支持,以及对字符按键大小写切换,num lock切换,控制键及组合按键的支持。该程序对其他嵌入式或单片机系统中PS/2键盘的应用也有借鉴意义。

这个谁知道呀?
好难呀
神仙也不可能知道!


电脑上的usb接口的标准是什么?
电脑上的USB接口的输出电压为直流5V,输出电流不大于500毫安。USB接口电压是5V±5%为外部提供电压。并不代表是恒定的5V电压。而USB2.0的更小,只有3%的波动。USB接口的电流就比较恒定,一般为500mA,笔记本的只有100mA。而USB接口的供电方式分为三种,主电源+5V直接供电、副电源直接供电、通过电源调整...

华为Type-C接口防腐蚀专利 真成“华为口”?
根据华为专利摘要内容,华为的Type-C中处理器的运行逻辑为,在确定终端的运动状态由移动状态进入静止状态时,控制接口芯片将第一 Type C 接口的 CC 引脚配置为低电平模式,可以降低 CC 引脚的有效电平,进而降低 CC 引脚与其它引脚之间发生电化学腐蚀的几率。【ZOL客户端下载】看最新 科技 资讯,APP市场...

求会电学,电路的解答。这个转换器能接这个散热器吗
这两个标志表示可以使用

计算机电涌是什么意思?
但是你的CPU也不高,奔腾的,H61芯片组应该是支持LGA1155(或者1156接口)的CPU,我说的模糊,但如果你要换的话,一定要搞清主板的CPU接口到底是1155、1156或者是1150,可以肯定他不支持1150接口的,1150接口支持4代酷睿的CPU。一个引脚相差就是不同平台。 还有一点现在HD7XXX都已经淘汰了,R200系统正流行,HD6770都已经是...

手机 直充充电 正负极 有懂电学方面的进
你最好是直接换一个插头,如果你自己不太懂的话去做可能没有什么太大的用,因为NOKLA手机的供电电路都有一个阻值的。如果你不小心的话,在充的时候当然没有问题不过肯定会大大影响他的使用寿命的。你如果想知道他的正负极先看一下手机充电器上面有没有注明。如果没有的话。你把手机拿正左边的那个是...

大二芯TS大三芯TRS及卡侬头音频接口的使用基础教程
大二芯TS大三芯TRS及卡侬头音频接口的使用基础教程 TRS插头,俗称“大三芯”,音频设备连接插头,用于平衡信号的传输(此时功能与卡侬插头一样)。它的接头外观是圆柱体形状,通常有三种尺寸1/4"(6.3

nano充电器接口是ipad还是iphone接口
由于苹果在USB接口数据引脚上耍的小花招,iPad知道这是iPhone的充电器,也就不会“要求”超过1A的充电电流,并不会使iPhone充电器过载而导致损坏。这也好比在公路上,虽然收费站里有4个收费亭,但是由于修路的原因,实际通车的车道只有1条,那么同时通过这个收费站的汽车最多仍然只有1辆。至于这条微博...

(笔记本和台式机)内存条的插口类型有哪些,针脚数是多少,各用什么工艺...
接口类型是根据内存条金手指上导电触片的数量来划分的,金手指上的导电触片也习惯称为针脚数(Pin)。因为不同的内存采用的接口类型各不相同,而每种接口类型所采用的针脚数各不相同。笔记本内存一般采用144Pin、200Pin接口;台式机内存则基本使用168Pin和184Pin接口。对应于内存所采用的不同的针脚数,内存插槽类型也各不...

我是电学菜鸟 问一个问题
用手去摸那个漏电的地方,漏电保护器会跳闸,断开电路(不是短路),从而保护你不会被电流持续通过而造成触电事故(还是会触电的,但时间很短)。如果没有漏电保护器或者漏电保护器失灵的话你就危险了。还有千万不要故意是做这种危险的事,即使漏电保护器能及时断开电源,如果你是对电流比较敏感的人,...

sony mp3 充电器问题 请教电学专家
楼下的真不付责任 我们都经理六级以上,全是回答sony的问题,相信你也看到不少因为用其他充电器充电机器出大问题的了 为了和我对着干,忽然这样建议楼主!在那个200分的帖子上我用博士的答案反驳了你的这个电流不会太损害机器的错误答案!不行,索尼电池好,也容易烧坏!虽然楼主列的数据很接近,但是,...

鹤城区15724917543: 鼠标usb线接法图解 -
蒙陶博尔: 棕色:电源+ 蓝色:电源- 墨绿:数据+ 白:数据收-

鹤城区15724917543: 用万用表怎样测量键盘、鼠标接口的供电引脚对地阻值啊?? -
蒙陶博尔: 对应脚位图 黑笔接地,红笔接脚位

鹤城区15724917543: 鼠标无法识别 -
蒙陶博尔: 鼠标无法识别?鼠标是所有电脑配件中使用最频繁的设备之一,因此它的故障率较高.许多朋友在鼠标出故障后就直接购买一个新的,把旧的一扔了之,其实鼠标出现的大部分问题都可以使用一些简单的修理办法解决.工具准备鼠标结构虽然...

鹤城区15724917543: 鼠标常见故障怎么排除啊
蒙陶博尔: 拿到别的电脑上试试 如果不行证明鼠标坏了如果你用的是 USB的话 是否安装了驱动 换个 U口插 PS/2鼠标经常插拔(非热插拔)如意接触不良

鹤城区15724917543: 鼠标的左右按键里的三个引脚焊点分别有什么作用? -
蒙陶博尔: 只有第一和第二个有用

鹤城区15724917543: 为什么我的鼠标插到电脑里显示识别不出来 -
蒙陶博尔: 无法识别的USB设备"处理方法 1.前置USB线接错.当主板上的USB线和机箱上的前置USB接口对应相接时把正负接反就会发生这类故障,这也是相当危险的,因为正负接反很可能会使得USB设备烧毁. 所以尽量采用机箱后置的USB接口,也...

鹤城区15724917543: USB鼠标将pin脚定义是怎样的 -
蒙陶博尔: 1,+5V 电压 2,DTAT- 数据- 3,DTAT+ 数据+ 4,-5V接地

鹤城区15724917543: 为什么我鼠标插到电脑上电脑无法识别?
蒙陶博尔: 你可以试着换另外一个USB接口呀,如果还不行,那是不是你主板驱动没打上去呀,再不然就是鼠标问题了

鹤城区15724917543: 鼠标里面由哪几种零件构成
蒙陶博尔: 光学感应器、光学透镜、发光二极管、接口处理器、轻触式按键、滚轮、连线、ps/2或usb借口、外壳等

鹤城区15724917543: 鼠标内二极管不亮的事~~ -
蒙陶博尔: 回答1:你是说你的鼠标有时可以正常使用有时不行是这个意思吧..这个是因为你的鼠标里面或者说电路板上的某个电子器件的引脚松了..才会这样.磕打一下就会把那个引脚松电子器件有接触到了触点,,所以又好了.回答2:二极管不亮,可能就是你那个二极管的引脚松了.这次可能是彻底的脱焊了..回答3:我不知道你懂不懂电子方面,那个二极管说白了就是一个给鼠标下面的探头提供光源的元件,你这样把二极管的发光的那天压在探头上面就可以了..你如果把二极管搞下来了..你装的时间要注意二极管是有级性的哦..

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网