资源简介
基于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
- 上一篇:erase_all_pin.jlk
- 下一篇:可调 ldo芯片资料
相关资源
- [免费]msp430f149控制PS2键盘并用1602显示
- 单片机AT89s52控制GSM模块TC35i发短信,
- 群联PS2251量产工具
- 基于AT89S52单片机简易计算器的设计
- 以单片机AT89S52、光电脉宽调制器芯片
- ps2018cc打开ico插件
- WPS2019 专业版+含激活码.zip
- ps2手柄arduino库文件
- PS2手柄 通信 协议解析
- wps2019政府版
- ·基于AT89S52单片机的太阳能环境
- WPS2013专业版-有注册码
- wxAMPS2.zip
- PS2遥控小车
- 基于FPS200指纹采集系统的设计与实现
- AT89S52程序烧录
- 金士顿64U盘群联PS2251-09PS2251-09(PS23
- 美泰克TPS2024数字存储示波器用户手册
- FPGA PS2键盘接口设计
- EPS2016立体测图破解文件
- AT89s52课本单片机实验
- fpga verilog 电子琴
- 基于AT89S52单片机的nRF2401无线模块开发
- PS2251-68-25修复工具
- FPS2800B12C4流体特性传感器驱动程序
- ps2手柄控制智能车
- 基于UCOS-III的雷电传奇小游戏
- PS2手柄的STM32应用
- 基于STM32F407的PS2遥控手柄代码
- Sony PS2 SCPH-39001原理图独家放出.rar
评论
共有 条评论