#include<reg52.h>
sbit KEY0=P0^0;
sbit KEY1=P0^1;
sbit KEY2=P0^2;
sbit KEY3=P0^3;
sbit KEY4=P0^4;
unsigned char a[]={0x01,0x02,0x04,0x08};
unsigned char b[]={0x08,0x04,0x02,0x01};
unsigned char c[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
unsigned char i,s=0,f=0;
unsigned char k=200;
unsigned char l=4;
void delay(unsigned int t)
{
unsigned char j,b;
b=t;
while(b--)
{
for (j=0;j<125;j++);
}
}
void key()
{P0=0x1f;
if(P0!=0x1f)
{delay(30);
if(P0!=0x1f)
{delay(30);
if(KEY0==0)
{s=1;}
if(KEY1==0)
{f=1;}
if(KEY4==0)
{s=0;
f=0;}
if(KEY2==0)
{if(l>1)
l--;}
if(KEY3==0)
{if(l<7)
l++;}
}}
}
void speed()
{switch(l)
{case 7:k=50;P1=c[l];break;
case 6:k=100;P1=c[l];break;
case 5:k=150;P1=c[l];break;
case 4:k=200;P1=c[l];break;
case 3:k=250;P1=c[l];break;
case 2:k=300;P1=c[l];break;
case 1:k=350;P1=c[l];break;}
}
void main()
{
while(1)
{key();
while(s>0)
{speed();
for(i=0;i<4;i++)
{
P2=b[i];
delay(k);
key();
}
delay(100);
key();
}
while(f>0)
{speed();
for(i=0;i<4;i++)
{
P2=a[i];
delay(k);
key();
}
delay(100);
key();
}
}
}
|