Vous êtes sur la page 1sur 21

UNIVERSIDAD TCNICA DE AMBATO

FACULTAD DE INGENIERA EN SISTEMAS ELECTRNICA E INDUSTRIAL

PRCTICA N 3 y 4

Tema: Comunicacin Serial PC a PIC y PIC a PIC

Carrera: Ingeniera en Electrnica y Comunicaciones

rea Acadmica: Fsica- Electrnica

Lnea De Investigacin: Nanotecnologa

Ciclo Acadmico Y Paralelo: Sptimo B

Alumno: Garcs Salazar Roberto Andrs

Mdulo Y Docente: Microcontroladores

Ing. Carlos Diego Gordon Gallegos

SEPTIEMBRE 2017 FEBRERO 2018

AMBATO

2017-2018
I. INFORME DE LA PRCTICA N 3 y 4
1. PPYY
1.1 TEMA
Comunicacin Serial PC a PIC y PIC a PIC.
1.2 OBJETIVOS
Mediante el desarrollo de esta tarea se pretenden lograr los siguientes objetivos:
Realizar la comunicacin Serial PC a PIC y PIC a PIC.
Elaborar un programa que permita la comunicacin serial entre dos
dispositivos.
Simular el funcionamiento de la comunicacin serial utilizando software
PROTEUS.
Implementar fsicamente el funcionamiento de la comunicacin entre dos
dispositivos PC a PIC y PIC a PIC.

1.3 RESUMEN
En esta prctica se desarrollar la comunicacin serial entre PC a PIC y PIC a PIC,
para ello se utilizar el compilador PIC C y Proteus para el diseo del mismo. En esta
comunicacin se utilizar fusibles y los puertos de transmisin y recepcin.
Para la comunicacin PC a PIC y PIC a PIC se utilizar la va RS232, el PIC utiliza
un hardware especfico para el puerto serie y dispone de
una UART (Universal Asynchronous Receiver-Transmitter, Transmisor-Receptor
Asncrono Universal) para controlar los puertos y dispositivos serie.
En la comunicacin PIC a PIC se configurar los dos PICs uno para la transmisin y
otro para la recepcin, los dos por separado. Para ello se utilizarn dos PICs 16F887
y un display para la visualizacin de los datos enviados desde el pic transmisor, en
este se utilizar el comando putc para enviar los datos va serie por la USART del
PIC, mientras que en el receptor se utilizar el comando getc para recibir el carcter.

1.4 PALABRAS CLAVE

Microcontrolador, pic 16F887, pic c compiler, proteus, programacin, comunicacin


serial, USART.
1.5 INTRODUCCIN

Esta prctica tiene como objetivo reforzar los conocimientos adquiridos en clase y el
mismo que sirva de manual para otras personas que estn interesadas en la
programacin de un PIC que simula la comunicacin serial entre dos PIC y de PC a
PIC, consta de parte terica como prctica.
Hoy en da existe la comunicacin serial es muy importante para la transmisin y
recepcin de datos, se llama comunicacin serial porque los bits se reciben uno a
continuacin de otro o ms bien conocido en serie, en estas prcticas se ha utilizado
la comunicacin RS232 ya que es de tipo serial, para ello se utiliza una PC y un PIC
o dos PIC, en donde uno simular la interfaz o de envo de datos y el otro como
receptor, el cual mostrar los datos enviados por el usuario.
Los microcontroladores PIC hoy en la actualidad suponen un avance significativo con
respecto a dispositivos digitales empleados en el control de sistemas. Su reducido
tamao, as como sus elevadas prestaciones lo convierten en un elemento
indispensable en el campo de los microcontroladores, el cual consta de varias ventajas
con respecto a los microprocesadores, es por ello por lo que se pretende realizar esta
prctica para entender la prestacin de los microcontroladores en la actualidad.
1.6 MATERIALES Y METODOLOGA

Entre los materiales ms imprescindibles tenemos el PIC 16F887 y el quemador del


mismo. Una vez terminada la programacin, el quemador de programas nos permitir
grabar el cdigo en formato .hex, y que de esta forma el PIC entienda y ejecute las
acciones que le hemos programado. Una vez programado y comprobado el cdigo en
el PIC, se procede con las conexiones tanto simuladas como fsicas, para comprobar
el funcionamiento. Si el PIC realiza las funciones previstas, se termina y se presenta
la prctica. En caso contrario, se realizan los arreglos correspondientes tanto de
cdigo como de conexiones para que el PIC cumpla con lo requerido.

