#define DELAY 500
#define disOFF 0x00
#define ddisnum0 0x3f//DD WIH DOT
#define ddisnum1 0x06
#define ddisnum2 0x5b
#define ddisnum3 0x4f
#define ddisnum4 0x66
#define ddisnum5 0x4d
#define ddisnum6 0x7d
#define ddisnum7 0x07
#define ddisnum8 0x7f
#define ddisnum9 0x6f
#define disnum0 0xbf//D without dot
#define disnum1 0x86
#define disnum2 0xdb
#define disnum3 0xcf
#define disnum4 0xe6
#define disnum5 0xed
#define disnum6 0xfd
#define disnum7 0x87
#define disnum8 0xff
#define disnum9 0xef
volatile char ddisnum[11] = {disnum0, disnum1, disnum2, disnum3, disnum4, disnum5,
disnum6, disnum7, disnum8, disnum9};
volatile char disnum[11] = {ddisnum0, ddisnum1, ddisnum2, ddisnum3, ddisnum4, ddisnum5,
ddisnum6, ddisnum7, ddisnum8, ddisnum9};
// volatile char numtovoltage(volatile long num){
// switch(num){
// case 1:
// return 0x86;
// break;
// case 2:
// return 0xdb;
// break;
// case 3:
// return 0xcf;
// break;
// case 4:
// return 0xed;
// break;
// case 5:
// return 0xed;
// break;
// case 6:
// return 0xfd;
// break;
// case 7:
// return 0x87;
// break;
// case 8:
// return 0xff;
// break;
// case 9:
// return 0xef;
// break;
// default:
// return 0xbf;
// break;
// }
// }
void zero_9999();
void setup() {
volatile unsigned char *dirf,*dirk,*dirl,*dirc;
dirf =0x30;*dirf = 0xff;
dirl =0x10a;*dirl = 0xff;
dirc =0x27;*dirc = 0xff;
dirk =0x107;*dirk = 0xff;
}
void loop() {
zero_9999();
}
void zero_9999(){
volatile char *outf,*outk,*outl,*outc;
volatile short i;
outf = (volatile char*)0x31;
outk =(volatile char*) 0x108;
outl =(volatile char*) 0x10b;
outc =(volatile char*) 0x28;
for( i =0; i<10000;i++){
if(disnum[i/1000]!=0){
*outf = disnum[i/1000];}
*outk = disnum[((i/100)%10)];
*outl = disnum[((i/10)%10)];
*outc = disnum[i%10];
delay(DELAY);
}
}