#include<reg51.h>
#include<intrins.h>
unsigned char temp,key=16;
unsigned char code LED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};
void delay10ms()
{
TH1=0xd8;
TL1=0xf0;
TR1=1;
while(!TF1);
TF1=0;
}
void delay(unsigned char t)
{
unsigned char t1;
for(t1=0;t1<t;t1++)
delay10ms();
}
void main()
{
unsigned char n;
TMOD=0x10;
while(1)
{
P2=0xf0;
if(P2==0xf0)
delay10ms();
while(P2!=0xf0)
{
for(n=0;n<4;n++)
{
P2=0xfe;
P2=_crol_(P2,n);
temp=P2&0xf0;
while(temp!=0xf0)
{
switch(temp)
{
case 0xe0:key=n*4+0;break;
case 0xd0:key=n*4+1;break;
case 0xb0:key=n*4+2;break;
case 0x70:key=n*4+3;break;
default:key=16;
}
}
}
}
P1=LED[key];
delay(200);
}
}
|