2024年5月16日发(作者:尚成业)
鼠标编程通讯协议
鼠标是一种快速定位器,通过移动鼠标可以快速定位屏幕上的对象,是计算机图形界面交互的必用外部设备。通常,鼠
标通过微机中的串口或PS/2鼠标插口与主机连接。当在平面上移动鼠标时,通过机械或光学的方法把鼠标滚轮移动的
距离和方向转换成脉冲信号传送给计算机,计算机鼠标驱动程序将脉冲个数转换成鼠标的水平方向和垂直方向的位移
量,从而控制显示屏上光标箭头随鼠标的移动而移动。根据此原理,我们可利用鼠标的上位机驱动程序来设计测控系统
中的编码器读取软件。
1 串行鼠标的原理及数据
协议
鼠标一般划分为以下功能
模块:微控制器、按键检测、
位置移动检测、RS232信号
产生、5V电源产生器。串行
鼠标的功能框图如图1所
示。
微软公司与Mouse System
公司的鼠标都采用串行输
入技术。微软公司的协议格
式为3个字节:第1字节的6、7位固定为1,4,5位分别为左右键状态,2、3位为上下移动数据的高6、7位,0、1
位为左右移动数据的高6、7位;第2、第3字节发送的都是左右上下的其余6位数据,其中Y表示上下、X表示左右移
动的数据位。Mouse System公司的协议格式为5个字节:1个字节用于描述3个按键的状态,2个字节为Y方向的相对
坐标,另外2个字节为X方向的相对坐标,具体协议如表1所列。由表1我们可以方便地制作鼠标。
表1 鼠标系统数据信息协议
数字位
字节1
字节2
字节3
字节4
字节5
Mouse System格式
7 6 5 4 3 2 1 0
1 0 0 0 0 L M R
X7 X6 X5 X4 X3 X2 X1 X0
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
X7 X6 X5 X4 X3 X2 X1 X0
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
L=左键状态 M=中键状态 R=右键状态 1=按下 0=释放
X7~X0=X轴(左右)运动数据 Y7~Y0=Y轴(上下)运动数据
Microsoft格式
7 6 5 4 3 2 1 0
1 1 L R Y7 Y6 X7 X6
0 0 X5 X4 X3 X2 X1 X0
0 0 Y5 Y4 Y3 Y2 Y1 Y0
鼠标编程通讯协议
数据格式
㈠ MicroSoft 公司标准:
MICROSOFT FORMAT
字节 字元(B i t)
7 6 5 4 3 2 1 0
BYTE1 1 1 L R Y7 Y6 X7 X6
BYTE2 0 0 X5 X4 X3 X2 X1 X0
BYTE3 0 0 Y5 Y4 Y3 Y2 Y1 Y0
注释:
L = 左键状态
R = 右键状态 1 = 按下 0 = 释放
X0-X7 = X 距离
Y0-Y7 = Y 距离 X7或Y7为±符号位
串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。
---------------------------------------------------------------------
-----------
㈡ MOUSE SYSTEM 公司标准:
MOUSE SYSTEM FORMAT
字节 字元(B i t)
7 6 5 4 3 2 1 0
BYTE1 1 0 0 0 0 L M R
BYTE2 X7 X6 X5 X4 X3 X2 X1 X0
BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
BYTE4 X7 X6 X5 X4 X3 X2 X1 X0
BYTE5 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
注释:
L = 左键状态
R = 右键状态
M = 中间键状态 1 = 按下 0 = 释放
X0-X7 = X 距离
Y0-Y7 = Y 距离 X7或Y7为±符号位
串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。
---------------------------------------------------------------------
-----------
㈢ IBM 公司 PS/2 MOUSE 标准:
PS/2 MOUSE FORMAT
字节 字元(B i t)
7 6 5 4 3 2 1 0
BYTE1 YV XV YS XS 1 0 R L
BYTE2 X7 X6 X5 X4 X3 X2 X1 X0
BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
注释:
L = 左键状态
R = 右键状态 1 = 按下 0 = 释放
X0-X7 = X 距离
Y0-Y7 = Y 距离 X7或Y7为±符号位
XS,YS = ±符号位 1--- 反向移动
XV,YV = 溢出位 1---- X Y 数据溢出
2024年5月16日发(作者:尚成业)
鼠标编程通讯协议
鼠标是一种快速定位器,通过移动鼠标可以快速定位屏幕上的对象,是计算机图形界面交互的必用外部设备。通常,鼠
标通过微机中的串口或PS/2鼠标插口与主机连接。当在平面上移动鼠标时,通过机械或光学的方法把鼠标滚轮移动的
距离和方向转换成脉冲信号传送给计算机,计算机鼠标驱动程序将脉冲个数转换成鼠标的水平方向和垂直方向的位移
量,从而控制显示屏上光标箭头随鼠标的移动而移动。根据此原理,我们可利用鼠标的上位机驱动程序来设计测控系统
中的编码器读取软件。
1 串行鼠标的原理及数据
协议
鼠标一般划分为以下功能
模块:微控制器、按键检测、
位置移动检测、RS232信号
产生、5V电源产生器。串行
鼠标的功能框图如图1所
示。
微软公司与Mouse System
公司的鼠标都采用串行输
入技术。微软公司的协议格
式为3个字节:第1字节的6、7位固定为1,4,5位分别为左右键状态,2、3位为上下移动数据的高6、7位,0、1
位为左右移动数据的高6、7位;第2、第3字节发送的都是左右上下的其余6位数据,其中Y表示上下、X表示左右移
动的数据位。Mouse System公司的协议格式为5个字节:1个字节用于描述3个按键的状态,2个字节为Y方向的相对
坐标,另外2个字节为X方向的相对坐标,具体协议如表1所列。由表1我们可以方便地制作鼠标。
表1 鼠标系统数据信息协议
数字位
字节1
字节2
字节3
字节4
字节5
Mouse System格式
7 6 5 4 3 2 1 0
1 0 0 0 0 L M R
X7 X6 X5 X4 X3 X2 X1 X0
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
X7 X6 X5 X4 X3 X2 X1 X0
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
L=左键状态 M=中键状态 R=右键状态 1=按下 0=释放
X7~X0=X轴(左右)运动数据 Y7~Y0=Y轴(上下)运动数据
Microsoft格式
7 6 5 4 3 2 1 0
1 1 L R Y7 Y6 X7 X6
0 0 X5 X4 X3 X2 X1 X0
0 0 Y5 Y4 Y3 Y2 Y1 Y0
鼠标编程通讯协议
数据格式
㈠ MicroSoft 公司标准:
MICROSOFT FORMAT
字节 字元(B i t)
7 6 5 4 3 2 1 0
BYTE1 1 1 L R Y7 Y6 X7 X6
BYTE2 0 0 X5 X4 X3 X2 X1 X0
BYTE3 0 0 Y5 Y4 Y3 Y2 Y1 Y0
注释:
L = 左键状态
R = 右键状态 1 = 按下 0 = 释放
X0-X7 = X 距离
Y0-Y7 = Y 距离 X7或Y7为±符号位
串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。
---------------------------------------------------------------------
-----------
㈡ MOUSE SYSTEM 公司标准:
MOUSE SYSTEM FORMAT
字节 字元(B i t)
7 6 5 4 3 2 1 0
BYTE1 1 0 0 0 0 L M R
BYTE2 X7 X6 X5 X4 X3 X2 X1 X0
BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
BYTE4 X7 X6 X5 X4 X3 X2 X1 X0
BYTE5 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
注释:
L = 左键状态
R = 右键状态
M = 中间键状态 1 = 按下 0 = 释放
X0-X7 = X 距离
Y0-Y7 = Y 距离 X7或Y7为±符号位
串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。
---------------------------------------------------------------------
-----------
㈢ IBM 公司 PS/2 MOUSE 标准:
PS/2 MOUSE FORMAT
字节 字元(B i t)
7 6 5 4 3 2 1 0
BYTE1 YV XV YS XS 1 0 R L
BYTE2 X7 X6 X5 X4 X3 X2 X1 X0
BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
注释:
L = 左键状态
R = 右键状态 1 = 按下 0 = 释放
X0-X7 = X 距离
Y0-Y7 = Y 距离 X7或Y7为±符号位
XS,YS = ±符号位 1--- 反向移动
XV,YV = 溢出位 1---- X Y 数据溢出