资源简介
基于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芯片资料
相关资源
- 基于AT89S52单片机学习型红外线遥控器
- 项目4基于AT89S52单片机人体反应速度测
- ps2251 ps 2251 U盘 u盘图纸 金士顿8G红
- PS2手柄 - arduino版本例程
- 基于AT89S52的红外巡线小车源码
- 基于AT89S52单片机的数字温度计
- STM32F1+PS2+Serial+PWM (KEIL5)
- PS2键盘接口插座的PCB封装PROTEL99SE
- Arduino_PS2X库文件
- 基于AT89S52的四路抢答器
- AT89S52控制DDS9850产生可调频的正弦波
- 步进电机实现的悬挂运动控制系统
- fps200指纹识别模块技术手册
- ApplePS2SmartTouchPad.kext.zip
- 基于AT89S52单片机数码管显示数字钟含
- wps2word_wps_转换_word
- 基于AT89S52单片机交通灯控制系统的设
- 基于AT89S52 单片的频率计
- PS2手柄_STM32例程
- 基于单片机的温室大棚温湿度亮度自
- ps2鼠标驱动源代码基于凌阳
- 基于FPGA的PS2接口键盘驱动
- 基于AT89S52单片机LCD数字测速仪的设计
- Verilog的PS2鼠标VGA画笔
- msp430 模块程序 包括DS18B20 PS2 串口 电
- ps2键盘程序,已成功。
- ps2 verilog代码
- at89s52开发板
- wps2019教育版
- 黑苹果通用ps2键盘驱动
评论
共有 条评论