PS2键盘控制器

PS2键盘控制器
PS2键盘控制器

PS2控制器说明

1:该控制器可以实现多路独立输出,每路可以控制99个云台,本控制器支持4路输入。

2:协议支持:具有POLCO-D,POLCO-P,SAMSUNG等协议

3:波特率支持:具有1200bps,2400 bps,4800 bps,9600 bps 四种波特率。

4:该键盘控制器可以对所控制的的每一台设备进行独立设定协议和速率,其所控制的全部云台的协议和速率可以相同,也可以不相同。

键盘操作说明:

1:云台动作控制:

1)按键盘上的上下左右移动件可以控制云台的动作。

2)单圈扫描功能:按TAB键,云台可以从现在的位置及状态单圈循环扫描,再回到原有位置及状态。(水平,垂直,摄像机变

倍)

3)巡航扫描:按CAPS LOCK键,云台作从预制点1到预制点N 的自动巡航扫描。(最多16个)

2:摄像头动作的控制:

1)按insert/delete键,可以控制摄像机的拉近/推远。在摄像机菜单的调用中,作菜单选项的上下移动。

2)按home/end键,可控制摄像机聚焦的近/远。在摄像机菜单的调用中,菜单选项的修改和确定。

3)按pageup/down键可控制摄像机光圈的大/小,对于某些一体机摄像机可为菜单调用使用。

1.控制器参数的设置:

1》波特率设置:按ctrl键“+”,当前波特率增加,按ctrl键“-”,当前波特率减小。

2》通讯协议:按数字键“0x”,当前输入的数字在协议地址位置显示,按“p”键,协议确定。

3》地址码设置:按数字键“xx”,当前输入的数字在协议位显示,按“A”键,地址确定。

4》通道设置:按数字键“0x”,再按“-”键,通道确定。该键盘通道最大为4.

3.通过控制器设置云台参数:

1)预制位设置:

A:标准设置:(可设置0-31)调整云台水平、垂直及摄像机变倍的位置,按数字“xx”再按ctrl+insert,设置显示的XX号预置位。B:快速设置:(1-9)调整云台水平,垂直及摄像变倍机的位置。按ctrk+x,x预制位被确定。

2)预制位清除

按数字键“xx”按ctrl+delete,清除显示的xx预制位。

3云台运行参数修改

A:地址码修改:在确保控制器能够对云台进行控制操作的同时。

输入新的地址吗“xx”,按ctrl+alt同时再按A,云台的地址码将

被修改。控制器的产生也同步改变,数码管显示的地址位修改后云台新的地址。

B:波特率的修改:在确保控制器能够对云台进行控制操作的同时。

输入新的波特率“xx”,按ctrl+alt,同时再按B,云台的波特率将被修改,控制器的参数也同步改变,数码管显示的波特率位修改后的云台新的波特率。

预制点标准调用:按数字键“xx”,按ENTER键,调xx预制位。预制点快速调用:按F1\F2\F3.......\F12,快速调用预制点1、2、3、. (12)

ps2键盘转USB接线图

ps/2键盘接线图- - 废话就不多说了,这是普通的PS/2的键盘接线图,图中是接口(PS/2插头)截面图。上面标的字母一般在键盘里的电路板上有印的,对照着焊就行了。如果没有标注字母,这个我就没办法了哈哈~ 多数键盘应该是按照DCGV的顺序排线的,没有写明的可优先考虑这个。

键盘接线黄、红、白、绿对应的针脚如下黄3 红4 白6 绿2 USB的针脚定义如下图:

(注:图示仅供参考,可能有错) USB对应的线与针脚间的连接如下: 红4 白3 绿2 黑1 这样弄清楚了各个针脚的意义,我们就可以进行改造了。根据针脚定义我们对应的做出以下表格:

首先取下旧鼠标上面的USB连线,直接从与鼠标电路板相连的地方剪断就行了;然后拨开线头,接下来取下键盘上的PS/2连线,并记住不同颜色的线的焊接点,同样可以从焊点处剪断;找来电烙铁,根据上表将USB线头依次焊接到键盘的焊点上,使用电烙铁需要注意,不要损伤电路板和芯片,注意避免和键盘后边的透明塑料线板接触。如果没有电烙铁,可以拨开线头直接连接,然后用绝缘胶布封好。这样做也相对简单,但是不美观。好了,现在试试看,你有USB键盘了吧?好用吧?别忘了在BIOS里边将USB keyboard support设置为Enable【Enable 允 许(或可用)Disable 禁用(或不可用)一般在主板的BIOS设置里面经常看到此选项, 比如主板BIOS里面的usb config 里面对应的选项,如果选择Disable,则USB接口被禁 用;如果改成Enable选项,则电脑的USB接口可用。】啊。否则用不了别怪我! 有了键盘改造的经验,顺便说一下鼠标的改造。让我们可以彻底抛弃PS/2接口。找来一个双飞雁2D鼠标,打开鼠标。同样有4根线颜色分别为蓝、白、绿、橙,用万能表测试了一下,发现针脚定义与键盘完全相同,可以参照键盘。 对应的电线和针脚连接为: 蓝3 白6 绿2 橙4 当然USB接线和针脚也和刚才的一样了。修改的时候也和修改键盘一样就行了。不过需要注意的是鼠标的连线和电路板不是焊点,而是插槽,这样修改起来或许更方便。具体的接线对应下表:

