#include<reg52.h>
#define uc unsigned char
#define ui unsigned int
sbit key1=P3^0;
uc code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uc code table1[3][8]={
{0x12,0x14,0x3c,0x48,0x3c,0x14,0x12,0x00},
{0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00},
{0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00}
};
uc a,b;
void delay(ui z)
{
ui x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
while(1)
{
P2=table[a];
P0=table1[b][a];
a++;
if(a==7)a=0;
delay(2);
if(key1==0)
{
delay(2);
if(key1==0)
{
b++;
if(b==3)b=0;
}
while(!key1);
}
}
}