Está en la página 1de 14

UNIVERSIDAD POLITECNICA SALESIANA

SISTEMAS MICROPROCESADOS I

UNIVERSIDAD POLITÉCNICA SALESIANA


INGENIERIA ELECTRÓNICA EN TELECOMUNICACIONES

SISTEMAS MICROPROCESADOS I

Tema: Desarrollo Comunicación Serial RS- 232 PC-PIC-PC con LabView.

Fecha de Realización: 2009 / 10 / 10 /


año mes día

Realizado por:

Alumnos: Cristian Zapata


Francisco Jurado

Periodo Lectivo: 2009- 2010

Cristian Zapata
Francisco Jurado 1
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Desarrollo del programa en LabView

1. Creamos un Nuevo Proyecto en LabView

Ventana de presentación de Inicio de LabView.


2. Ingresamos los controles que en este caso serán los interruptores.
En la Ventana del Panel Frontal damos click derecho y aparece un menú llamado Controls, una vez
situados aquí accedemos al submenú Modern y escogemos un control Boolean de la forma que
deseamos. La forma de situar a estos iconos se muestra en la figura siguiente:

Repetimos el proceso anterior hasta tener los o controles que representaran los interruptores.

Cristian Zapata
Francisco Jurado 2
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

3. Colocamos los indicadores en este caso serán 8 Led's


En la Ventana del Panel Frontal en el menú de Controls, accedemos al submenú Modern y escogemos
un indicador Boolean de la forma que deseamos, creamos un arreglo con este indicador, en el menú
Controls en el submenú Modern buscamos Arrays, Matrix & Clusters y seleccionamos Array, luego
arrastramos nuestro indicador dentro del icono de Array y a este icono lo agrandamos hasta que
aparezcan 8 indicadores que representaran nuestros 8 leds, quedando en nuestro panel Frontal de la
siguiente forma:

4. Ingresamos la Función Stacked Sequence Structure.


En la ventana de Diagrama de Bloques en el menú Funtions, accedemos al submenú Programming,
escogemos en la ventana que se muestra en el icono de Structures buscamos Stacked Sequence
Structure, la creamos del tamaño que se desee, Agregamos tres secuencias, damos click derecho
sobre el borde de la estructura creada hacemos click en Add Frame After en la ventana que se
despliega este proceso lo repetimos hasta crear las tres secuencias, las cuales nos servirán para
realizar la comunicación serial.

5. Crear la comunicación Serial.


Ingresamos los iconos de manejo del puerto serial, estos se encuentran en el menú Functions de la
ventana Diagram. Una vez en Fuctions, se accede al submenú Instrument I/0, situamos el ratón sobre

Cristian Zapata
Francisco Jurado 3
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Serial y aparece una pantalla con los iconos que LabView ofrece para el uso del puerto serial.

a) En la primera secuencia Configuramos el puerto serial para escribir o enviar datos desde el programa
hacia el pic, colocamos los iconos de Visa Configure Port, Visa Write y el icono que representa los
interruptores que se creo anteriormente dentro de la primera secuencia.

Para enviar datos por el puerto serial necesitamos que sean de tipo String por lo que a los interruptores
les hacemos un arreglo, para lo cual dentro del menú Funtions en el submenu Programming nos
situamos en Array y buscamos el icono Build Array, luego lo agrandamos con la ayuda del mouse hasta
obtener 8 entradas y unimos cada entrada a cada interruptor .

Cristian Zapata
Francisco Jurado 4
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Para la conversión conversión a tipo String ingresamos en el menú Funtions de la ventana de Diagrama
de Bloques accedemos al submenu Programming en el icono de Booleans escogemos Boolean Array to
Number, y lo unimos a la salida del arreglo creado en el paso anterior.

Luego en el menú Funtions submenú Programming nos situamos en String una vez ahí en el menú que
se muestra buscamos String/Number Conversion y seleccionamos Number to Decimal String, y lo
unimos a la salida del convertidor de Array a numero, y a la entrada de color rosado del icono para
escritura del puerto serial llamada Write buffer.

Luego unimos la salida de error del Icono Visa Configure Port a la entrada de error del icono Visa Write.

Cristian Zapata
Francisco Jurado 5
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

En el icono Visa Configure Port nos situamos con el mouse sobre la entrada timeout (10sec).

