jfmateos2:
A la hora de escribir tu código en PBP, en C, o en lenguaje para un compilador que sea capaz de detectar que los pines que estás usando en tu código corresponden o no a los de la USART del PIC para el que estás compilando:
La diferencia es
Ninguna.
Tu escribes tu programa y listo, el compilador se encarga de los demás.
A la hora de ejecutar tu programa compilado en un PIC en el que usas la USART por un método o por otro :
La diferencia es
Mucha.
La USART hace lo que tiene que hacer, enviar o recibir, sin necesidad de hacer uso de ningún programa almacenado en el PIC, es lo que se dice "por hardware". Si tu programa usa la USART y quieres escribir algo para que salga por ella, a la velocidad adecuada, y con todas las bendiciones de una comunicación como Dios manda, escribes tu dato en un registro del PIC y te olvidas. La USART realiza su cometido y si tiene algo que decirte levantará un flag o te interrumpirá para avisarte. Para recibir exactamente lo mismo, ella recibirá algo y te levantará un Flag o te interrumpirá para avisarte de que ha recibido algo, entonces vas tú y lo procesas en tu programa.
Si por el contrario usas una "USART" simulada tu programa crecerá para hacer todo esto que haría la USART por hardware. Debe parar toda la ejecución de otras tareas, en transmisión debe procesar tu byte para enviar uno a uno los bits que contiene, levantando o bajando la señal en el pin señalado y esperando los tiempos que definen tu comunicación. Para recibir debes estar constantemente mirando el pin de recepción y en cuanto aparezca algo ponerte a decodificar uno a uno los bits hasta rellenar un byte coherente. Todo esto DENTRO DE TU PROGRAMA y al margen de lo que realmente hagas en él. Tú no has escrito todo este código encargado de hacer esto pero tu Compilador si lo ha hecho por tí.
Como vés esta segunda opción es muy ineficiente tanto en tamaño como en prestaciones. Asi que si puedes usa la USART que para eso la han puesto los amables señores de Microchip.
P.D. En ASM es el artista el que se encarga de escribir su "USART" particular. Todos los que hemos escrito código ASM para micros antiguos le hemos hecho alguna vez en la vida. Antes las USART estaban fuera del micro, cuando estaban.