Está en la página 1de 21

SISTEMAS MICROPROCESADOS 1 UPS

UNIVERSIDAD POLITECNICA
SALESIANA
INTEGRANTES:

OSCAR AYALA

ANDRES VALDIVIESO
CURSO:
SEXTO ELECTRONICA

1
SISTEMAS MICROPROCESADOS 1 UPS

TALLER Nº9 DE PIC

TEMA: Comunicaciones seriales asincrónicas.

OBJETIVO: Utilizar las comunicaciones seriales RS-232

DESARROLLO

En la práctica vamos a utilizar el micro controlador PIC 16F877A y su correspondiente


diagrama de pines y características.

Figura 1. Diagrama de pines del PIC 16F877A

Para trabajar con comunicación serial necesitaremos obligatoriamente que usar el


MAX 232.

Figura 2. Diagrama max 232

2
SISTEMAS MICROPROCESADOS 1 UPS

1.- TRANSMISION Y RECEPCION SERIAL CON PIC

 PROBLEMA
Para facilitar la transmisión se utiliza el circuito integrado max 232. Se recomienda
utilizar un cristal de 11.52Mhz o lo más cercano a este valor.

ALGORITMO
Inicio: Utilizar Usart para

Proceso: Transmitir y recibir datos en 9600 baudios

Salida: Visualización en el hyper terminal de widows los datos recibidos.

 DIAGRAMA DE FLUJOS

INICIO

Defino variables internas

Habilito USART INIT

Transmito los datos y


recibo los mismos

Visualizo en la hyper
terminal de Windows los
datos recibidos

3
SISTEMAS MICROPROCESADOS 1 UPS

 CÓDIGO
program leer_dato

dim received_byte as byte

main:

Usart_Init(9600) 'Inicializa modulo Usart

while true

if Usart_Data_Ready = 1 then 'Si el dato es recibido

received_byte = Usart_Read 'dato se guarda

usart_Write (received_byte) 'El dato es transmitido

end if

wend

end.

 Esquemático: Utilizamos el microcontrolador PIC 16F877A

4
SISTEMAS MICROPROCESADOS 1 UPS

 GRAFICO ANEXO

Visualización de datos en la hyper terminal de mikroBasic

Grafico ejercicio 1.

5
SISTEMAS MICROPROCESADOS 1 UPS

2.- TRANSMISION DE DATOS DESDE EL PIC AL PC.

 PROBLEMA
Para facilitar la transmisión se utiliza el circuito integrado max 232. Se recomienda
utilizar un cristal de 11.52Mhz o lo más cercano a este valor.

ALGORITMO
Inicio: Utilizar Usart para
Declaro la variable auxiliar A

Proceso: Transmitir y recibir datos en 9600 baudios


Incrementar la variable auxiliar A

Salida: Visualización en el hyper terminal de widows los datos recibidos.

 DIAGRAMA DE FLUJOS

INICIO

Defino variables auxiliar A


tipo byte

Habilito USART INIT

Transmito los datos y


recibo los mismos con
USART write

Visualizo en la hyper
terminal de Windows los
datos recibidos

6
SISTEMAS MICROPROCESADOS 1 UPS

 CÓDIGO

PROGRAM PIC_A_PC

DIM A AS BYTE 'VARIABLE A DEFINIDA COMO TIPO BYTE

A= 0

TRISB = 0

MAIN:

USART_INIT(9600) 'INICIALIZA EL PUERTO EN 9600 BAUDIOS

WHILE TRUE

A= A + 1 'INCREMENTA EL CODIGO ASCII DE UNO EN UNO

USART_WRITE(A) 'ENVIA LOS DATOS POR EL PIN TRANSMISOR

DELAY_MS(1000) 'RETARDO PARA OBSERVAR LOS CARACTERES EN EL


HYPERTERMINAL

USART_WRITE_TEXT(" HOLA MUNDO ")

DELAY_MS(1000)

USART_WRITE_TEXT("ANGEL VALDIVIESO")

DELAY_MS(1000)

USART_WRITE_TEXT("OSCAR AYALA")

DELAY_MS(1000)

WEND

END.

7
SISTEMAS MICROPROCESADOS 1 UPS

 Esquemático: Utilizamos el microcontrolador PIC 16F877A

 GRAFICO ANEXO

Visualización de datos en la hyper terminal de mikroBasic

8
SISTEMAS MICROPROCESADOS 1 UPS

Grafico ejercicio 2.

3.- ENVIO DE DATOS DESDE EL PC AL PIC.

 PROBLEMA
Para facilitar la transmisión se utiliza el circuito integrado max 232. Se recomienda
utilizar un cristal de 11.52Mhz o lo más cercano a este valor.

ALGORITMO
Inicio: Utilizar Usart
Declaro la variable auxiliar A
Declaro el puerto b como salida.

Proceso: Transmitir y recibir datos en 9600 baudios


Incrementar la variable auxiliar A

Salida: Visualización de datos en código binario en los diodos LED.