Damos click derecho y en el menú que se despliega damos click en Create y en el submenu en
Constant, nos aparecerá una constante de 10000 la cual no modificamos quedando:

Luego en el icono de Configure Serial Port nos situamos sobre la entrada llamada Visa Resource name
damos click derecho en el menú que aparece seleccionamos Create y luego seleccionamos Indicator, lo
sacamos fuera de la secuencia y creamos una variable local, para crear esta variable se da un click
secundario sobre el icono creado en el menú que aparece seleccionamos Create y Local Variable.

Cristian Zapata
Francisco Jurado 6
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

El icono de la variable local ingresamos a la secuencia y unimos ala entrada llamada Visa Resource
name de los iconos Visa Configure Port y Visa Write quedando la primera secuencia de la siguiente
manera:

b) En la segunda secuencia Configuramos el puerto serial para leer o recibir datos, para lo cual
ingresamos los iconos de Visa Configure Port, Visa Read, siguiendo los pasos realizados para la
secuencia anterior.

Creamos otra variable local del icono VISA resource name y unimos a las entradas de Visa resource
name de los iconos Configure Port y Visa Read, también unimos la salida de error del icono Configure
Port con la entrada de error del icono Visa Read, y creamos la constante en el icono Configure Serial

Cristian Zapata
Francisco Jurado 7
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Port de la misma manera que se lo hizo en la secuencia anterior quedando nuestra secuencia de la
siguiente forma:

Los datos que recibimos por el puerto serial son de tipo String por lo que realizamos una conversión de
String a datos del tipo Boolean Array, para poder visualizar los datos recibidos ingresamos en el menú
Funtions en el submenú Programming en String buscamos String/Number Convertion buscamos el
icono de Decimal String to Number, adicionalmente ingresamos al submenú Programming en Numeric
nos situamos en Conversion y buscamos el icono Number to Boolean Array, colocamos en esta
secuencia el arreglo de indicadores (Leds) y los conectamos de la siguiente forma:

Cristian Zapata
Francisco Jurado 8
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Luego nos situamos sobre el icono Visa Read para indicar el numero de bits que se van a leer, damos
click secundario en la entrada llamada Bit count aparecerá un menú damos click en Create luego en
Control quedando nuestra secuencia de la siguiente forma:

c) Para la ultima secuencia colocamos el icono Visa Close, siguiendo los pasos indicados para crear la
comunicación serial,esto lo hacemos para liberar el puerto serial cuando se termine de usar el
programa, adicionalmente ingresamos un cuadro de dialogo de error en el menú Funtions en el
submenú Programming buscamos el icono Dialog & User Interface e ingresamos el icono de Simple
Error Handler.vi quedando nuestra secuencia de la siguiente manera:

Cristian Zapata
Francisco Jurado 9
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

6. Con las diferentes herramientas que encontramos en LabView podemos modificar la presentación de
la interfaz para que sea mas agradable al usuario pudiendo quedar de la siguiente manera:

7. Realizamos la programación para el PIC16F877A, armamos el circuito siguiendo el esquema que se


muestra a continuación obteniendo así la comunicación PIC-PC-PIC con la Interfaz desarrollada en
LabView.

Nota.- El Interfaz fue desarrollado en LabView (Versión 8.5)


Elementos Utilizados:
– PIC 16F877A
– MAX 232
– Capacitores 1Uf
– Resistencias 330 Ω
– Diodos Led's

Cristian Zapata
Francisco Jurado
10
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Diagrama Esquemático:

Cristian Zapata
Francisco Jurado
11
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Diagrama de conexión

Código para el PIC16F877A realizado en Microbasic


program puertoSerial
dim received_byte as byte
dim x as byte
dim b as byte
dim a as string[64]
x=0
trisb=0
trisd=$ff
main:
Usart_Init(9600)
while true
if Usart_Data_Ready=1 then
x=Usart_Read
portb=x
b=Portd
bytetostr(b,a)
Usart_Write_text(a)
end if
delay_ms(100)
wend
end.

Cristian Zapata
Francisco Jurado
12
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Fotos Funcionamiento:

Circuito armado en el Protoboard

Cristian Zapata
Francisco Jurado
13
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I

Programa en LabView

Bibliografía

– Ayuda de Microbasic
– Apuntes de la Materia Sistemas Microprocesados I, Ing. Luis Oñate
– http://www.ni.com/

Cristian Zapata
Francisco Jurado
14