基于51单片机的PS2键盘的单片机编程

PS2键盘的单片机编程 在单片机系统中,经常使用的键盘都是专用键盘.此类键盘为单独设计制作的,成本高、使用硬件连接线多,且可靠性不高,这一状况在那些要求键盘按键较多的应用系统中更为突出.与此相比,在PC系统中广泛使用PS/2键盘具有价格低、通用可靠,且使用连接线少(仅使用2根信号线)的特点,并可满足多种系统的要求.因此在单片机系统中应用PS/2键盘是一种很好的选择. 文中在介绍PS/2协议和PS/2键盘工作原理与特点的基础上,给出了一个在单片机上实现对PS/2键盘支持的硬件连接与驱动程序设计实现.该设计实现了在单 片机系统中对PS/2标准104键盘按键输入的支持.使用Keil C51开发的驱动程序接口和库函数可以方便地移植到其他单片机或嵌入式系统中.所有程序在 Keil uVision2上编译通过,在单片机AT89C51上测试通过. 1 PS/2协议 目前,PC机广泛采用的PS/2接口为mini-DIN 6pin的连接器,如图1所示. PS/2设备有主从之分,主设备采用Female插座,从设备采用Male插头.现在广泛使用的PS/2键盘鼠标均在从设备方式下工作.PS/2接口的时钟 与数据线都是集电极开路结构,必须外接上拉电阻(一般上拉电阻设置在主设备中).主从设备之间数据通信采用双向同步串行方式传输,时钟信号由从设备产生. 1.1 从设备到主设备的通信 当从设备向主设备发送数据时,首先检查时钟线,以确认时钟线是否为高电平.如果是高电平,从设备就可以开始传输数据;反之,从设备要等待获得总线的控制权,才能开始传输数据.传输的每一帧由11位组成,发送时序及每一位的含义如图2 所示. 每一帧数据中开始位总是为0,数据校验采用奇校验方式,停止位始终为1.从设 备到主设备通信时,从设备总是在时钟线为高时改变数据线状态,主设备在时钟 下降沿读人数据线状态.

PS2键盘和USB键盘编码表

PS2键盘编码

USB键盘编码 这是从USB HID应用手册里面截选出来的一段。 实际上常用的也就前面的几项,比如 83 53 Keypad Num Lock and Clear11 90 √√√ 101/104 83是键值的10进制编码,53是键值的16进制编码,然后 Keypad Num Lock and Clear的意思是小键盘(数字键盘)锁按键 再比如20 14 Keyboard q and Q4 17 √√√ 4/101/104 20也是键q的十进值编码,14是十六进制编码,后面注释是字母q或Q的编码。 0 00 Reserved (no event indicated)9 N/A √√√4/101/104 1 01 Keyboard ErrorRollOver9 N/A √√√4/101/104 2 02 Keyboard POSTFail9 N/A √√√4/101/104 3 03 Keyboard ErrorUndefined9 N/A √√√4/101/104 4 04 Keyboard a and A4 31 √√√4/101/104 5 05 Keyboard b and B 50 √√√4/101/104 6 06 Keyboard c and C4 48 √√√4/101/104 7 07 Keyboard d and D 33 √√√4/101/104 8 08 Keyboard e and E 19 √√√4/101/104 9 09 Keyboard f and F 34 √√√4/101/104 10 0A Keyboard g and G 35 √√√4/101/104 11 0B Keyboard h and H 36 √√√4/101/104 12 0C Keyboard i and I 24 √√√4/101/104

PS2键盘与USB键盘编码表

USB键盘编码 这是从USB HID应用手册里面截选出来的一段。 实际上常用的也就前面的几项,比如 83 53 Keypad Num Lock and Clear11 90 √√√101/104 83是键值的10进制编码,53是键值的16进制编码,然后 Keypad Num Lock and Clear的意思是小键盘(数字键盘)锁按键 再比如20 14 Keyboard q and Q4 17 √√√4/101/104 20也是键q的十进值编码,14是十六进制编码,后面注释是字母q或Q的编码。 0 00 Reserved (no event indicated)9 N/A √√√4/101/104 1 01 Keyboard ErrorRollOver9 N/A √√√4/101/104 2 02 Keyboard POSTFail9 N/A √√√4/101/104 3 03 Keyboard ErrorUndefined9 N/A √√√4/101/104 4 04 Keyboard a and A4 31 √√√4/101/104 5 05 Keyboard b and B 50 √√√4/101/104 6 06 Keyboard c and C4 48 √√√4/101/104 7 07 Keyboard d and D 33 √√√4/101/104 8 08 Keyboard e and E 19 √√√4/101/104 9 09 Keyboard f and F 34 √√√4/101/104 10 0A Keyboard g and G 35 √√√4/101/104 11 0B Keyboard h and H 36 √√√4/101/104 12 0C Keyboard i and I 24 √√√4/101/104 13 0D Keyboard j and J 37 √√√4/101/104 14 0E Keyboard k and K 38 √√√4/101/104 15 0F Keyboard l and L 39 √√√4/101/104 16 10 Keyboard m and M4 52 √√√4/101/104 17 11 Keyboard n and N 51 √√√4/101/104 18 12 Keyboard o and O4 25 √√√4/101/104 19 13 Keyboard p and P4 26 √√√4/101/104

PS2键盘(鼠标)接线图

