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