Los materiales por usar son:

Quemador de PIC
PIC C Compiler
Proteus
Cables
Leds
Resistencias de 220
Un display de 7 segmentos.
2 PIC 16F887.
Protoboard.
Fuente de alimentacin de 5 voltios.

1.6.1 Fundamentacin Terica

Microcontrolador

Un microcontrolador es un circuito integrado de alta escala de integracin que incorpora


la mayor parte de los elementos que configuran un controlador, dispone normalmente de
los siguientes componentes:

Procesador o UCP (Unidad Central de Proceso).


Memoria RAM para Contener los datos.
Memoria para el programa tipo ROM/PROM/EPROM.
Lneas de E/S para comunicarse con el exterior.
Diversos mdulos para el control de perifricos (temporizadores, Puertas Serie y
Paralelo, CAD: Conversores Analgico/Digital, CDA: Conversores
Digital/Analgico, etc.).
Generador de impulsos de reloj que sincronizan el funcionamiento de todo el
sistema. [1]

Fig.N 1 Estructura de un microcontrolador

PIC C COMPILER

PIC C Compiler es un inteligente y muy optimizado compilador C que contienen


operadores estndar del lenguaje C y funciones incorporados en bibliotecas que son
especficas a los registros de PIC, proporcionando a los desarrolladores una herramienta
poderosa para el acceso al hardware las funciones del dispositivo desde el nivel de
lenguaje C. El compilador CCS contiene ms de 307 funciones integradas que
simplifiquen el acceso al hardware, mientras que la produccin eficiente y altamente
optimizado cdigo. [2]
Fig.N 2 PIC C COMPILER

Estructura de un programa en pic c compiler:

Para escribir un programa en C con el CCS C se deben tener en cuenta una serie de
elementos bsicos de su estructura:

Directivas de preprocesador.
Programas o Funciones
Instrucciones
Comentarios [2]

PIC 16F887

El microcontrolador cuenta con solo 35 instrucciones diferentes, con una frecuencia de


operacin 0-20 MHz, voltaje de la fuente de alimentacin de 2.0V a 5.5V, La mayora
de los pines del microcontrolador PIC16F887 son multipropsito. [3]

Fig.N 3 Datasheet de PIC16F887

COMUNICACIN SERIAL
Se habla de comunicacin serial ya que los bits se reciben uno detrs de otro o en serie,
la comunicacin RS232 es de tipo serial. Los microcontroladores PIC usan dos formas
para poder comunicarse de forma serial, los cuales son:

Fig.N 4 Comunicacin serial para pics

USART
LA funcin del USART es la de transmitir y recibir datos en serie
Transmisin Sncrona: Los datos se transfiere de forma continua, no existe lmite
de tamao
Caractersticas:
Modo semi-dplex
La comunicacin serie se transmite en una sola lnea, en ambos sentidos.
No se pueden enviar informacin en ambos sentidos de forma simultnea
La transmisin puede ser maestro o esclavo

Fig.N 5 Transmisin sncrona

Transmisin Asncrona: En este modo se emplean relojes tanto en el emisor como


el receptor.
Caractersticas:
La frecuencia del reloj se acuerda antes de la transmisin
La sincronizacin se realiza durante la transmisin
Transmisin es full-dplex (se utilizan dos lneas, una de transmisin (Tx) y
otra de recepcin (Rx)).
Cada trama de datos tiene un tamao fijo y posee un bit de arranque (inicio)
y un bit de parada (final).

Fig.N 6 Transmisin asncrona

Funcin Para Configurar El Mdulo Usart En C


#USE RS232 (opciones)
Nos permite configurar las caractersticas del mdulo USART

Fig.N 7 Funciones para configurar el modo Usart en C

Funciones De Transmisin De Datos


putc(data)
putchar(data)
data es un carcter de 8 bits
puts(string)
string es una cadena de caracteres constante o una matriz de caracteres terminada
con un cero
printf (fname, cstring, values)
fname: funcin a utilizar para escribir la cadena indicada, por defecto se utiliza
putc ()
cstring: cadena de caracteres o matriz de caracteres terminada en 0.

Funciones De Recepcin De Datos


value=getc ()
value=getch ()
value=getchar ()
value es un carcter de 8 bits. Espera recibir un carcter por la lnea RS232 y
devuelve su valor.
valor=kbhit ()
valor=0 (false) si getc () debe esperar a que llegue un carcter
valor=1 (true) si ya hay un carcter para ser ledo por getc ()

