
unsigned int count_bit_time( bit digit)
{
        /* Measure the duration for a bit. */
        unsigned int count = 0;
        RXD = 1;                /* configure as an input pin */
        TH0 = 0;
        TL0 = 0;
        RXD = ~digit;
        P1_5 = 0;
        while (RXD != digit);
        P1_5 = 1;
        TR0 = 1;                /* start timer0 */
        P1_4 = 0;
        while (RXD == digit);
        TR0 = 0;
        P1_4 = 1;
        count  |=  TH0;
        count <<= 8;
        count |= TL0;
        return count;
}

