Recibir datos en 16F84A desde RS232

Hola que tal, para proyecto de semestre tengo que configurar un circuito que lo que hará es conectar un PIC 16F84A a un MAX232, y este a un conector USB-to-Serial (DB-9 macho) que va al PC. He probado unir los pines 2 y 3 del DB-9 para verificar si funcionaba, todo bien, hice el montaje del MAX232 (con capacitores de 10uF, aunque deberían ser de 1uF), y uní el R1OUT con el T1IN (para el eco), y funciono bien. Como en casa no tengo el programador, por ahora sólo puedo dedicarme a probar con el Proteus, ya tengo el circuito simulado (con la curiosidad que encontré que el DB-9 funciona al revés el pin 2 y 3, a como es ya físicamente, pero bueno).

La parte del PIC debe tomar el dato que llega (por RA3), luego ese dato (que se supone me llega en ASCII), pasarlo a centenas, decenas y unidades, y luego hacer una multiplexación con RA0, RA1 y RA2, y enviar el dato por el PORTB a 3 7 segmentos (cada uno con su variable), esta parte ya esta configurada (simple programación, donde no tengo problema), el problema consiste en tratar de obtener el dato desde el MAX232, aun no he encontrado la forma correcta de comunicarme con él, he obtenido la forma de que el PIC envíe y reciba datos (para comprobar algunas funciones, como la kbhit() -usando CCS), pero al enviar un dato, e intentar recibir el mismo, en el HyperTerminal me muestra "basura", además aún no entiendo bien todas las directivas del #use rs232, y mi profesor me dijo que tuviera en cuenta que la configuración debía ser 2400.8.N.1, pero no entiendo donde debo hacer las pausas de 416us.

Gracias por su colaboración.
 
Hola,
#use rs232(baud=9600, xmit=PIN_A2,rcv=PIN_A3)
xmit es por donde salen los datos
rcv es por donde entran los datos
9600 es la velocidad, en tu caso seria 2400.
Luego debes configurar el hyper tambien en 2400
8 bits de datos, sin paridady 1 bit de stop.
 
Atrás
Arriba