void setup() {
// put your setup code here, to run once:
volatile char *portf;
portf=0x30;
*portf=0xFF;
volatile char *portk;
portk=0x107;
*portk=0xFF;
}
void output(char x)
{
volatile char *out;
out = 0x108;
*out = 0x0F;
out = 0X31;
x=0x00;
*out = x;
}
void loop() {
// put your main code here, to run repeatedly:
volatile long i,j,k,l;
volatile char y;
for(i=0;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
for(l=0;l<=9;l++)
{
output(y);
screen1(i);
delay(10);
output(y);
screen2(j);
delay(10);
output(y);
screen3(k);
delay(10);
output(y);
screen4(l);
delay(10);
output(y);
}
}
}
}
}
void screen3(int i)
{
volatile char *out;
switch (i) {
case 0:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x3F; break;
case 1:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x06; break;
case 2:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x5B; break;
case 3:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x4F; break;
case 4:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x66; break;
case 5:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x6D; break;
case 6:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x7D; break;
case 7:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x07; break;
case 8:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x7F; break;
case 9:
out = 0x108; *out = 0x0B;
out = 0x31; *out = 0x67; break;
}
}
void screen1(int i)
{
volatile char *out;
switch (i) {
case 0:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0xBF; break;
case 1:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0x86; break;
case 2:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0xDB; break;
case 3:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0xEF; break;
case 4:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0xE6; break;
case 5:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0xED; break;
case 6:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0xFD; break;
case 7:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0x87; break;
case 8:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0xFF; break;
case 9:
out = 0x108; *out = 0x0E;
out = 0x31; *out = 0xE7; break;
}
}
void screen2(int i)
{
volatile char *out;
switch (i) {
case 0:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x3F; break;
case 1:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x06; break;
case 2:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x5B; break;
case 3:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x4F; break;
case 4:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x66; break;
case 5:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x6D; break;
case 6:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x7D; break;
case 7:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x07; break;
case 8:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x7F; break;
case 9:
out = 0x108; *out = 0x0D;
out = 0x31; *out = 0x67; break;
}
}
void screen4(int i)
{
volatile char *out;
switch (i) {
case 0:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x3F; break;
case 1:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x06; break;
case 2:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x5B; break;
case 3:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x4F; break;
case 4:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x66; break;
case 5:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x6D; break;
case 6:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x7D; break;
case 7:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x07; break;
case 8:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x7F; break;
case 9:
out = 0x108; *out = 0x07;
out = 0x31; *out = 0x67; break;
}
}