#include <AT89X52.H>
unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//行选
unsigned char code tabb[]={0x08,0x49,0x49,0x7F,0x08,0x49,0x49,0x7F};//选列"出"
unsigned char code tabc[]={0x00,0x02,0x04,0x08,0x18,0x24,0x42,0x81};//"入"
unsigned char code tabd[]={0xFF,0x4A,0x2A,0x1C,0xFF,0x08,0x08,0x08};//"平"
unsigned char code tabe[]={0x08,0xFF,0x89,0x04,0x7F,0x14,0x1C,0x63};//"安"
unsigned char i,j;
void delay(void)//延时5ms
{
unsigned char i,j;
for(i=10;i>0;i--)
for(j=248;j>0;j--);
}
void delay1(void)//延时10ms
{
unsigned char i,j,k;
for(k=10;k>0;k--)
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void main(void)
{
while(1)
{
for(j=0; j<10; j++) //from 上 to 下 3 time
{
for(i=0;i<8;i++)
{
P2=taba[i];
P3=tabb[i];
//P1=0xff;
delay();
}
}
//for(j=0; j<2; j++) //from 下 to 上 3 time
//{
for(i=0;i<8;i++)
{
P2=taba[i];
//P3=tabb[i];
P3=0xff;
delay1();
}
//}
for(j=0; j<10; j++) //from 上 to 下 3 time
{
for(i=0;i<8;i++)
{
P2=taba[i];
P3=tabc[i];
//P1=0xff;
delay();
}
}
for(i=0;i<8;i++)
{
delay1();
}
for(j=0; j<10; j++) //from 上 to 下 3 time
{
for(i=0;i<8;i++)
{
P2=taba[i];
P3=tabd[i]; //"平"
//P1=0xff;
delay();
}
}
for(i=0;i<8;i++)
{
P2=taba[7-i];
//P3=tabb[i];
P3=0xff;
delay1();
}
for(i=0;i<8;i++)
{
delay1();
}
for(j=0; j<10; j++) //from 上 to 下 3 time
{
for(i=0;i<8;i++)
{
P2=taba[i];
P3=tabe[i];
//P1=0xff;
delay();
}
}
for(i=0;i<8;i++)
{
delay1();
}
/*for(i=0;i<8;i++)
{
P2=taba[7-i];
//P3=tabb[i];
P1=0xff;
delay1();
}*/
}
}