
/*Explaination of application: Increments count every 1 ms and retains last value on encountering two consecutive zeros at interval of 5 ms at pin P0_0.Starts displaying time from 0.000 when input becomes high again*/

#define MSBreload_value 0xFC
#define LSBreload_value 0x17	//1 ms or .001 sec /*earlier this was intialized in accordanc to 10 msec*/

/*timer 1 interrupt used for four 7-segment displays multiplexing*/
/* timer 2 interrupt used to increment count every 1 msec*/
void inter_2(void) interrupt 5 
{if(P0_0==1)
count1++;
TF2=0;
if((count1%10)==0)
g=3;
}
/*timer 0 used to keep track of two consecutive zeros at interval of 5 milli sec*/
TL0=0x77;TH0=0xEC;//5000micro sec
void inter_0(void) interrupt 1 
{	g++;
}
