#define DELAY 1500
#define DELAY1 250000
void setup() {
// put your setup code here, to run once:
volatile char *dir1;
dir1 = 0x30;
*dir1 = 0xff;
volatile char *dir2;
dir2 = 0x107;
*dir2 = 0xff;
}
void loop() {
// put your main code here, to run repeatedly:
volatile char *row = 0x108;
volatile char *col = 0x31;
volatile int s[]={0x00,0xe0,0x20,0xe0,0x80,0x80,0xe0,0x00};
volatile int h[]={0x00,0xa0,0xa0,0xe0,0xa0,0xa0,0x00,0x00};
volatile int i[]={0x00,0xe0,0x40,0x40,0x40,0xe0,0xe0,0x00};
volatile int v[]={0x00,0xa0,0xa0,0xa0,0xa0,0x40,0x00,0x00};
volatile long dely,j,k,dely1,r=1;
while(1){
for(r=0;r<6;r++){
for(k=0;k<4;k++)
{
for(j=0;j<8;j++)
{
if(k == 0){*row = s[j];*row = s[j] >> r;}
if(k == 1){*row = h[j];*row = h[j] >> r;}
if(k == 2){*row = i[j];*row = i[j] >> r;}
if(k == 3){*row = v[j];*row = v[j] >> r;}
*col = ~(1 << j);
for(dely=0;dely<5000;dely++);
*row = 0x00;
*col = 0xff;
}
for(dely1=0;dely1<50000;dely1++);
}
}
}
}