• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: AT89S52  PS2  

资源简介

基于AT89S52单片机驱动PS2鼠标 支持四个方向的移动和左右中键的点击操作。

资源截图

代码片段和文件信息

#include 
#include 
/************************************************************/                    

sbit Data_Line=P3^5;                       //数据线P3_5

sbit Clock_Line=P3^3;                            //时钟线P3_3

unsigned char table[10]={0841221061419}; //LED灯显示数字   

unsigned char position[4] ={163264128};   //LED灯选位

/***********************定义位变量***************************/

unsigned char bdata Temp_Buffer;       //接收字节

sbit D_Buf0=Temp_Buffer^0;                //Temp_Buffer第0位

sbit D_Buf1=Temp_Buffer^1;

sbit D_Buf2=Temp_Buffer^2;

sbit D_Buf3=Temp_Buffer^3;

sbit D_Buf4=Temp_Buffer^4;

sbit D_Buf5=Temp_Buffer^5;

sbit D_Buf6=Temp_Buffer^6;

sbit D_Buf7=Temp_Buffer^7;                    //Temp_Buffer第7位0

/************************************************************/

unsigned char Buffer[11];                      //接收位数据缓冲区

unsigned char Rec_ptr=0x00;                 //接收数据指针

unsigned char Rec_data=0xFF;           //接收数据

unsigned char Data_Buf[3];            //接收鼠标数据缓冲区

unsigned char Buffer_ptr=0x00;          //缓冲区指针

unsigned char Data_ptr=0;                  //数据处理指针


/*******************点阵显示数据字符编码*****************************/

//鼠标移动点

const unsigned char code char_P[8]={0x000x000x000x080x000x000x000x00};

//鼠标左键被按下

const unsigned char code char_L[8]={0x000x240x140x8C0x970xF40x940x84};

//鼠标中键被按下

const unsigned char code char_M[8]={0x000x3C0x240xFF0xFF0x240x3C0x00};

//鼠标右键被按下

const unsigned char code char_R[8]={0x000x240x140xEC0xA70xA40xA40xE4};

//多个按键被按下

const unsigned char code char_S[8]={0xFF0xFF0xFF0xE70xF70xFF0xFF0xFF};

//---------------------------------扫描位数组----------------------------------

const unsigned char Row_Control[8]={0xFE0xFD0xFB0xF7

0xEF0xDF0xBF0x7F};

unsigned char send_data[8];      //发送数据缓冲区

//鼠标移动数据缓冲区

unsigned char move_data[8]={0x000x000x000x080x000x000x000x00}; 

unsigned char ptr_send=0x00;     //发送数据指针     

unsigned char ptr_con1=0x00;     //扫描指针 

unsigned char button_L;                  //左键标志

unsigned char button_R;                  //右键标志

unsigned char button_M;                 //中键标志

unsigned char length_X;                  //横向位移

unsigned char length_Y;                  //纵向位移

unsigned char flag_Y;                 //横向移动标志 左移为1,右移为0

unsigned char flag_X;                 //纵向移动标志 下移位1,上移为0

unsigned char X_Lmove;                //横向左移距离

unsigned char Y_Umove;                //横向右移距离

unsigned char X_Rmove;                //纵向上移距离

unsigned char Y_Dmove;                //纵向下移距离

/***********************定义位变量***************************/

unsigned char bdata BitData;      //控制信息字节

sbit B_dat0=BitData^0;                    //BitData第0位

sbit B_dat1=BitData^1;

sbit B_dat2=BitData^2;

sbit B_dat3=BitData^3;

sbit B_dat4=BitData^4;

sbit B_dat5=BitData^5;

sbit B_dat6=BitData^6

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      16793  2007-08-08 11:54  at89S52_ps2鼠标\PC_M.c

     文件         71  2009-08-07 11:02  at89S52_ps2鼠标\readme.txt

     目录          0  2009-08-07 10:59  at89S52_ps2鼠标

----------- ---------  ---------- -----  ----

                16864                    3


评论

共有 条评论