Lab05 Programacion Simulación de Aplicativo1 Pic18f4550
Lab05 Programacion Simulación de Aplicativo1 Pic18f4550
Laboratorio N° 05
Objetivos
1. Utilizar las instrucciones para programar al microcontrolador PIC16F877A
2. Utilizar software de desarrollo proporcionada por el fabricante.
3. Utilizar software de simulación digital.
Introducción
Los simuladores, en la electrónica, permiten realizar infinidad de pruebas en los cálculos
electrónicos, lógica de programación, etc. Esto permite validar el diseño electrónico y la
programación del microcontrolador. En caso hubiera algún error este se corrige modificando el
diseño o realizando otra lógica en la programación cuantas veces se quiera. Una vez logrado el
diseño y la programación correcta recién se realiza la implementación.
Preparación
Para la realización de este laboratorio se requiere la lectura previa de la información proporcionada
para el curso, como el texto y el manual del fabricante.
Equipos y Materiales
● Computadora
● Software de desarrollo
● Proyector multimedia
Pág. 2
Lab. N° 5 Programación y Simulación del Aplicativo 1
Seguridad
Trabajar con Seguridad evita que las personas sufran daños, y provee un ambiente satisfactorio de
trabajo.
1. Al ingresar, inspeccione:
Las vías de acceso.
Orden y limpieza.
Pág. 3
Lab. N° 5 Programación y Simulación del Aplicativo 1
Programa 1: Realice el siguiente programa con LCD, en el cual se envía un mensaje al LCD 16X2
#include <P18F4550.INC>
CONFIG FOSC = HS
CONFIG PWRT = OFF
CONFIG BOR = OFF
CONFIG BORV = 3
CONFIG VREGEN = OFF
CONFIG WDT = OFF
CONFIG PBADEN = OFF
CONFIG LVP = OFF
CONFIG MCLRE = ON
cblock 0x10
HOLA
endc
ORG 0x0000
goto MAIN
ORG 0x7000
MENSAJE: da "TECSUP VIRTUAL 2020"
ORG 0x0020
MAIN:
clrf TRISD
call LCD_CONFIG
call CURSOR_OFF
movlw UPPER MENSAJE
movwf TBLPTRU
movlw HIGH MENSAJE
movwf TBLPTRH
movlw LOW MENSAJE
movwf TBLPTRL
movlw .5
call POS_CUR_FIL1
INICIO1:
TBLRD*+;
movf TABLAT,W
movwf HOLA
movlw 'V'
subwf HOLA,W
btfsc STATUS,Z
call CAMBIA_LINEA
movlw 0xFF
subwf HOLA,W
btfsc STATUS,Z
goto FIN
movf HOLA,W
call ENVIA_CHAR
goto INICIO1
CAMBIA_LINEA:
movlw .3
call POS_CUR_FIL2
return
FIN:
goto FIN
#include "LIB_LCD.INC"
END
Pág. 4
Lab. N° 5 Programación y Simulación del Aplicativo 1
Circuito a implementar:
Programa 2: Realice el siguiente programa con LCD, en el cual se envía carácter por caracter al LCD
16X2.
CONFIG FOSC = HS
CONFIG PWRT = OFF
CONFIG BOR = OFF
CONFIG BORV = 3
CONFIG VREGEN = OFF
CONFIG WDT = OFF
CONFIG PBADEN = OFF
CONFIG LVP = OFF
CONFIG MCLRE = ON
org 0x0000
goto configuro
;Según la librería el LCD esta conectado con el PIC: RS->RD0, RW->RD1, E->RD2, Datos->RD4-RD7
configuro:
clrf TRISD ;Todo el puerto D como salida (LCD)
call LCD_CONFIG
call CURSOR_OFF
inicio:
Pág. 5
Lab. N° 5 Programación y Simulación del Aplicativo 1
call CURSOR_HOME
movlw 0x48
call ENVIA_CHAR
movlw 0x6F
call ENVIA_CHAR
movlw 0x6C
call ENVIA_CHAR
movlw 0x61
call ENVIA_CHAR
movlw 0x20
call ENVIA_CHAR
movlw 0x4D
call ENVIA_CHAR
movlw 0x75
call ENVIA_CHAR
movlw 0x6E
call ENVIA_CHAR
movlw 0x64
call ENVIA_CHAR
movlw 0x6F
call ENVIA_CHAR
fin: nop
goto fin
#include "LIB_LCD.INC"
end
Circuito a implementar:
Pág. 6
Lab. N° 5 Programación y Simulación del Aplicativo 1
Programa 3: Realice el siguiente programa con LCD, en el cual se visualiza el estado del pin RE0 en el
LCD 16X2.
CONFIG FOSC = HS
CONFIG PWRT = OFF
CONFIG BOR = OFF
CONFIG BORV = 3
CONFIG VREGEN = OFF
CONFIG WDT = OFF
CONFIG PBADEN = OFF
CONFIG LVP = OFF
CONFIG MCLRE = ON
ORG 0x0000
goto MAIN
ORG 0x7000
MENSAJE: da "Estado de RE.0:"
ORG 0x7100
apagado: da "Apagado "
ORG 0x7200
encendido: da "Encendido"
ORG 0x0020
MAIN:
clrf TRISD
call LCD_CONFIG
clrf TRISB
setf LATB
movlw 0x0F
movwf ADCON1 ;Para hacer que los puertos RE sean digitales
bsf TRISE, 0
call CURSOR_OFF
INICIO:
movlw HIGH MENSAJE
movwf TBLPTRH
movlw LOW MENSAJE
movwf TBLPTRL
movlw .0
call POS_CUR_FIL1
ENVIANDO:
TBLRD*
movf TABLAT,W
call ENVIA_CHAR
incf TBLPTRL
movlw .15
cpfseq TBLPTRL
goto ENVIANDO
ENVIANDO2:
movlw .0
call POS_CUR_FIL2
btfss PORTE, 0
goto cero
goto uno
cero:
movlw HIGH apagado
Pág. 7
Lab. N° 5 Programación y Simulación del Aplicativo 1
movwf TBLPTRH
movlw LOW apagado
movwf TBLPTRL
otro1:
TBLRD*
movf TABLAT,W
call ENVIA_CHAR
incf TBLPTRL
movlw .9
cpfseq TBLPTRL
goto otro1
goto ENVIANDO2
uno:
movlw HIGH encendido
movwf TBLPTRH
movlw LOW encendido
movwf TBLPTRL
otro2:
TBLRD*
movf TABLAT,W
call ENVIA_CHAR
incf TBLPTRL
movlw .9
cpfseq TBLPTRL
goto otro2
goto ENVIANDO2
FIN:
goto FIN
#include "LIB_LCD.INC"
END
Pág. 8
Lab. N° 5 Programación y Simulación del Aplicativo 1
Enunciado:
GRUPO 1 Programar y simular un circuito con display LCD 16X2, donde simule 6
estacionamientos en el 1° piso y otros 6 en el 2° piso, en la pantalla LCD
debe indicar los espacios disponibles y los no disponibles.
Pág. 9
Lab. N° 5 Programación y Simulación del Aplicativo 1
GRUPO 5
Modelo de Informe
Carátula
Pág. 10
Lab. N° 5 Programación y Simulación del Aplicativo 1
Fundamento Teórico
Deberá ser conciso y redactado con lenguaje propio. Estará basado en las lecturas recomendadas o
cualquier otra información relacionada con el tema. En cualquier caso no será mayor de tres (03)
páginas.
1. Los datos, tablas, resultados de los programas y respuestas a las preguntas que se soliciten en
el procedimiento.
2. Los programas deberán contar con líneas de comentarios
3. Deberá acompañarse al programa, el diagrama de flujo del mismo.
Observaciones y Conclusiones
Pág. 11
Lab. N° 5 Programación y Simulación del Aplicativo 1
Observaciones Generales
Pág. 12