键盘接线黄、红、白、绿对应的针脚黄3 红4 白6 绿2 USB的针脚定义如下图 (注:图示仅供参考,可能有错) USB对应的线与针脚间的连接红4 白3 绿2 黑1 这样弄清楚了各个针脚的意义,我们就可以进行改造了 根据针脚定义我们对应的做出以下表格: 首先取下旧鼠标上面的USB连线,直接从与鼠标电路板相连的地方剪断就行了;然后拨开线头,接下来取下键盘上的PS/2连线,并记住不同颜色的线的焊接点,同样可以从焊点处剪断;找来电烙铁,根据上表将USB线头依次焊接到键盘的焊点上,使用电烙铁需要注意,不要损伤电路板和芯片,注意避免和键盘后边的透明塑料线板接触。如果没有电烙铁,可以拨开线头直接连接,然后用绝缘胶布封好。这样做也相对简单,但是不美观。好了,现在试试看,你有USB 键盘了吧?好用吧?别忘了在BIOS里边将USB keyboard support设置为Enable啊。否则用不了别怪我

有了键盘改造的经验,顺便说一下鼠标的改造。让我们可以彻底抛弃PS/2接口。找来一个双飞雁2D鼠标,打开鼠标。同样有4根线颜色分别为蓝、白、绿、橙,用万能表测试了一下,发现针脚定义与键盘完全相同,可以参照键盘。 对应的电线和针脚连接为:蓝3 红6 绿2 橙4 当然USB接线和针脚也和刚才的一样了。修改的时候也和修改键盘一样就行了。不过需要注意的是鼠标的连线和电路板不是焊点,而是插槽,这样修改起来或许更方便。具体的接线对应下表: 以上就是关于键盘和鼠标PS/2接口改造为USB接口的方法。通过这些改造我们就可以完全抛弃陈旧的PS/2而换上大红大紫的USB接口了。最后需要提醒的是,朋友们在修改的时候最好自己用万能表测试一下,因为不同的鼠标和键盘可能用线的颜色不太一样,本文的目的就是教给大家基本方法。

PS2通信协议说明与接口定义(键盘和鼠标)

PS2键盘与鼠标的接口定义 针脚定义: 原理 PS/2鼠标接口采用一种双向同步串行协议?即每在时钟线上发一个脉冲,就在数据线上发送一位数据?在相互传输中,主机拥有总线控制权,即它可以在任何时候抑制鼠标的发送?方法是把时钟线一直拉低,鼠标就不能产生时钟信号和发送数据?在两个方向的传输中,时钟信号都是由鼠标产生,即主机不产生通信时钟信号? 如果主机要发送数据,它必须控制鼠标产生时钟信号?方法如下:主机首先下拉时钟线至少100μs 抑制通信,然后再下拉数据线,最后释放时钟线?通过这一时序控制鼠标产生时钟信号?当鼠标检测到这个时序状态,会在10ms内产生时钟信号?如图3中A 时序段?主机和鼠标之间,传输数据帧的时序如图2?图3所示?2.2 数据包结构在主机程序中,利用每个数据位的时钟脉冲触发中断,在中断例程中实现数据位的判断和接收?在实验过程中,通过合适的编程,能够正确控制并接收鼠标数据?但该方案有一点不足,由于每个CLOCK都要产生一次中断,中断频繁,需要耗用大量的主机资源? PS/2鼠标的四种工作模式是:Reset模式,当鼠标上电或主机发复位命令0xFF给它时进入这种模式;Stream模式鼠标的默认模式,当鼠标上电或复位完成后,自动进入此模式,鼠标基本上以此模式工

