I have done this in Hardware UART, now i want to do it in Software UART.

My project is using an RFID reader to read RFID tags. Im using C18.

This is my code for Hardware UART.

Code:
unsigned char uart_rec(void)			//receive uart value
{
	unsigned char rec_data;
	while(PIR1bits.RCIF==0);				//wait for data
	rec_data = RCREG;
	return rec_data;					//return the data received
}
This function is used to read the tag ID through the RFID reader.

How to change that function to be used with sw_uart of C18?