#include <16F877.h>
#device adc=8
#fuses NOWDT,HS, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG
#use delay(clock=20000000)
   INT8 COUNT,A,B;
   INT8 NUM[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};
   VOID HEX_BCD(INT8 VAL);

void main()
{

   
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(FALSE);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   
 OUTPUT_LOW(PIN_E1); 
 OUTPUT_LOW(PIN_E2); 
   
   WHILE(1)
   {
     WHILE(COUNT<=99)
     {
     HEX_BCD(COUNT);

     OUTPUT_D(NUM[B]);
     //=====================ENABLE CLOCK
     OUTPUT_HIGH(PIN_E1);
     DELAY_MS(10);
     OUTPUT_LOW(PIN_E1);     
     //================================

      OUTPUT_D(NUM[A]);
      //==============================
     OUTPUT_HIGH(PIN_E2);
     DELAY_MS(10);
     OUTPUT_LOW(PIN_E2);
     //===============================
     COUNT++;
     IF(COUNT>99)COUNT=0;
     DELAY_MS(300); 
     }
   
   }

}
VOID HEX_BCD(INT8 VAL)
{A=0;B=0;
  WHILE(VAL>=10)
  {
   A++;
   VAL-=10;
  }
 
   B=VAL;
}
