Действительно, саму внешнюю функцию передачи лучше объявить отдельно типа TX_BYTE(unsigned char tx_byte), и портить внутри сам байт:
if (tx_byte & 0x01)
bit_stat_2 = one;
tx_byte >>= 1;
Это и код упрощает, и счетчик позволяет не таскать с собой везде.