INGENIERÍA ELECTRÓNICA
SISTEMAS MICROPROCESADOS I
INFORME DE LA PRACTICA 9
COMUNICACIÓN SERIAL
INTEGRANTES:
• CHRISTIAN MORALES
• HENRY SUNTAXI
SISTEMAS MICROPROCESADOS I
DESARROLLO
Para la practica se utilizo el PIC 16F877A.
PROCEDIMIENTO PRÁCTICO
1.
• PROBLEMA
Transmuicion y recepcion serial con PIC
Para facilitar la transmicion se utiliza el circuito integradoo max232 se recomienda utilizar
un cristal de 11.52 MHz o la mas cercana a este valor.
• ALGORITMO
Entrada: Recibo el dato
Proceso:
• Defino las variables
• Inicializo modulo Usart
• Recibo el dato y lo guardo
• Transmito el dato
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.
SISTEMAS MICROPROCESADOS I
• DIAGRAMA DE FLUJOS
INICIO
Defino variables
Inicializo modulo
USART
NO
Reci
bo
Dato
SI
Dato Guardado
Dato transmitido al
hiperterminal
END
SISTEMAS MICROPROCESADOS I
• ESQUEMÁTICO Y SIMULACION
2.
• PROBLEMA
Transmisión de datos desde el PIC al PC
Proceso:
• Defino variables
• Inicializo el puerto serie en 9600 baudios
• Incrementa el código ASCII de uno en uno
• En vía 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 además de los nombres de los integrantes
• 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("Christian Morales ")
delay_ms(1000)
usart_write_text("Henry Suntaxi ")
SISTEMAS MICROPROCESADOS I
wend
end.
• DIAGRAMA DE FLUJOS
INICIO
Defino variables
Incrementa el código
ASCII de uno en uno
• ESQUEMÁTICO
Esquematico Ejercicio9.2
SISTEMAS MICROPROCESADOS I
3.-
• PROBLEMA
Proceso:
• Defino variables
• Puerto B como salida
• Inicializa USART a 9600 baudios
• Si recibo el dato
• Leo el dato recibido
program pc_a_pic
DIM A AS BYTE
A=0
trisb = 0
main:
Usart_Init(9600) 'inicializa Usart a 9600 baudios
while true
wend
end.
• DIAGRAMA DE FLUJOS
INICIO
Defino variables
Inicializo modulo
USART
NO
Reci
bo
Dato
SI
Leo el dato
• ESQUEMÁTICO: Pic16F877A
• SIMULACIÓN: Pic16F877A
PROBLEMA 4
• 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 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.
DIAGRAMA DE FLUJOS:
INICIO
SISTEMAS MICROPROCESADOS I
Definir Variables
Valor
Recbid
o
si
Conversor
End
ESQUEMÁTICO: Pic16F877A
Simulacion: Pic16F877A
SISTEMAS MICROPROCESADOS I
PROBLEMA 5
Desarrollar en programa en Labview, permitir la transmisión y recepción entre el PIC y el programa
Labview.
ALGORITMO
SISTEMAS MICROPROCESADOS I
• Entrada
• 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 byte
dim x as byte
dim b as byte
dim a as string[64]
main:
Usart_Init(9600)
While true
if Usart_Data_Ready =1 then
x= Usart_Read
portd= x
end if
b =Portb
bytetostr(b,a)
Usart_Write_text(a)
delay_ms(100)
wend
end.
ESQUEMATICO: PIC16F877A
SISTEMAS MICROPROCESADOS I
PROGRAMA DE LABVIEW
Diagrama de
Bloques
SISTEMAS MICROPROCESADOS I
Simulacion:
SISTEMAS MICROPROCESADOS I
CONCLUCIONES
Las comunicaciones seriales con PIC tanto como emisión y recepción son muy sencillas realizarlos no
existieron complicaciones pero al realizar la comunicación con labview existieron inconvenientes en el
momento s comunicación en el envió de datos de la PC al PIC ya que solo respondía hasta ciertos valores eso
depende mucho del PIC que estemos utilizando para la comunicación.
BIBLIOGRAFÍA
- Hojas de prácticas de Sistemas Microprocesados I proporcionados por el Ing. Luis Oñate.
- Manual de ayuda de microbasic para PIC.
- ANGULO MARTÍNEZ IGNACIO; ROMERO YESA SUSANA; ANGULO USATEGUI
JOSÉ MARÍA MICROCONTROLADORES PIC. DISEÑO PRACTICO DE
APLICACIONES. SEGUNDA PARTE: PIC16F87XX, PIC18FXXXX.