void delay(){
for(volatile long i=0;i<100000;i++);
}
void setup(){
volatile unsigned char *dirA;
dirA=0X21;
*dirA=0Xff;
volatile unsigned char *dirB;
dirB=0X24;
*dirB=0Xff;
}
void loop(){
volatile unsigned char *outA;
outA=0X22;
for(int i=0;i<8;i+=2){
*outA=(1<<i)|(1<<(i+1));
delay();
*outA=0X00;
delay();
}
volatile unsigned char *outB;
outB=0X25;
for(int j=0;j<8;j+=2){
*outB=(1<<j)|(1<<(j+1));
delay();
*outB=0X00;
delay();
}
for(int j=6;j>=0;j-=2){
*outB=(1<<j)|(1<<(j+1));
delay();
*outB=0X00;
delay();
}
for(int i=6;i>=0;i-=2){
*outA=(1<<i)|(1<<(i+1));
delay();
*outA=0X00;
delay();
}
}