Comunicacion Serial R-232
-
Upload
luishernandez -
Category
Documents
-
view
1.462 -
download
0
Transcript of Comunicacion Serial R-232
UNIVERSIDAD POLITÉCNICA SALESIANA
INGENIERÍA ELECTRÓNICA
SISTEMAS MICROPROCESADOS I
INFORME DE LA PRACTICA 9
COMUNICACIÓN SERIAL R-232
INTEGRANTES:
LUIS HERNANDEZ DAVID HERRERA
1.- OBJETIVO: Utilizar las comunicaciones seriales RS-232
ALGORITMO
Entrada: Recibo el dato
Proceso:
Defino las variables
Recibo el dato y lo guardo
Transmitir el dato
Salida: Datos Visualizados en el hiperterminal.
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.
DIAGRAMA DE FLUJOS
INICIO
Defino variables
Inicializo modulo USART
END
Recibo
DatoSI
NO
Dato transmitido al hiperterminal
SIMULACION
VISUALIZACION.
2.- PROBLEMA
Transmisión de datos desde el PIC al PC
Proceso:
Definimos variables
Inicializo el puerto serie
Enviar los datos por el pin transmisor
Retardó para observar los caracteres en el hiperterminal
Envía datos a la PC
Salida: Envía los datos del PIC a la PC
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("LUIS HERNANDEZ ")
delay_ms(1000)
usart_write_text("JUAN DAVID ")
wend
end.
DIAGRAMA DE FLUJOS
INICIO
Defino variables
Inicializo el puerto serie
Visualizo los datos en el hyperterminal
Envía los datos por el pin
transmisor
Retardo 100ms para observar los caracteres
ESQUEMÁTICO
VISUALIZACION
3.-PROBLEMA
Envió de datos desde el PC al PIC
Proceso:
Definir Variables
Puerto B como salida
Inicializa USART
Si recibo el dato
Leo el dato recibido
Salida: Visualizo en los leds los datos recibidos
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.
DIAGRAMA DE FLUJOS
ESQUEMÁTICO:
INICIO
Defino variables
Inicializo modulo USART
Leo el dato
Recibo
DatoSI
NO
Visualizo en leds los datos recibidos
VISUALIZACION
EJERCICIO 4.-
Realice la adquisición de datos de un potenciómetro y envíelos parra que observe en el hyperterminal de Windows
ALGORITMO: Entrada
Adquirir el valor analógico del potenciómetro en el puerto A
Proceso:
Configurar comunicación serial Realizar la conversión Análogo/Digital Enviar el valor del digital del potenciómetro por puerto Serial a la PC.
Salida:
Visualizar en Hyperterminal el valor digital del potenciómetro.
CODIGO:
program AnalogoDigital1dim voltaje as floatdim valor as string[10]sub procedure initoption_reg=$80adcon1=$80trisa=$FFend submain:Usart_Init(9600)initwhile truevoltaje = adc_read(0)wordtostr(voltaje, valor)Usart_Write_Text(valor)delay_ms(300)wendend.
DIAGRAMA DE FLUJOS
ESQUEMÁTICO:
VISUALIZACION
EJERCICIO 5.-
INICIO
Definir Variables
Inicializar Puerto Serial
Conversor ADC
Enviar datos por Pin Transmisor
End
Desarrollar en programa en Labview, permitir la transmisión y recepción entre el PIC y el programa Labview.
ALGORITMO
Entrada
Recibir el dato que envía Labview por dipswich virtuales Recibir valor binario a través del puerto B
Proceso:
Configurar comunicación serial Recibir por el Pin de Recepción los datos de Labview (PC) y enviarlos al puerto D Recibir datos por el puerto B y enviarlos por el Pin de Trasmisión a Labview (PC).
Salida:
Visualizar en Labview el valor que ingresa por el puerto B y visualizar el Leds el valor enviado por Labview.
CODIGO: program conlabview'dim received_byte as bytedim x as bytedim b as bytedim a as string[64]
trisb = $ff 'entradatrisd = 0 'salidaportd=0x=0
main:Usart_Init(9600)While trueif Usart_Data_Ready =1 thenx= Usart_Readportd= xend ifb =Portbbytetostr(b,a)Usart_Write_text(a)delay_ms(100)wendend.
ESQUEMATICO:
PROGRAMA DE LABVIEW
Diagrama de Bloques
Simulación:
CONCLUCIONES
Debemos conocer y practicar mas para las próximas practicas ya que al ser extensas requieren de mucho mas tiempo
Tener bien armado y programado cada uno de los laboratorios para poder seguir avanzando.
Leer el Data Sheet y su correcto funcionamiento Utilizar los comandos de programación adecuados para cada práctica. Seguir con la guía y probar cada uno de los elementos para su correcto funcionamiento.
BIBLIOGRAFÍA
- Hojas de prácticas de Sistemas Microprocesador I Ing. Luis Oñate.
- ayuda de microbasic para PIC.