作;Remote模式,只有在主机发送了模式设置命令0xF0后,鼠标才进入这种模式;Wrap模式,这种模式只用于测试鼠标与主机连接是否正确? PS/2鼠标在工作过程中,会及时把它的状态数据发送给主机?发送的数据包格式如表1所示? Byte1中的Bit0?Bit1?Bit2分别表示左?右?中键的状态,状态值0表示释放,1表示按下?Byte2和Byte3分别表示X轴和Y轴方向的移动计量值,是二进制补码值?Byte4的低四位表示滚轮的移动计量值,也是二进制补码值,高四位作为扩展符号位?这种数据包由带滚轮的三键三维鼠标产生?若是不带滚轮的三键鼠标,产生的数据包没有Byte4 其余的相同? 一.PS/2 鼠标键盘协议 PC 键盘可以有6 脚的mini-DIN 或5 脚的DIN 连接器如果你的键盘是6 脚的mini-DIN 而你的计算机是5 脚的DIN 或者相反这两类连接器可以用上面提到的适配器来兼容具有6 脚mini-DIN 的键盘通常被叫做PS/2 键盘而那些有5 脚DIN 叫做AT 设备XT 键盘也使用5 脚DIN 但它们非常古老并且多年前就不生产了所有现代的为PC 建造的键盘不是PS/2,AT 就是USB 的这篇文章不适用于USB 设备它们使用了一种完全不同的接口。 每种连接器的引脚定义如下所示 在刚才提到连接器上有四个有趣的管脚电源地5V 数据和时钟host 计算机提供5V 并且键盘/鼠标的地连接到host 的电源地上数据和时钟都是集电极开路的这就意味着它们通常保持高电平而且很容易下拉到地逻辑0 任何你连接到PS/2 鼠标键盘或host 的设备在时钟和数据线上要PS/2 技术参考著Adam Chapweske 译Roy Show第4 页共4 页02-11-22发布有一个大的上拉电阻置0 就把线拉低置1 就让线上浮成高电平参考图1 中数据和时钟线的一般接口结构注意如果你打算使用象PIC 这样的微控制器由于它们的I/O 管脚是双向的你可以跳过晶体管和缓冲门并且通用同一个管脚进行输入和输出在这种组态情况下要设置管脚为输入就写入1 使得电阻上拉线上的电平要改变管脚为输出就写入0 到那个管脚把线路下拉到地。) PS/2 鼠标和键盘履行一种双向同步串行协议。换句话说每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入。键盘/鼠标可以发送数据到主机,而主机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候抑制来自于键盘/鼠标的通讯,只要把时钟拉低即可。 从键盘/鼠标发送到主机的数据在时钟信号的下降沿当时钟从高变到低的时候被读取从主机发送到键盘/鼠标的数据在上升沿(当时钟从低变到高的时候)被读取;不管通讯的方向怎样键盘/鼠标总是产生时钟信号如果主机要发送数据它必须首先告诉设备开始产生时钟信号这个过程在下一章节中被描述)。最大的时钟频率是33kHz ,而且大多数设备工作在10 20kHz 。如果你要制作一个PS/2 设备。我推荐你把频率控制在15kHz 左右。这就意味着时钟应该是高40 微秒低40 微秒。 所有数据安排在字节中,每个字节为一帧,包含了11-12 个位。这些位的含义如下: 如果数据位中包含偶数个1,校验位就会置1;如果数据位中包含奇数个1,校验位就会置0 。数据位中1 的个数加上校验位总为奇数(这就是奇校验)这是用来错误检测。 当主机发送数据给键盘/鼠标时,设备回送一个握手信号来应答数据包已经收到。这个位不会出现

PS2键盘控制器

PS2控制器说明 1:该控制器可以实现多路独立输出,每路可以控制99个云台,本控制器支持4路输入。 2:协议支持:具有POLCO-D,POLCO-P,SAMSUNG等协议 3:波特率支持:具有1200bps,2400 bps,4800 bps,9600 bps 四种波特率。 4:该键盘控制器可以对所控制的的每一台设备进行独立设定协议和速率,其所控制的全部云台的协议和速率可以相同,也可以不相同。 键盘操作说明: 1:云台动作控制: 1)按键盘上的上下左右移动件可以控制云台的动作。 2)单圈扫描功能:按TAB键,云台可以从现在的位置及状态单圈循环扫描,再回到原有位置及状态。(水平,垂直,摄像机变 倍) 3)巡航扫描:按CAPS LOCK键,云台作从预制点1到预制点N 的自动巡航扫描。(最多16个) 2:摄像头动作的控制: 1)按insert/delete键,可以控制摄像机的拉近/推远。在摄像机菜单的调用中,作菜单选项的上下移动。 2)按home/end键,可控制摄像机聚焦的近/远。在摄像机菜单的调用中,菜单选项的修改和确定。

3)按pageup/down键可控制摄像机光圈的大/小,对于某些一体机摄像机可为菜单调用使用。 1.控制器参数的设置: 1》波特率设置:按ctrl键“+”,当前波特率增加,按ctrl键“-”,当前波特率减小。 2》通讯协议:按数字键“0x”,当前输入的数字在协议地址位置显示,按“p”键,协议确定。 3》地址码设置:按数字键“xx”,当前输入的数字在协议位显示,按“A”键,地址确定。 4》通道设置:按数字键“0x”,再按“-”键,通道确定。该键盘通道最大为4. 3.通过控制器设置云台参数: 1)预制位设置: A:标准设置:(可设置0-31)调整云台水平、垂直及摄像机变倍的位置,按数字“xx”再按ctrl+insert,设置显示的XX号预置位。B:快速设置:(1-9)调整云台水平,垂直及摄像变倍机的位置。按ctrk+x,x预制位被确定。 2)预制位清除 按数字键“xx”按ctrl+delete,清除显示的xx预制位。 3云台运行参数修改 A:地址码修改:在确保控制器能够对云台进行控制操作的同时。 输入新的地址吗“xx”,按ctrl+alt同时再按A,云台的地址码将

PS2键盘与单片机通信解读

PS/2键盘与单片机通信 一、实验目的: 掌握PS/2键盘与单片机通信的原理,并能加以应用。 二、实验仪器: 单片机最小实验系统AT89S52,PS/2键盘 三、实验原理: PS/2接口通信协议PS/2接口键盘与主机采用双向通信方式,键盘可以向主机发送数据主机也可以发送命令给键盘。主机具有最高优先权。通信协议是标准的串行异步通信格式,1位起始位,8位数据位(LSB在先),1位奇校验位P,1位停止位,若为主机发送状态,则还有一位应答位。数据格式如图2所示。 主机同键盘进行通信时,无论发送还是接收数据,都要依赖于键盘发送的时钟脉冲(每次数据传输发送l1个时钟脉冲),时钟频率为