1.6.2 Desarrollo
1.6.2.1 Materiales
COMUNICACIN SERIAL PIC A PIC:
Softwares:
Proteus
PIC C COMPILER
PICkit2

Materiales para Implementacin:


2-PIC 16F887
8-Resistencias de 220
Cables
Fuente de 5 Vdc
2-Osciladores de cristal de 4MHz
Pinza
Cortadora
1-Display de 7 segmentos ctodo comn.
1-Teclado matricial.

COMUNICACIN SERIAL PC A PIC


Softwares:
Proteus
PIC C COMPILER
PICkit2
Materiales para Implementacin:
1-PIC 16F887
8-Resistencias de 220
Cables
Fuente de 5 Vdc
Oscilador de cristal de 4MHz
Pinza
Cortadora

1.6.2.2 Programacin para establecer la Comunicacin serial


COMUNICACIN SERIAL ENTRE PIC A PIC
La programacin para establecer la comunicacin serial entre dos pics se lo realiz
mediante PIC C COMPILER, debido a que presenta varias ventajas, una de ellas es que
la programacin es ms fcil, rpida y eficiente. Para establecer esta comunicacin se ha
utilizado las libreras correspondientes para un teclado matricial el cual es el KBD4X4,
los puertos de comunicacin serial RS232 (USART1), los puertos de transmisin y
recepcin, en la programacin del transmisor se ha utilizado el comando PUTC para
enviar el carcter va serie por la USART del PIC; mientras que para el receptor se ha
utilizado el GETC para recibir el carcter enviado por el usuario desde el PIC1. A
continuacin se tiene la programacin del mismo con cada una de las lneas comentadas
para entender su funcionamiento:
Transmisor:

Fig.N 8 Programacin del transmisor para la comunicacin serial (teclado)

Receptor:
Fig.N 9 Programacin del receptor para la comunicacin serial (display)

1.6.2.3 Simulacin del programa en Proteus


Para verificar que la programacin realizada este bien; es decir que permita la
comunicacin entre los dos pics, es necesario simular para ello se ha utilizado PROTEUS.
Una vez terminado el programa en pic c compiler se genera un archivo .hex, el mismo
que nos servir para exportar tanto al pic fsico como al pic virtual de proteus.

Fig.N 10 Generacin del archivo .hex del transmisor


Fig.N 11 Generacin del archivo .hex del receptor

En el diseo que representa a la comunicacin entre pic y pic con un teclado matricial y
un display como visualizador de los datos enviados desde el transmisor (teclado), se
utiliza los pics 16F887, a este se importa el archivo .hex para que funcione
adecuadamente.

Fig.N 12 Importacin del archivo .hex. Al pic transmisor (16F887)

Fig.N 13 Importacin del archivo .hex. Al pic receptor (16F887)

As se tiene el funcionamiento de la comunicacin serial entre dos pics , permitiendo que


al enviar datos desde el teclado se visualicen en el display del receptor.
Fig.N 14 Funcionamiento de la comunicacin serie entre dos pics

1.6.2.4 Implementacin del circuito


Para que funcione se debe quemar el pic, es decir exportar al pic el archivo generado .hex,
esto se lo realiza mediante software PICkit2 y un quemador de pic.
Implementacin del circuito en Protoboard.

Fig.N 15 Implementacin fsica de la comunicacin serial entre dos pic (teclado con display)
COMUNICACIN SERIAL ENTRE PC A PIC
Para la implementacion del circuito se utilizaraon cuatro leds que se encenderan
conforme seleccionemos las opciones en el panel de control que se visualizaran en
Hyperterminal. Mediante counicacion serial y un FTDI, la comunicacin entre la PC
y el PIC se ejecuta de forma normal, con las especificaciones que le hemos dado al
circuito.

Una vez realizadas las conexiones e identificados los puertos del PIC a utilizar,
realizamos la siguiente programacion en PIC C Compiler. Declaramos las
condiciones inciales y los fusibles a utilzar, asi como el oscilador.
Declaramos las condiciones de encendido y apagado, ademas de incializar el bucle
infinito.

En el circuito se especifica la comunicacin y el tipo de puerto a utilizar, en este caso


simularemos un puerto serial con el programa Virtual Serial Ports Emulator, el cual
nos permitira comunicar todos las conexiones realizadas en el puerto creado.

En el COM1 el Hyperterminal recivira esta cadena de datos.


