Comunicar un Pic con la PC por el puerto Serie

Quiero hacer un programa en un Pic16f84, el cual se comunique con la PC por medio del puerto Serie el mismo se desarrollaría en asm, pero no sé cómo establecer la comunicación. A pesar de buscar en el foro no encontré información concreta de cómo hacerlo.

Supongamos que “X” programa creado en V. BASIC 6 mande un “1” y encienda “X” salida del micro, en si no importa qué salida pase a nivel alto porque no es un proyecto es solo para ampliar mis conocimientos.

Aclaro que mi mayor complicación es en el programa del PIC.

Gracias...
 
marcelo26 dijo:
Si por Rs232, cual es la rutina? como dije no se por donde empezar por eso necesito una buena explicación. :rolleyes:

Primero que nada, te sugiero que leas y entiendas la diferencia entre UART y USART, ya que el 16F84 no dispone de un puerto serie, por lo que deberás utilizar un par de pines para hacer de TX y RX.

Mis sugerencias

Transmisor:
RB0 --> Pin receptor Rx (caso bidireccional)
RB1 --> Pin transmisor Tx

Receptor:
RB0 --> Pin receptor Rx
RB1 --> Pin transmisor Tx (caso bidireccional)

Ahora, sin ir más lejos, es conveniente que utilices el buscador del foro, que es una herramienta fundamental, de haberlo hecho, hubieses encontrado hilos como este:
https://www.forosdeelectronica.com/f24/rutina-comunicacion-rs232-pic16f84-1669/
donde tu problema hubiese sido resuelto en menos tiempo, en fin.

Saludos
 
Si, yo busqué y lo encontré pero no todos podemos entender un programa sin una pequeña explicación si estoy en el foro es para aprender y poder transmitir mis conocimientos y abrí este tema porque realmente no lo entiendo. Igual gracias por tu aporte.
 
Es que, entendiendo el funcionamiento serie, no hay tanta explicación, basicamente es:

Pseudocodeando...

Se verifica si hay cambio de estado en el pin de recepción RX.
Si lo hay, se carga bit a bit rotanto un registro de 8 bits hasta terminar de completar 1 byte (8 bits), en cada bit recibido, se emplean retardos de estabilización de recepción.
Al contabilizar 8 bits queda el registro de 1 byte con el dato de 8 bits recibido, y ya se puede operar con él.
La rutina se repite hasta tanto dato se reciba. La transmisión se realiza de la misma forma, la unica diferencia es que el bit sale por el puerto.
Para saber cuando hay un dato en el RX, usamos una interrupción que se genere cuando este pin haya cambiado de estado, lo que nos facilita la carga de estar haciendo un pooling de consulta de estado de un pin, permitiendonos atender otras cosas.

Saludos
 
Atrás
Arriba