#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar tab2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uchar tab3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe} ;
uchar tab4[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f} ;
void delay (uint i)
{
uchar t;
while(i--)
{
for(t=0;t<120;t++);
}
}
void main()
{
char k;
uchar i,temp1,temp2;
delay(500);
P0=0x00;
P2=0x00;
delay(500);
P0=0xff;
P2=0xff;
delay(500);
while(1)
{
for(k=0;k<8;k++)
{
P0=tab1[k];
delay(500);
}
P0=0xff;
for(k=0;k<8;k++)
{
P2=tab1[k];
delay(500);
}
P2=0xff;
for(k=7;k>-1;k--)
{
P2=tab1[k];
delay(500);
}
P2=0xff;
for(k=7;k>-1;k--)
{
P0=tab1[k];
delay(500);
}
P0=0xff;
temp1=0x01;
temp2=0x01;
for(i=0;i<4;i++)
{
P0=~temp1;
temp1=temp1<<2;
delay(500);
}
P0=0xff;
for(i=0;i<4;i++)
{
P2=~temp2;
temp2=temp2<<2;
delay(500);
}
for(k=0;k<16;k++)
{
P0=tab3[k];
P2=tab4[k];
delay(500);
}
delay(500);
P0=0x00;
P2=0x00;
delay(500);
P0=0xff;
P2=0xff;
delay(500);
}
} |