SoftTX = 1;             // start bit
delay_us(52);
for (i = 8; i--; c >>= 1) {
    SoftTX = c & 1;     // low bit first
    delay_us(52);
}
SoftTX = 0;             // stop bit
delay_us(52);