10-16.7kHz,通过判断时钟脉冲的上升沿和下降沿,逐位发送或读取数据位。当数据线DATA和时钟线CLK同时为高电平时,键盘可以发数据给主机。CLK可用作清除发送线。如果主机将CLK拉为低电平,则禁止键盘发送数据,而是将发送数据放到发送缓存区中,直到CLK变为高电平才开始发送数据。如果主机将DATA拉低,则当键盘检测到这一变化时,接收来自主机的命令。概括如表l所示。 当键盘发送数据时,键盘先将DATA 拉低,通知主机准备接收数据。键盘在CLK为高电平时建立数据,主机在CLK为低电平时读取数据。发送数据的时钟信号由键盘产生。时序如图3所示。 图4给出了键盘接受一个字节的时序。为了避免在同一时刻发送数据,应将CLK拉低大约100 uS以上,以禁止键盘发送数据。然后主机将数据线DATA拉低,发送起始位,并释放CLK(高电平),由键盘接管CLK,以产生时钟信号。主机在此同步时钟信号下发送数据。键盘接收数 据是从检测到DATA变低开始,然后在CLK为高电平时读取数据,这与

ps2键盘编码

2 PS/2键盘的编码与命令集 2.1 PS/2键盘的编码 目前,PC机使用的PS/2键盘都默认采用第2套扫描码集.扫描码有两种不同的类型:“通码(make code)”和“断码(break code)”.当一个键被按下或持续按住时,键盘会将该键的通码发送给主机;而当一个键被释放时,键盘会将该键的断码发送给主机.根据键盘按键扫描码的不同,可将按键分为3类: 第1类按键通码为一个字节,断码为0xF0+通码形式.如A键,其通码为0x1C;断码为0xF0 0x1C. 第2类按键通码为两字节0xE0+0xXX形式,断码为0xE0+0xF0+0xXX形式.如Right Ctrl键,其通码为0xE0 0x14;断码为0xE0 0xF0 0x14. 第3类特殊按键有两个,Print Screen键,其通码为0xE0 0x12 0xE0 0x7C;断码为0xE0 0xF0 0x7C 0xE0 0xF0 0x12.Pause键,其通码为0xE1 0x14 0x77 0xE1 0xF0 0xl4 0xF0 0x77;断码为空. 组合按键扫描码的发送是按照按键发生的次序,如按下面顺序按左Shift十A键:①按下左Shift键;②按下A键;③释放A键;④释放左Shift键,那么计算机上接收到的一串数据为0x12 0x1C 0xF0 0x1C 0xF0 0x12. 在文中的驱动程序设计中,就是根据按键的分类对其分别进行处理. 2.2 PS/2键盘的命令集 主机可通过向PS/2键盘发送命令对键盘进行设置或者获得键盘的状态等操作.每发送一个字节,主机都会从键盘获得一个应答0xFA(“重发resend”和“回应echo”命令例外).驱动程序在键盘初始化过程中所用的指令:0xED,主机在该命令后跟随发送一个参数字节,用于指示键盘上Num Lock,Caps Lock,Scroll Lock Led的状态;0xF3,主机在这条命令后跟随发送一个字节参数定义键盘机打的速率和延时;0xF4,用于当主机发送0xF5禁止键盘后,重新使能键盘. 4.1 单片机与键盘间PS/2通信的程序设计 在PS/2通信过程中,主设备(文中是单片机)是在时钟信号为低时发送和接收数据信号.因为单片机向键盘发送的是指令,需要键盘回应,所以这部分程序采用查询方式;而单片机接收键盘数据时,数据线上的信号在时钟为低时已经稳定,所以这部分程序采用中断方式,且不需要在程序中加入延时程序. 单片机向PS/2键盘发送数据程序代码为: void ps2_sentchar(unsigned char sentchar){//ps2主设备向从设备发送数据 unsigned char sentbit_cnt= 0x00; unsigned char sentchar_chk = 0x00; EX0=0; //关外部中断0 //发起一个传送,发起始位 PS2_SGN_CLOCK = 0; //将时钟线拉低并保持100 us delay100us(); PS2_SGN_DATA= 0; //起始位 PS2_SGN_CLOCK = 1; //发送DATA0-7 for(sentbit_cnt=0;sentbit_cnt< 8;sentbit_cnt++){ while(PS2_SGN_CLOCK) _nop_(); //等待时钟线变为低 PS2_SGN_DATA = sentchar& 0x01;//发送数据 if(PS2_SGN_DATA) sentchar_chk++; //计算校验 while(!PS2_SGN_CL0CK) _nop_(); //等待时钟线变高 sentchar>>=1; //待发送数据右移一位 } //发送校验位 while(PS2_SGN_CLOCK) _nop_(); //等待时钟线变低

PS2键盘FPGA程序

PS2键盘FPGA程序 转发评论 2011-04-28 14:30 PS2的接口如上图,除了Pin 5 和Pin 1 其他的引脚对解码没有什么意义。而下图是PS 2协议的时序图。PS2协议对数据的移位是“Clock 的下降沿”有效。PS2时钟的频率比较慢,大约是10Khz左右。 第N位:0 1---8 9 10 11 取值:0 x---x x 1 x 意义:开始位数据位寄偶校验位停止位应答位 PS2的一帧是12位。对PS2进行解码时,除了第1~8位数据位以外,其余的位都可以无视。

键盘的编码有“通码”(Make)和“断码”(Break)之分。看得简单一点就是,“通码”是某按键的“按下事件”,“断码”是某按键的“释放事件”。 假设,我按下“W”键不放,每秒大约会输出10个“0x1d”的“通码”。然后我释放“W”键,就会输出“0xF0 0x1d” 的“断码”。编码键盘还有一个老规则,就是一次只有一个输出。 再假设我按下“W”键不放,然后我再按下“X”键不放,那么会输出“0x1d”“0x22”“0x22”........ 的通码。如果此时我放开“X”键,就会输出“0xf0 0x22”的“断码”,此时“W”键的“通码”已经无效。但是当我释放“W”键的时候,依然会输出“0xf0 0x1d”,“W”键的“断码”。 至于组合键“ Shift + ?” ,“ Ctrl + ?”都是软件的工作,还需要详解。

FPGA模拟PS2协议refer to https://www.360docs.net/doc/6d16615591.html,/kingst/ 2010-10-14 09:40:58| 分类:fpga | 标签:ps2_clkr data2 fpga rst reg |字号大中小订阅 /*出处https://www.360docs.net/doc/6d16615591.html,/kingst/*/ 在以前使用单片机对PS2进行解码的时候,一句话就是苦。如果是CPLD 或者FPGA 的前提下,PS2的解码才有意义。 PS2的接口如上图,除了Pin 5 和Pin 1 其他的引脚对解码没有什么意义。而下图是PS2协议的时序图。PS2协议对数据的移位是“Clock 的下降沿”有效。PS2时钟的频率比较慢,大约是10Khz左右。 第N位 属性 开始位 1~8 数据位 9 校验位 10 结束位 PS2的一帧是11位。对PS2进行解码时,除了第1~8位数据位以外,其余的位都可以无视。 对编码键盘“键盘码”的简单认识 普通计算机采用的都是“编码键盘”,但是“编码键盘”的“编码方式”有分为“第一套”“第二套”和“第三套”。“第二套”的编码使用较为普遍,大致上的民用键盘都是采用“第二套”编码方式。

ps2键盘接口换usb接口

ps2键盘接口换usb接口 USB电缆有4条线,2条信号线,2条电源线,可提供5伏特电源。允许的电压范围是 4.75V 至 5.25V,可提供的最大电流500mA,线缆最大长度可以达到5米。 PS/2接口针脚定义:1(空)2(键盘、鼠标数据信号)3(+5V(驱动控制芯片和LED指示灯)) 4(地)5(空置)6(键盘、鼠标时钟信号) 不过最好买个转接头安全些 仔细研究一下两种接口的针脚,PS/2的针脚是6针的,而USB针脚却是4针,两者都提供+5v的电压。拆开键盘(小心里边的橡胶小帽儿,弄不好撒的到处都是,别说我没提醒你),里边竟然有4根线(黄、红、白、绿),这就说明真正起作用的也就是4个针脚,和USB应 该是一一对应的。 键盘接线黄、红、白、绿对应的针脚如下 黄3 红4 白6 绿2 USB的针脚定义如下图: USB对应的线与针脚间的连接如下: 红4 白3 绿2 黑1 这样弄清楚了各个针脚的意义,我们就可以进行改造了。 根据针脚定义我们对应的做出以下表格:

首先取下旧鼠标上面的USB连线,直接从与鼠标电路板相连的地方剪断就行了;然后拨开线头,接下来取下键盘上的PS/2连线,并记住不同颜色的线的焊接点,同样可以从焊点处剪断;找来电烙铁,根据上表将USB线头依次焊接到键盘的焊点上,使用电烙铁需要注意,不要损伤电路板和芯片,注意避免和键盘后边的透明塑料线板接触。如果没有电烙铁,可以拨开线头直接连接,然后用绝缘胶布封好。这样做也相对简单,但是不美观。好了,现在试试看,你有USB键盘了吧?好用吧?别忘了在BIOS里边将USB keyboard support设 置为Enable啊。否则用不了别怪我! 有了键盘改造的经验,顺便说一下鼠标的改造。让我们可以彻底抛弃PS/2接口。找来一个双飞雁2D鼠标,打开鼠标。同样有4根线颜色分别为蓝、白、绿、橙,用万能表测试了一下,发现针脚定义与键盘完全相同,可以参照键盘。 对应的电线和针脚连接为: 蓝3 白6 绿2 橙4 当然USB接线和针脚也和刚才的一样了。修改的时候也和修改键盘一样就行了。不过需要注意的是鼠标的连线和电路板不是焊点,而是插槽,这样修改起来或许更方便。具体 的接线对应下表: 完毕

PS2协议和鼠标键盘原理

第一章 PS/2鼠标键盘协议 Introduction: 引言 The PS/2 device interface, used by many modern mice and keyboards, was developed by IBM and originally appeared in the IBM Technical Reference Manual. However, this document has not been printed for many years and as far as I know, there is currently no official publication of this information. I have not had access to the IBM Technical Reference Manual, so all information on this page comes from my own experiences as well as help from the references listed at the bottom of this page. PS/2设备接口用于许多现代的鼠标和键盘它是由IBM开发并且最初出现在IBM技术参考手册里但是当我知道的时候这篇文件就已经很多年没有印刷了因此关于这个内容现在没有官方的出版物我无法访问IBM的技术参考手册所以本网页中的所有信息都来自于我自己的经验及本页最下面列出的参考的帮助 译者注这些参考的条目在本章的结尾处 This document descibes the interface used by the PS/2 mouse, PS/2 keyboard, and AT keyboard. I'll cover the physical and electrical interface, as well as the protocol. If you need higher-level information, such as commands, data packet formats, or other information specific to the keyboard or mouse, I have written separate documents for the two devices: 这个文件描述了用于PS/2鼠标PS/2键盘及AT键盘的接口我将论及物理和电气接口也包括协议 如果你需要更高级的信息诸如命令数据包的格式或者其他关于键盘鼠标的特别细节那么我对这两种设备写了独立的文件 The PS/2 (AT) Keyboard Interface The PS/2 Mouse Interface 译者注这两篇文章已经包含到这篇译文中来了是第二章和第三章 I also encourage you to check out my homepage for more information related to this topic, including projects, code, and links related to the mouse and keyboard. 我同样鼓励你在我的主页上校对更多与这个话题相关的信息包括工程代码和与鼠标键盘有关的链接 The Connector: 连接器 The physical PS/2 port is one of two styles of connectors: The 5-pin DIN or the 6-pin mini-DIN. Both connectors are completely (electrically) similar; the only practical difference between the two is the arrangement of pins. This means the two types of connectors can easily be changed with simple hard-wired adaptors. These cost about $6 each or you can make your own by matching the pins on any two connectors. The DIN standard was created by the German Standardization Organization (Deutsches Institut fuer Norm) . Their website is at http://www.din.de/ (this site is in German, but most of their pages are also available in English.) 物理上的PS/2端口是两类连接器中的一种5脚的DIN或6脚的mini-DIN这两种连接器在电气特性上是十分类似的实际上两者只有一点不同那就是管脚的排列这就意味着这两类连接器可以很容易用一种简单的硬件连线的适配器来转换这种适配器大约每个值6美元或者你可以根据任意两种连接器的对应管脚关系做你自己的适配器DIN标准是由德国标准化组织(Deutsches Institut fuer Norm)建立的他们的网站在http://www.din.de/这个站点是德文的但他们的很多网页同样可用于英文

VHDL课程设计_PS2键盘

目录 一、课程设计的目的与任务 (2) 二、课程设计题目 (2) 1、指定题目: (2) 2、自选题目: (2) 三、课程设计的内容与要求 (2) 1、设计内容 (2) 2、设计要求 (3) 四、实验仪器设备 (3) 五、设计方案 (3) 1、PS2解码 (3) 2、设计思路 (5) 3、模块设计 (6) 4、各模块分析 (7) (1)PS2时钟检测模块 (7) (2)PS2解码模块 (8) (3)PS2组合模块 (10) (4)控制LED模块 (12) (5)PS2总的组合模块 (14) 六、综合与仿真 (15) 1、综合 (15) 2、仿真 (16) (1)电平检测模块仿真 (16) (2)LED灯控制模块仿真 (17) (3)PS2_module总模块仿真 (17) 七、硬件下载 (20) 八、心得体会 (22) 九、参考文献 (22)

一、课程设计的目的与任务 (1)熟练掌握EDA工具软件QuartusII的使用; (2)熟练用VHDL硬件描述语言描述数字电路; (3)学会使用VHDL进行大规模集成电路设计; (4)学会用CPLD\FPGA使用系统硬件验证电路设计的正确性; (5)初步掌握EDA技术并具备一定的可编程逻辑芯片的开发能力; 二、课程设计题目 1、指定题目: 0 :多功能计数器;1 :数字秒表;2 :简易数字钟;3 :简易频率计; 4 :彩灯控制器; 5 :交通灯控制器; 6 :四路智力竞赛抢答器; 7 :简易微波炉控制器;8 :表决器;9 :数字密码锁; 我的的学号尾数是2,所以我要做的题目是简易数字钟。由于我之前已经学过Verilog HDL和VHDL,所以简易数字钟相对于我比较简单,我完成了简易数字钟并验收后,再选择了另一个自选题目来完成。 简易数字钟:设计一个以“秒”为基准信号的简易数字钟,显示时、分、秒,同时可实现整点报时和清零(我已经完成,而且已经验收了)。 2、自选题目: 在完成了数字钟的设计后,我选择了另一个设计的题目,那就是PS2键盘扫描。所以这次课程设计我的报告主要详细写的是PS2键盘扫描的程序,而不是简易数字钟。 PS键盘扫描:设计一个PS键盘扫描程序,能接受键盘的输入时钟和数据,区别哪一个键输入,同时解译通码和断码,使用LED灯来显示收到的数据。 三、课程设计的内容与要求 1、设计内容 (1)系统功能的分析; (2)实现系统功能的实际方案; (3)编写各功能模块的VHDL语言程序;

最全鼠标ps2转usb接线(带图)

鼠标,键盘,ps/2,usb,串口,转换接线方法(图) 不是所有PS/2鼠标都可以改为USB 鼠标的,可以改的PS/2鼠标的特征: A. 电路板一般带有两块集成电路,(一块光电感应,一块按键或USB 协议转换,和一 只24M 的晶体振荡器--早期PS/2鼠标.) B. 后期的PS/2鼠标只有一块光电感应芯片,但也有一只24M 晶体振荡器. 可以改的PS/2鼠标一般都带有晶体振荡器,如果按图改了,但电脑检测出为未知 USB 设备,而非鼠标设备,说明该PS/2鼠标不能改为USB 鼠标了. .ps/2键盘转USB : 标准U 丽接1 1 触点 功能{空 机) (设备) 1CA) Vfflrs (1 75—5. 25 V) VSljS 仇 4—5, Z5 V) 2(B) D- 3 (C) D+ 4(D) 接地 楼地

