domingo, 16 de agosto de 2009

Comunicación Serial entre el PIC18F4520 y el PIC18F2520

Comunicación entre la USART del PIC18F4520 y la USART del PIC18F2520

Universal Synchronous Asynchronous Receiver Transmitter

• Síncrona o asíncrona
• Recibe y transmite
• Operación full duplex asíncrona
• Aplicación típica: comunicación con un PC mediante el protocolo RS232, para lo que necesita un cto para desplazamiento de niveles..

Para poder comunicar por el serial estos 2 pic´s debemos de tomar en cuenta 1 cosa muy importante los 2 dispositivos deben de estar configurados a la misma velocidad (baud)de trasmisión . Para el dispositivo que recibe dependiendo la aplicación que vaya a realizar se pueden o no habilitar las interrupciones por recepción de datos(INT_RDA),esta es muy versátil ya que el dispositivo puede estar realizando otra aplicación sin perder el tiempo de estar checando si le llego o no un dato nuevo, ya que dicha interrupción cuando llega un dato nuevo lo que hace es que salta o sale de la tarea que está realizando y atiende a la rutina de RDA para procesar el dato recibido.

En este ejemplo lo que sea hace es que el pic18f4520(TX)esta censando si hay un 1 o un 0 lógico en sus últimos pines del puerto B(RB7,RB6,RB5),cuando en alguno de ellos se detecte un 1 lógico el PIC transmite un carácter por el serial a una velocidad de 9600 bauds.
EL pic18f2520(RX) está en un ciclo infinito sin hacer nada (como si estuviera en modo sleep) cuando recibe un dato nuevo lo que hace es que sale del ciclo infinito y va a la rutina de RDA en donde procesa el dato y enciende el led correspondiente, cuando termina de encender y apagar el led regresa al ciclo infinito.

Los 2 pic´s fueron programados en el compilador de C(CCS),usando su oscilador interno a 4 MHZ y la velocidad de transmisión a 9600 baud. La aplicación de esto es muy grande ya que se puede realizar una red de nodos en los cuales cada uno este censando o realizando una acción, en redes con comunicación RS485 o en un sinfín de aplicaciones..

Simulacion:

El video se encuentra en la parte derecha abajo del video del glcd touch screen.


Video del funcionamiento:


El codigo,.hex y el archivo de proteus lo puede descargar en la seccion de CCS.

No hay comentarios: