#include<reg51.h>
sbit sent=P3^7;
bit flag=0;
sbit p35=P3^5;
sbit p34=P3^4;
sbit p31=P3^1;
sbit p30=P3^0;
sbit p17=P1^7;
sbit p16=P1^6;
unsigned char bdata p3;
sbit r1=p3^5;
sbit g1=p3^4;
sbit b1=p3^3;
sbit r2=p3^2;
sbit g2=p3^1;
sbit b2=p3^0;
sbit p15=P1^5;
sbit p14=P1^4;
sbit p13=P1^3;
sbit p12=P1^2;
sbit p11=P1^1;
sbit p10=P1^0;
unsigned char bdata p1;
sbit r3=p1^5;
sbit g3=p1^4;
sbit b3=p1^3;
sbit r4=p1^2;
sbit g4=p1^1;
sbit b4=p1^0;
unsigned char code port1[7]=
{
0x00,0x24,0x12,0x12,0x09,0x09,0x24,
};
unsigned char code port2[7]=
{
0x20,0x34,0x16,0x1a,0x0b,0x29,0x25,
};
unsigned char code port3[7]=
{
0x24,0x36,0x36,0x1b,0x1b,0x2d,0x2d,
};
main()
{
unsigned char i3=0,i1=0,j,m,n3=2,n1=0,number=0;
while(1)
{
sent=1;
if(n3==6) sent=0;
for(m=0;m<248;m++)
{
for(j=0;j<248;j++)
{
if(i3==0||i1==0||i3==1||i1==1||i3==3||i1==3||i3==5||i1==5)
{
if(n3-2<j/31) p3=port1[i3];
if(n1-2<j/31) p1=port1[i1];
if(n3-2==j/31) p3=port2[i3];
if(n1-2==j/31) p1=port2[i1];
if(n3-2>j/31) p3=port3[i3];
if(n1-2>j/31) p1=port3[i1];
p35=r1;
p34=g1;
p31=b1;
p30=r2;
p17=g2;
p16=b2;
p15=r3;
p14=g3;
p13=b3;
p12=r4;
p11=g4;
p10=b4;
}
if(i3==2||i1==2||i3==4||i1==4||i3==6||i1==6)
{ if(n3-2>j/31) p3=port1[i3];
if(n1-2>j/31) p1=port1[i1];
if(n3-2==j/31) p3=port2[i3];
if(n1-2==j/31) p1=port2[i1];
if(n3-2<j/31) p3=port3[i3];
if(n1-2<j/31) p1=port3[i1];
p35=r1;
p34=g1;
p31=b1;
p30=r2;
p17=g2;
p16=b2;
p15=r3;
p14=g3;
p13=b3;
p12=r4;
p11=g4;
p10=b4;
}
}
}
if(n3++==7) {i3++;n3=2;}
if(n1++==7) {i1++;n1=2;}
if(i3==6) i3=0;
if(i1==6) i1=0;
}
}