Una vez que presionemos la barra de espacio, nos permitira seleccionar el led que
quemremos encender.

Ya seleccionado el led a encender, el programa nos mostrara si lo hemos encendido


o apagado, ya que si seleccionamos cualquier opcion, esta apagara el led si esta
encendido, y encendera el led si esta apagado.
1.7 RESULTADOS Y DISCUSIN
Por medio de los conocimientos adquiridos en clase se logr programar el pic
mediante PIC C COMPILER, y con ello se obtuvo la comunicacin serial entre dos
pic y entre PC a PIC, esto mediante el conocimiento acerca del puerto serial RS232
mediante la va USART de cada uno de los pic.
En el caso de la comunicacin serial entre PIC a PIC se utiliz lo que es la librera
KBD_4X4 para que el teclado funcione en conjunto con el pic, estableciendo as el
transmisor y mediante el comando putc se logr enviar los datos desde el teclado
(transmisor), con el comando getc se logr recibir los datos, los mismos que fueron
mostrados por un display de 7 segmentos.
El archivo .hex es el que permiti que funcione adecuadamente tanto la simulacin
como la implementacin fsica.
1.8 CONCLUSIONES
Por medio de la prctica realizada se logr implementar la comunicacin entre
dos pic, esto mediante va serial USART1, es decir mediante el puerto TX y
RX de cada uno delos pics, estableciendo as la comunicacin serial.
Con la comunicacin serial se logr enviar los datos desde el teclado, en este
caso nmeros del 0 al 9 y letras desde la A hasta la F hacia el receptor, el cual
era un display de 7 segmentos.
La comunicacin serial adems ayudo a establecer la comunicacin entre una
PC y un PIC, en donde por medio de la computadora se enva datos al pic
receptor el cual constaba de una pantalla LCD, aqu incluyendo las libreras
de la pantalla para su funcionamiento.
Se logr reforzar los conocimientos adquiridos tanto de la programacin de
un pic como del funcionamiento del mismo, en donde al utilizar un lenguaje
de alto nivel el programa se reduce ya que existen instrucciones ms cortas
pero que abarcan una gran operacin.
Para observar su correcto funcionamiento se simul primero en software
proteus y por consiguiente se implement fsicamente, esto se logr con la
ayuda de un quemador de pics.

1.9 RECOMENDACIONES
Para no tener problemas en el funcionamiento de un pic o que al compilar haya
errores, se recomienda revisar el pic se est utilizando, los fusibles, la
frecuencia de operacin y la declaracin de los puertos; los que sean para las
entradas y para las salidas y las respectivas libreras, en este caso para el
teclado y la pantalla LCD.
Otra de las recomendaciones es verificar el Datasheet del pic que se est
utilizando para alimentarlo adecuadamente y as evitar que esta tienda a
quemarse.
Es recomendable tambin de tener la informacin adecuada del pic que se
utiliza para ver si es necesario que este necesite o no de un oscilador de cristal
externo y as no tener problemas en verificar el funcionamiento de la
comunicacin serial entre dos PIC y de PC a PIC.

1.10 REFERENCIAS BIBLIOGRAFICAS

[1] R. P. A. Fernando E. Valds Prez, Microcontroladores: fundamentos y


aplicaciones con PIC, Marcombo, 2007.
[2] [En lnea]. Available: http://www.ccsinfo.com/content.php?page=compilers.
[ltimo acceso: 8 Octubre 2017].

[3] MIKROELEKTRONIKA, [En lnea]. Available:


https://learn.mikroe.com/ebooks/microcontroladorespicc/chapter/caracteristicas-
basicas-del-pic16f887/. [ltimo acceso: 2 Agosto 2017].

[4] E. Santamara, Electrnica digital y microprocesadores, 1993.

1.11 FOTOGRAFAS

Fig.N 16 Pulsa tecla 3 y visualizacin en display el nmero 3


Fig.N 17 Pulsa tecla 6 y visualizacin en display el nmero 6

Fig.N 18 Pulsa tecla A y visualizacin en display la letra A

Fig.N 19 Pulsa tecla 1 y visualizacin en display el numero 1 Fig.N 20 Pulsa tecla 3 y visualizacin en display el numero 3

Fig.N 21 Pulsa tecla 2 y visualizacin en display el numero 2


Fig.N 22 Conexin serial con el mdulo FTDI

Fig.N 23 Conexiones elctricas en el Protoboard para comunicacin


serial

Vous aimerez peut-être aussi