关于键盘的几个程序.docx

上传人:b****2 文档编号:24517984 上传时间:2023-05-28 格式:DOCX 页数:13 大小:15.27KB
下载 相关 举报
关于键盘的几个程序.docx_第1页
第1页 / 共13页
关于键盘的几个程序.docx_第2页
第2页 / 共13页
关于键盘的几个程序.docx_第3页
第3页 / 共13页
关于键盘的几个程序.docx_第4页
第4页 / 共13页
关于键盘的几个程序.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

关于键盘的几个程序.docx

《关于键盘的几个程序.docx》由会员分享,可在线阅读,更多相关《关于键盘的几个程序.docx(13页珍藏版)》请在冰豆网上搜索。

关于键盘的几个程序.docx

关于键盘的几个程序

关于键盘的几个程序

1、

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitwela=P2^7;

sbitdula=P2^6;

sbitled=P1^0;

sbitkey1=P3^4;

ucharnum=0;

ucharcodetable[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

voiddelay(uint);

voidmain()

{P3=0xff;

P0=0xfe;

wela=1;

wela=0;

while

(1)

{

if(key1==0)

delay(10);

if(key1==0)

{

led=0;

num++;

if(num==10)

num=0;

P0=table[num];

dula=1;

dula=0;

while(!

key1);

delay(10);

while(!

key1);

}

else

led=1;

//P0=table[num];

//dula=1;

//dula=0;

}

}

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

2、

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitwela=P2^7;

sbitdula=P2^6;

sbitkey1=P3^4;

sbitkey2=P3^5;

sbitkey3=P3^6;

sbitkey4=P3^7;

ucharcodetable[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

ucharcodewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

ucharshi,ge;

uintnum=0,num1;

voidDelay(uintt);

voiddisplay(uintnumdis);

voidkeyscan();

voidinti();

voidmain()

{inti();

while

(1)

{

display(num);

keyscan();

}

}

voiddisplay(uintnumdis)

{

shi=numdis/10;

ge=numdis%10;

P0=table[shi];

dula=1;

dula=0;

P0=0xfe;

wela=1;

wela=0;

Delay(200);

P0=table[ge];

dula=1;

dula=0;

P0=0xfd;

wela=1;

wela=0;

Delay(200);

}

voidinti()

{TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TMOD=1;

EA=1;

ET0=1;

}

voidkeyscan()

{

if(key1==0)

{

Delay(2000);

if(key1==0)

{

num++;

if(num==60)

num=0;

while(!

key1);

}

}

if(key2==0)

{

Delay(2000);

if(key2==0)

{

if(num==0)

num=60;

while(!

key2);

num--;

}

}

if(key3==0)

{

Delay(2000);

if(key3==0)

{

num=0;

while(!

key3);

}

}

if(key4==0)

{

Delay(2000);

if(key4==0)

{

while(!

key4);

TR0=~TR0;

}

}

}

voidDelay(uintt)

{

while(--t);

}

voidT0_time()interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

num1++;

if(num1==20)

{

num1=0;

num++;

if(num==60)

num=0;

}

}

3、

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitwela=P2^7;

sbitdula=P2^6;

ucharcodetable[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

uchari;

voiddelay(uint);

voiddisplay(uchari)

{

P0=table[i];

dula=1;

dula=0;

}

voidkeyscan()

{

ucharkey,temp;

P3=0xfe;

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(10);

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P3;

switch(temp)

{

case0xee:

key=0;

break;

case0xde:

key=1;

break;

case0xbe:

key=2;

break;

case0x7e:

key=3;

break;

}

while(temp!

=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

display(key);

}

}

P3=0xfd;

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(10);

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P3;

switch(temp)

{

case0xed:

key=4;

break;

case0xdd:

key=5;

break;

case0xbd:

key=6;

break;

case0x7d:

key=7;

break;

}

while(temp!

=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

display(key);

}

}

P3=0xfb;

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(10);

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P3;

switch(temp)

{

case0xeb:

key=8;

break;

case0xdb:

key=9;

break;

case0xbb:

key=10;

break;

case0x7b:

key=11;

break;

}

while(temp!

=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

display(key);

}

}

P3=0xf7;

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(10);

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P3;

switch(temp)

{

case0xe7:

key=12;

break;

case0xd7:

key=13;

break;

case0xb7:

key=14;

break;

case0x77:

key=15;

break;

}

while(temp!

=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

display(key);

}

}

}

voidmain()

{

P0=0;

dula=1;

dula=0;

P1=0xc0;

wela=1;

wela=0;

while

(1)

{

keyscan();

}

}

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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