到目前为止我所知的ps/2键盘,这是不可能的,只能买个USB TO PS2带芯片的 转换线吧? 三.ps/2鼠标转串口 (RS232): PS/2鼠标口公插头图,RS-232串口公插头图 NC 6 / ( 1 > \_ CLK \ VCC — ) 0 U —^GND / NC? \ ~o O~ f ——DATA 键盘或鼠标PS/2接口 1 jr CD —— 2 RXI)—■ —C3 、 6 DSR 1 -O YH 3 C^)——RTS TXD ~O — 8 4 C^\— I ——CTS DTI?-— -J 9 5 ——TR GNDp ~LJ ) RS-232 串口 接线 PS/2公插头 串口公插头

+5V44+7+9DTR+RTS+TR Data11CD Gnd33+5TXD+GND Clock56DSR 绝大部分鼠标改接后可直接使用. 四.ps/2键盘转串口(RS232): 如上图及接法, 但需要对串口编程,设计一个RS232串口信号转标准PS/2键盘信号的程序,实现模拟键盘输入数字或字符 PS/2电脳键盘接线图

PS2键盘键值解码程序

51单片机第二十课PS2键盘键值解码 所属类别:课程代码发布日期:2011-03-05 点击量:270 #include #define uchar unsigned char #define uint unsigned int sbit psdata=P3^0; sbit psclk=P3^2; uchar numbit; uchar keyv; uchar key[3]; uchar keynum; uchar m,n; unsigned char code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e, 0x79,0x71,0x00}; unsigned char code smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78}; //************************************************ //延时函数,在12MHz的晶振频率下 //大约50us的延时 //************************************************ void delay_50us(uint t) { uchar j; for(;t>0;t--) for(j=19;j>0;j--); } //************************************************ //延时函数,在12MHz的晶振频率下 //大约50ms的延时 //************************************************ void delay_50ms(uint t)

