Ahora mi pregunta es... alguien de los presentes tiene algun 877a usando el puerto usart como receptor y le funciona???
Sí, de hecho se puede decir que tengo canas configurando usart para estos pics jiji. Hace poco los programo en C, pero hace años que lo hago en assembly y te digo que nunca me han fallado.
He usado toda la familia 16f873, 16f874, 16f876, 16f877 y sus hermanos los A. Ahora también uso los 16F88x con idénticos buenos resultados.
Los tengo en aplicaciones que andan 24x7 (24 hs, los 7 días de la semana) y siguen andando desde hace años.
En cuanto al proteus no tengo comentarios al respecto ya que no lo uso, pero como moraleja y siempre digo esto, el hardware es quien decide siempre y no el simulador
Lo que anda en un simulador puede que no ande en el hardware y viceversa. No por nada son simuladores, sirven para aproximarse a la solución real del problema pero rara vez cubren todos los aspectos reales del mismo.
En tu programa del 16f877a me puedes indicar qué baud rate usas y si tiene BRGH=1 o 0??? Lo haces en ensamblador o en C?
Tengo códigos en assembly y en C que configuran la usart. El C puntualmente es el Ht-pic pero lo que hago es solamente usar 'estilo C' pero internamente con asignaciones directas a los registros (sin usar inline assembly) así que es lo mismo que hacerlo en assembly.
No hay diferencias en esto en hacerlo en C o assembly, lo que importa es qué codigo queda generado y si te funcionará finalmente o no.
¿Tienes un osciloscopio? ¿Cómo compruebas lo del baudeaje "real"? Te pregunto por si por casualidad estás usando un adaptador USB a de puerto serie RS232 en alguna PC o bien alguna placa de expansión de puertos. Te digo porque si tu respuesta va por este lado te comento que con algunos adaptadores he tenido problemas, yo pensaba que era el código (que venía andando bien) y resultó ser el adaptador!! Cambiar de puerto de conexión en la PC a uno del motherboard me solucionó el problema.