void uart_soft_transmit(char data)
{int i,j;
TX1=0;
for(j=0;j<baud_delay;j++) continue;
for(i=0;i<=7;i++){
TX1=data;
data=data>>1;
for(j=0;j<baud_delay;j++) continue;}
TX1=1;
for(j=0;j<baud_delay;j++) continue;
}
unsigned char uart_soft_receive(void)
{unsigned char data=0;
int i,j;
while(RX1==1) continue;
for(j=0;j<baud_delay;j++) continue;
for(i=0;i<=7;i++){
data=(data>>1)|(128*RX1);
for(j=0;j<baud_delay;j++) continue;}
return data;}
void uart_soft_string(const char *s)
{
while(*s)
uart_soft_transmit(*s++);
}