基于单片机的PS2键盘设计

PS2键盘在单片机上的应用 摘要:在嵌入式PC应用系统中,作为人机交互设备的键盘,往往采用结构简单按键少的矩阵键盘。标准键盘虽然能直接与嵌入式PC机的PS/2接口相连,但是体积大,按键多,不能满足需求,本文提出用一种AT89C52单片机实现具有标准PS/2接口的矩阵键盘,具有便捷,实用的特点。 关键词:PS/2接口,PS/2键盘,拨号键,AT89C52,LCD1602 Abstract:PS/2 interface is one of the most useful mouse interface.It was IBM’s patent named osulum before. It is the dedicate interface of mouse and keyboard. This text implied a plan using PS/2 to make a system. PS/2 tansmit the data which was pressed, and AT89C52 receive it ,disposed it and transmit it to Lcd1602. Lcd1602 discover it to make us know which key has been pressed. PS/2 simulate a phone’s dial keyboard. This system’s feature is the circuit is sample and useful. Keywords:PS/2 keyboard, AT89C52, LCD1602,PS/2 interface,dial keyboard

PS2键盘C语言资料

PS2键盘编程详细资料 推荐 在单片机系统中,经常使用的键盘都是专用键盘.此类键盘为单独设计制作的,成本高、使用硬件连接线多,且可靠性不高,这一状况在那些要求键盘按键较多的应用系统中更为突出.与此相比,在PC系统中广泛使用PS/2键盘具有价格低、通用可靠,且使用连接线少(仅使用2根信号线)的特点,并可满足多种系统的要求.因此在单片机系统中应用PS/2键盘是一种很好的选择. 文中在介绍PS/2协议和PS/2键盘工作原理与特点的基础上,给出了一个在单片机上实现对PS/2键盘支持的硬件连接与驱动程序设计实现.该设计实现了在单片机系统中对PS/2标准104键盘按键输入的支持.使用Keil C51开发的驱动程序接口和库函数可以方便地移植到其他单片机或嵌入式系统中.所有程序在Keil uVision2上编译通过,在单片机AT89C51上测试通过.1 PS/2协议 目前,PC机广泛采用的PS/2接口为mini-DIN 6pin的连接器,如图1所示. PS/2设备有主从之分,主设备采用Female插座,从设备采用Male插头.现在广泛使用的PS/2键盘鼠标均在从设备方式下工作.PS/2接口的时钟 与数据线都是集电极开路结构,必须外接上拉电阻(一般上拉电阻设置在主设备中).主从设备之间数据通信采用双向同步串行方式传输,时钟信号由从设备产生. 1.1 从设备到主设备的通信 当从设备向主设备发送数据时,首先检查时钟线,以确认时钟线是否为高电平.如果是高电平,从设备就可以开始传输数据;反之,从设备要等待获得总线的控制权,才能开始传输数据.传输的每一帧由11位组成,发送时序及每一位的含义如图2所示. 每一帧数据中开始位总是为0,数据校验采用奇校验方式,停止位始终为1.从设备到主设备通信时,从设备总是在时钟线为高时改变数据线状态,主设备在时钟下降沿读人数据线状态. 1.2 主设备到从设备的通信 主设备与从设备进行通信时,主设备首先将时钟线和数据线设置为“请求发送”状态,具体方式为:首先下拉

相关主题
相关文档
最新文档