#include <main.h>

unsigned int index = 0;
unsigned int port = 0;
unsigned int up[] = {0,1,3,7,15,31,63,127,255};
unsigned int down[] = {255,127,63,31,15,7,3,1,0};

void port_select(void);

void main(void)
   {
      while(TRUE)
	 {
	    index++;
	    delay_ms(100);
	    port_select();
	    if (port == 0){output_a(up[index]);}
	    if (port == 1){output_e(up[index]);}
	    if (port == 2){output_b(up[index]);}
	    if (port == 3){output_c(up[index]);}
	    if (port == 4){output_d(up[index]);}
	    if (port == 5){output_d(down[index]);}
	    if (port == 6){output_c(down[index]);}
	    if (port == 7){output_b(down[index]);}
	    if (port == 8){output_e(down[index]);}
	    if (port == 9){output_a(down[index]);}
	 }
   }
   
   
void port_select()
   {
      if (port == 0){if (index > 6){index = 0; port++;}}
      if (index > 8){index = 0; port++;}
      if (port == 4){if (index > 3){index = 0;}port++;}
      if (port == 5){if (index = 0){index = 6;}port++;}
      if (port == 9){if (index > 6){index = 0; port = 0;}}
   }