9
SISTEMAS MICROPROCESADOS 1 UPS

 DIAGRAMA DE FLUJOS

INICIO

Defino variable auxiliar A


tipo byte

Habilito puerto b como


salida

Transmito los datos y


recibo los mismos con
USART write

Visualizo los datos en la


salida del puerto en los
diodos LED.

 CÓDIGO
PROGRAM PC_A_PIC

DIM A AS BYTE

A=0
TRISB = 0

MAIN:
USART_INIT(9600) 'INICIALIZA USART A 9600 BAUDIOS
WHILE TRUE

IF USART_DATA_READY = 1 THEN 'SI EL DATO ES RECIBIDO


A= USART_READ 'LECTURA DEL DATO RECIBIDO
PORTB =A
END IF

DELAY_MS(100)

WEND

END.

10
SISTEMAS MICROPROCESADOS 1 UPS

 Esquemático: Utilizamos el microcontrolador PIC 16F877A

 GRAFICO ANEXO

Visualización de datos en la hyper terminal de mikroBasic

11
SISTEMAS MICROPROCESADOS 1 UPS

Grafico ejercicio 3.

4.- ADQUISICIÓN DE DATOS DESDE EL PIC AL PC.

 PROBLEMA
Realice la adquisición de datos de un potenciómetro y envíelos para que se observe en
el hyperterminal de windows.
ALGORITMO
Inicio: Declaro la variable voltaje
Declaro la variable valor
Declaro el puerto a como entrada.

Proceso: Transmitir y recibir datos en 9600 baudios


Guardo los datos en la variable valor

Salida: Visualización de en el hyperterminal de windows.

12
SISTEMAS MICROPROCESADOS 1 UPS

 DIAGRAMA DE FLUJOS

INICIO

Defino variable voltaje


tipo float

Defino variable valor tipo


string

Habilito puerto a como


entrada

Transmito los datos y


recibo los mismos con
USART write

Visualizo los datos en la


hyperterminal de
windows

 CÓDIGO
PROGRAM ANALOGODIGITAL1
DIM VOLTAJE AS FLOAT
DIM VALOR AS STRING[10]
SUB PROCEDURE INIT
OPTION_REG=$80
ADCON1=$80
TRISA=$FF
END SUB
MAIN:
USART_INIT(9600)
INIT
WHILE TRUE
VOLTAJE = ADC_READ(0)
WORDTOSTR(VOLTAJE, VALOR)
USART_WRITE_TEXT(VALOR)
DELAY_MS(300)
WEND
END.

13
SISTEMAS MICROPROCESADOS 1 UPS

 Esquemático: Utilizamos el microcontrolador PIC 16F877A

 GRAFICO ANEXO

Visualización de datos en la hyper terminal de windows

14
SISTEMAS MICROPROCESADOS 1 UPS

Grafico ejercicio 4.

5.- DESARROLLO COMUNICACIÓN SERIAL RS-232 PC-PIC-PC CON LABVIEW.

 PROBLEMA
Realizando la programación para el PIC 16F877A, armamos el circuito siguiendo el
esquema que se muestra a continuación PIC-PC-PIC con la interfaz desarrollada en
LabView.

ALGORITMO
Inicio: Declaro el puerto b como salida.
Declaro el puerto d como entrada.
Defino las variables internas.

Proceso: Transmitir y recibir datos en 9600 baudios


Guardo los datos en la variable valor

Salida: Visualización de en el hyperterminal de windows.

15
SISTEMAS MICROPROCESADOS 1 UPS

 DIAGRAMA DE FLUJOS

INICIO

Defino variable x; b como


byte

Habilito puerto d como


entrada

Habilito puerto b como


salida

Guardo los datos del


puerto b en la variable x

Transmito los datos y


recibo los mismos con
USART write

Visualizo los datos en la


hyperterminal de
windows

16
SISTEMAS MICROPROCESADOS 1 UPS

 CÓDIGO

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.
17
SISTEMAS MICROPROCESADOS 1 UPS

 Esquemático: Utilizamos el microcontrolador PIC 16F877A

 GRAFICO ANEXO

Visualización de datos en la hyper terminal de mikroBasic.

18
SISTEMAS MICROPROCESADOS 1 UPS

Grafico ejercicio 5.

Panel central en labview

19
SISTEMAS MICROPROCESADOS 1 UPS

Panel central en labview

Panel central en labview

20
SISTEMAS MICROPROCESADOS 1 UPS

 CONCLUSIONES
 Es necesario utilizar un cristal de 11.52mhz para realizar óptimamente la
comunicación serial.
 Es necesario conocer las secuencias en los programas de LabView.
 Es preferible utilizar la velocidad de transmisión de datos de 9600 baudios ya
que es la más común en los dispositivos de comunicación serial.

BIBLIOGRAFÍA
 Hoja de prácticas de microcontroladores PIC proporcionados por el Ing. Luis
Oñate.
 Ayuda del Programa mikrobasic.
 Manual del Microcontrolador PIC 16F877A.
 Ayuda del programa LabView.

21