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 = 0x03;
out = 0X31;
x=0x00;
*out = x;
}
void displayscreen1(char y)
{
volatile char *out;
out=0x108;
*out=0x02;
out=0X31;
*out=y;
}
void displayscreen2(char y)
{
volatile char *out;
out=0x108;
*out=0x01;
out=0X31;
*out=y;
}
void screen(char i)
{
volatile char *out;
switch(i) {
case 0:
out=0x108;
*out=0x02;
out=0X31;
*out=0x3F;
break;
case 1:
out=0x108;
*out=0x02;
out=0X31;
*out=0x06;
break;
case 2:
out=0x108;
*out=0x02;
out=0X31;
*out=0x5B;
break;
case 3:
out=0x108;
*out=0x02;
out=0X31;
*out=0x4F;
break;
case 4:
out=0x108;
*out=0x02;
out=0X31;
*out=0x66;
break;
case 5:
out=0x108;
*out=0x02;
out=0X31;
*out=0x6D;
break;
case 6:
out=0x108;
*out=0x02;
out=0X31;
*out=0x7D;
break;
case 7:
out=0x108;
*out=0x02;
out=0X31;
*out=0x07;
break;
case 8:
out=0x108;
*out=0x02;
out=0X31;
*out=0xFF;
break;
case 9:
out=0x108;
*out=0x02;
out=0X31;
*out=0x67;
break;
}
}
void screen1(char i)
{
volatile char *out;
switch(i) {
case 0:
out=0x108;
*out=0x01;
out=0X31;
*out=0x3F;
break;
case 1:
out=0x108;
*out=0x01;
out=0X31;
*out=0x06;
break;
case 2:
out=0x108;
*out=0x01;
out=0X31;
*out=0x5B;
break;
case 3:
out=0x108;
*out=0x01;
out=0X31;
*out=0x4F;
break;
case 4:
out=0x108;
*out=0x01;
out=0X31;
*out=0x66;
break;
case 5:
out=0x108;
*out=0x01;
out=0X31;
*out=0x6D;
break;
case 6:
out=0x108;
*out=0x01;
out=0X31;
*out=0x7D;
break;
case 7:
out=0x108;
*out=0x01;
out=0X31;
*out=0x07;
break;
case 8:
out=0x108;
*out=0x01;
out=0X31;
*out=0xFF;
break;
case 9:
out=0x108;
*out=0x01;
out=0X31;
*out=0x67;
break;
}
}
void loop() {
// put your main code here, to run repeatedly:
volatile long i;
volatile char y;
while(1)
{
for(i=0;i<=9;i++)
{
volatile long j;
for(j=0;j<=9;j++)
{
output(y);
screen(i);
delay(1000);
output(y);
screen1(j);
delay(100);
output(y);
}
}
}
}