资料介绍
单片机论文
一种简单串行鼠标控制的单片机实现
摘要:通过对鼠标底层通信原理与协议的深入分析,探讨以AT89C2051单片机构成串行鼠
标的实现方法;介绍鼠标编码器数据取软件的设计原理及方法,给出串行鼠标的软件设
计。
关键词:鼠标 AT89C2051 软件设计
鼠标是一种快速定位器,通过移动鼠标可以快速定位屏幕上的对象,是计算机图形界
面交互的必用外部设备。通常,鼠标通过微机中的串口或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 鼠标系统数据信息协议
| |Mouse System格式 |Microsoft格式 |
|数字位 |7 6