void common_anode(volatile long input);
void setup(){
while(1)
{
common_anode(1234);
}
}
void common_anode(volatile long input)
{
volatile long i,j;
volatile char *ddra,*ddrb,*outa,*outb;
volatile char thousand,hundred,one,ten;
volatile char display[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
ddra=0x21;outa=0x22;ddrb=0x24;outb=0x25;
*ddra=0xff;*ddrb=0x0f;
thousand=input/1000;
hundred=(input%1000)/100;
ten=(input%100)/10;
one=input%10;
*outb=0x01;
*outa=display[thousand];
*outa=0xff;
for(i=0;i<10000;i++);
*outb=0x02;
*outa=display[hundred];
*outa=0xff;
for(i=0;i<10000;i++);
*outb=0x04;
*outa=display[ten];
*outa=0xff;
for(i=0;i<10000;i++);
*outb=0x08;
*outa=display[one];
*outa=0xff;
for(i=0;i<10000;i++);
}