void delay1(void);
void setup() {
volatile char *dirf, *outf, *dirk,*outk,*dira,*outa,*dirc,*outc;
dirf = 0x30; dirk = 0x107; dira = 0x21; dirc = 0x27; *dirf = 0xFF; *dirk = 0xFF; *dira = 0xFF; *dirc = 0xFF;
outf = 0x31; outk = 0x108; outa = 0x22; outc = 0x28;
unsigned char digit[] = {0x3F,0x06,0x5B,0x4f,0x66,0x6d,0x7d,0x07,0x7F,0x6F};
int num;
char d1,d2,d3,d4;
while(1){
for(num=0;num<10000;num++){
d1 = (char) (num/1000);
d2 = (char) ((num/100)%10);
d3 = (char) ((num/10)%10);
d4 = (char) (num%10);
if(num>=0 && num<10){
*outf = *outk = *outa = 0x00;
*outc = digit[d4];
}else if(num>=10 && num<100){
*outf = *outk = 0x00;
*outa = digit[d3];
*outc = digit[d4];
}else if(num>=100 && num<1000){
*outf = 0x00;
*outk = digit[d2];
*outa = digit[d3];
*outc = digit[d4];
}else{
*outf = digit[d1];
*outk = digit[d2];
*outa = digit[d3];
*outc = digit[d4];
}
delay1();
}
}
}
void delay1(void){
volatile long i;
for(i=0;i<20000;i++);
}