Vous êtes sur la page 1sur 3

Procedimiento

El presente proyecto consta de un software y hardware que permite la


comunicacin serial sncrona entre dos dispositivos Microcontroladores
(PIC18F452) utilizando el protocolo de comunicacin serial RS232, es
importante anotar que uno de los microcontroladores cumple la funcin de
recibir una seal anloga(un voltaje) en una representacin digital(nmeros
binarios) mediante su conversor anlogo digital interno y enviar esta
informacin mediante su pin Tx al otro microcontrolador,el otro PIC18f452
recibe la informacin mediante su pin Rx y se encarga de mostrar estos datos
en una LCD 2x16.
Para poder lograr la comunicacin entre estos 2 pic debemos de tomar en
cuenta que los dos dispositivos deben de estar configurados a la misma
velocidad(baud) de transmisin.Para el dispositivo que recibe se habilitan las
interrupciones por recepcin de datos(INT_RDA) ya que el dispositivo necesita
estar checando si le llego o no un dato nuevo.
El pic emisor necesita ser configurado desde el software Pic compiler
habilitando la Conversion A/D a 8 bits y la comunicacin serial RS232, por lo
que ser utizado un cristal de 20Mhz y la velocidad de la comunicacin 9600
baud.La salida del dato estar dada por el pin c6(tx) del pic18f452. Para
habilitar la comunicacin serial se usa la siguiente lnea de cdigo #use
rs232(baud=9600, xmit=pin_c6, rcv=pin_c7).
En el main() de este pic emisor se inicializa la conversin a\d y el puerto
anlogo que se leera ,seguido de esto se guarda esta conversin en una
variable y esta es enviada mediance la sentencia putc. #use
rs232(baud=9600, xmit=pin_c6, rcv=pin_c7)
El pic receptor necesita habilitar mediante el pic compiler la comunicacin
serial y los pines que definirn las salidas para la visualizacin en la LCD
2x16.Este pic tiene que trabajar a la misma velocidad que el anterior por lo que
tambin utilizaremos un cristal de 20Mhz y una velocidad de 9600 baud.
En el cdigo de este receptor se utiliza la sentencia int_rda para ir checando la
recepcin de nuevos datos por lo que en una variable=getc() se guarda el dato
recibido por el emisor.
Finalmente en el main() de se habilitan las interrupciones , se inicializa la LCD y
se imprimen los datos recibidos.

Conversor analgico digital

La conversin analgica digital, es la que nos permite transformar una seal analgica (un voltaje),
en una representacin digital (nmeros binarios) del valor correspondiente a la tensin en el pin de
entrada para poder trabajar con ella

no tiene internamente ningn componente de hardware (UART) que le permita


tener estas caractersticas de comunicacin, debido a esto es necesario
desarrollar el software que permita establecer la comunicacin serial, asncrona
con 8 bit de datos, sin paridad; es por esta razn que este software esta
basado en el manejo de la interrupcin del TMR0 la cual es generada 3 veces
en el intervalo correspondiente a cada bit durante la transmisin, podemos
definir el periodo de disparo del TMR0 como Nb V T 1 = Donde T= periodo de
disparo del TMR0 V= velocidad de transmisin en baudios Nb = Nmero de
muestreos de cada bit Para V=2400 bps se tiene T=1/2400/3 = 138 s (si se
toman tres muestras por bit)
Se debe entonces configurar el TMR0 para interrumpirse cada 138 s, para
realizar variaciones de la velocidad de transmisin es posible cambiar el valor T
o modificar el valor del cristal de oscilacin externo del PIC, (para el
funcionamiento propuesto se maneja un cristal de 4 Mhz) si duplica el valor del
cristal (8Mhz) se duplica la taza de transmisin (4800 Mhz), para el desarrollo
del presente prototipo se implement una taza de transmisin de 2400 baudios
(cristal 4Mhz) por consideraciones de estabilidad y consumo de potencia
CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA
Implementacin de una interfaz - Ramrez Delgado Wilder (2003) pp 69-91
7 Como se mencion anteriormente, cuando se tienen comunicaciones
asncronas, se manejan pulsos de seal con intervalos de duracin constantes,
debido a esto la funcin bsica del software es la lectura del puerto de
recepcin a intervalos constantes y exactos de tiempo. Teniendo en cuenta lo
anterior, existen varias maneras de realizar el enlace, la primera y la mas obvia
es configurar un microcontrolador que contenga Uart lo cual no es el objetivo
de este trabajo; una segunda manera es utilizando rutinas de retardo y realizar
escaneos sobre los puertos, este tipo de estrategia presenta una gran
simplicidad de implementacin, pero se tiene la desventaja de no manejar
altos niveles de exactitud. Una tercera manera de realizar la comunicacin es
utilizando rutinas de interrupcin generadas desde un timer del
microcontrolador, en estas rutinas se encuentran todas las funciones
necesarias para cumplir con las exigencias del protocolo, esta tercera forma de

realizar el enlace fue la seleccionada para el desarrollo del presente montaje,


debido a que, desde el punto de vista didctico pretende aclarar conceptos
tericos que van desde la misma implementacin del protocolo hasta manejo
de conceptos en lo referente a timers y microcontroladores; tambin es
importante aclarar que en algunas secciones del programa se sacrific en
cierta medida la eficiencia de cdigo en bsqueda de la facilidad de
comprensin del mismo. Uart.asm