单片机与usb鼠标通信代码c语音.docx

上传人:b****3 文档编号:2221809 上传时间:2022-10-28 格式:DOCX 页数:17 大小:16.28KB
下载 相关 举报
单片机与usb鼠标通信代码c语音.docx_第1页
第1页 / 共17页
单片机与usb鼠标通信代码c语音.docx_第2页
第2页 / 共17页
单片机与usb鼠标通信代码c语音.docx_第3页
第3页 / 共17页
单片机与usb鼠标通信代码c语音.docx_第4页
第4页 / 共17页
单片机与usb鼠标通信代码c语音.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

单片机与usb鼠标通信代码c语音.docx

《单片机与usb鼠标通信代码c语音.docx》由会员分享,可在线阅读,更多相关《单片机与usb鼠标通信代码c语音.docx(17页珍藏版)》请在冰豆网上搜索。

单片机与usb鼠标通信代码c语音.docx

单片机与usb鼠标通信代码c语音

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitc=P1^0;

sbitd=P1^1;

sbitRS=P2^5;

sbitRW=P2^6;

sbitE=P2^7;

voiddelay(intz)

{

intx,y;

for(x=0;x

for(y=0;y<10;y++);

}

voidledxierushuju(charshuju)

{

RS=1;

RW=0;

P0=shuju;

delay

(1);

E=1;

delay

(1);

E=0;

}

voidledxiezhiling(ucharzhiling)

{

RS=0;

RW=0;

P0=zhiling;

delay

(1);

E=1;

delay

(1);

E=0;

}

voidledchushihua()

{

E=0;

ledxiezhiling(0x38);

ledxiezhiling(0x0c);

ledxiezhiling(0x06);

ledxiezhiling(0x01);

}

voidxiezhiling(ucharzhiling)//鼠标写指令函数

{

ucharx;

inti;

inta;

x=zhiling;

while(c==0||d==0);

d=0;

while(c==1);

for(i=1;i<12;i++)

{

a=x%2;

d=a;

while(c==0);

while(c==1);

x=x/2;

}

c=1;

d=1;

delay

(1);

}

uchardushuju()//鼠标读数据函数

{

ucharx=0;

inti;

inta;

intm=0;

while(d==0);

//时钟是由键盘给的,不需要单片机提供

//P0=0xfe;

for(i=0;i<11;i++)

{

//P0=0xaa;

if(i==1)

m=1;

else

m=m*2;

while(c!

=0);

//P0=0xaa;

while(c!

=1);

//P0=0xaa;

if(i<9)

{

a=d;

x=x+a*m;

}

}

c=1;

d=1;

delay

(1);

returnx;

}

voidshujuxianshi(ucharshuju,uintx,uinty,uinti)

{

if(x>0)

x--;

if(i==1)

return;

switch(y)

{

case0:

switch(shuju)

{

case0x70:

ledxiezhiling(0x80+x);//0

ledxierushuju(0x30);

break;

case0x69:

ledxiezhiling(0x80+x);//1

ledxierushuju(0x31);

break;

case0x72:

ledxiezhiling(0x80+x);//2

ledxierushuju(0x32);

break;

case0x7a:

ledxiezhiling(0x80+x);//3

ledxierushuju(0x33);

break;

case0x6b:

ledxiezhiling(0x80+x);//4

ledxierushuju(0x34);

break;

case0x73:

ledxiezhiling(0x80+x);//5

ledxierushuju(0x35);

break;

case0x74:

ledxiezhiling(0x80+x);//6

ledxierushuju(0x36);

break;

case0x6c:

ledxiezhiling(0x80+x);//7

ledxierushuju(0x37);

break;

case0x75:

ledxiezhiling(0x80+x);//8

ledxierushuju(0x38);

break;

case0x7d:

ledxiezhiling(0x80+x);//9

ledxierushuju(0x39);

break;

case0x77:

ledxiezhiling(0x80+x);//numlock

ledxierushuju(0xff);

break;

//case0x7f:

ledxiezhiling(0x80);///

//ledxierushuju(0x2f);

//break;

case0x7c:

ledxiezhiling(0x80+x);//*

ledxierushuju(0xff);

break;

case0x7b:

ledxiezhiling(0x80+x);//-

ledxierushuju(0x2d);

break;

case0x79:

ledxiezhiling(0x80+x);//+

ledxierushuju(0x2b);

break;

case0x15:

ledxiezhiling(0x80+x);//Q

ledxierushuju(0x51);

break;

case0x1d:

ledxiezhiling(0x80+x);//W

ledxierushuju(0x57);

break;

case0x24:

ledxiezhiling(0x80+x);//E

ledxierushuju(0x45);

break;

case0x2d:

ledxiezhiling(0x80+x);//R

ledxierushuju(0x52);

break;

case0x2c:

ledxiezhiling(0x80+x);//T

ledxierushuju(0x54);

break;

case0x35:

ledxiezhiling(0x80+x);//Y

ledxierushuju(0x59);

break;

case0x3c:

ledxiezhiling(0x80+x);//U

ledxierushuju(0x55);

break;

case0x43:

ledxiezhiling(0x80+x);//I

ledxierushuju(0x49);

break;

case0x44:

ledxiezhiling(0x80+x);//O

ledxierushuju(0x4f);

break;

case0x4d:

ledxiezhiling(0x80+x);//P

ledxierushuju(0x50);

break;

case0x54:

ledxiezhiling(0x80+x);//[

ledxierushuju(0x5b);

break;

case0x5b:

ledxiezhiling(0x80+x);//]

ledxierushuju(0x5d);

break;

//case0x5a:

ledxiezhiling(0x80+x);//enter

//ledxierushuju(0xff);

//break;

case0x52:

ledxiezhiling(0x80+x);//'

ledxierushuju(0x27);

break;

case0x4c:

ledxiezhiling(0x80+x);//;

ledxierushuju(0x3b);

break;

case0x4b:

ledxiezhiling(0x80+x);//L

ledxierushuju(0x4c);

break;

case0x42:

ledxiezhiling(0x80+x);//K

ledxierushuju(0x4b);

break;

case0x3b:

ledxiezhiling(0x80+x);//J

ledxierushuju(0x4a);

break;

case0x33:

ledxiezhiling(0x80+x);//H

ledxierushuju(0x48);

break;

case0x34:

ledxiezhiling(0x80+x);//G

ledxierushuju(0x47);

break;

case0x2b:

ledxiezhiling(0x80+x);//F

ledxierushuju(0x46);

break;

case0x23:

ledxiezhiling(0x80+x);//D

ledxierushuju(0x44);

break;

case0x1b:

ledxiezhiling(0x80+x);//S

ledxierushuju(0x53);

break;

case0x1c:

ledxiezhiling(0x80+x);//A

ledxierushuju(0x41);

break;

case0x1a:

ledxiezhiling(0x80+x);//Z

ledxierushuju(0x5a);

break;

case0x22:

ledxiezhiling(0x80+x);//X

ledxierushuju(0x58);

break;

case0x21:

ledxiezhiling(0x80+x);//C

ledxierushuju(0x43);

break;

case0x2a:

ledxiezhiling(0x80+x);//V

ledxierushuju(0x56);

break;

case0x32:

ledxiezhiling(0x80+x);//B

ledxierushuju(0x42);

break;

case0x31:

ledxiezhiling(0x80+x);//N

ledxierushuju(0x4e);

break;

case0x3a:

ledxiezhiling(0x80+x);//M

ledxierushuju(0x4d);

break;

case0x41:

ledxiezhiling(0x80+x);//,

ledxierushuju(0x2c);

break;

case0x49:

ledxiezhiling(0x80+x);//.

ledxierushuju(0x2e);

break;

case0x4a:

ledxiezhiling(0x80+x);///

ledxierushuju(0x2f);

break;

//case0x59:

ledxiezhiling(0x80+x);//SHIFT

//ledxierushuju(0x34);

//break;

default:

ledxiezhiling(0x80+x);

ledxierushuju(0xff)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1