LAB 04 Grupo 1 Puertos de Entrada y Salida Parte II C16B
LAB 04 Grupo 1 Puertos de Entrada y Salida Parte II C16B
LAB 04 Grupo 1 Puertos de Entrada y Salida Parte II C16B
V Ciclo
Laboratorio N°04
“Puertos de entrada y salida Parte 2”
Informe
Integrantes:
Apellidos y Nombres Sección Grupo
Quispe Romero, Steven C16 B
ALEX VIZCARRA ARMACCANCCE C16 B
MANUEL FERNANDEZ AMBULAY C16 B
IVAN EDGARD PRADO LOPEZ C16 B
Profesor:
Ciriaco Martínez, Cesar Augusto
Lima-Perú
2018
Lab. N° 4 Puertos de Entrada y Salida II
Índice general
1. Introducción ................................................................................................. 3
2. Objetivos generales .................................................................................... 4
3. Objetivos específicos. ................................................................................. 4
4. Fundamento Teorico ................................................................................... 4
5. Procediminto................................................................................................ 6
1 Parte 1 : Display 7 segmentos ................................................................. 4
1.1 Copiar el siguiente programa…………………………………………….. 4
¿Qué encontramos en la librería electronicpic16f877.asm? .................. 7
2 Mostrar evidencia de ejecución del programa del ítem 1…………….... 9
¿Qué encontramos en la librería electronoc pic 16f887a.asm? ............ 12
¿En qué consiste el programa del ítem 1?………………………………….12
¿Qué encontramos en la librería lcd.asm?................................................12
3 Copiar el siguiente programa y analizar……………………………………13
¿En qué consiste el programa del ítem 5…………………………………….15
¿Qué encontramos en la librería mensaje.asm?……………………………15
¿Qué encontramos en la librería macro16f877.inc?……………………….¡Error!
Marcador no definido.15
4. Aplicación de lo aprendido ...... ………………… ………… ……………… 16
5. Comcluiones………………………………………………………………………..16
6. Observaciones……………………………………………………………………..16
7. Biblografias.………………………………………………………………………..16
pág. 2
Lab. N° 4 Puertos de Entrada y Salida II
1. Introducción:
2. Objetivo General:
3. Objetivos Específico:
• Utilizar las instrucciones para programar al microcontrolador PIC16F877A
• Utilizar software de desarrollo proporcionada por el fabricante
• Analizar y simular los programas.
• Realizar la programación correspondiente.
• Comprender y deducir los posibles errores que se podrían encontrar.
4. Marco Teórico:
Display de 7 segmentos
¿Qué es un display de 7 segmentos?
Componente electrónico usado para representar números y letras. Está conformado por
7 leds colocados en forma de 8 y gracias a esto prendiendo o apagando leds podemos
representar números o letras.
pág. 3
Lab. N° 4 Puertos de Entrada y Salida II
pág. 4
Lab. N° 4 Puertos de Entrada y Salida II
Una pantalla LCD (Liquid Cristal Display) usado para la visualización de contenido o
información gráfica. Esta gobernado por un microcontrolador y tiene 2 filas con 16 caracteres
(16x2).
¿Cómo se controla?
Consta de 16 pines con lo cual alimentaremos y controlaremos su funcionamiento.
5. Procedimiento:
Procedimiento – PARTE 1: Display 7 Segmentos:
pág. 5
Lab. N° 4 Puertos de Entrada y Salida II
;*************************************************************
;Programa que utiliza un display cátodo común
;Autor: Ing. César Ciriaco Martinez.
;*************************************************************
__CONFIG _WDT_OFF&_CP_OFF&_PWRTE_ON&_HS_OSC
LIST P=16f877A
INCLUDE<P16f877A.INC> ;comentar:
INCLUDE<Macro16f877.INC>
cblock 0x20 ;comentar:
cuenta ;comentar:
endc
ORG 0X00
;-------------------------------------------------
;Programa principal
banco 1 ;comentar:
clrf trisb ;comentar:
banco 0 ;comentar:
clrf cuenta ;comentar:
movf cuenta,0 ;comentar:
call DisplayCatodoComun ;comentar:
movwf portb ;comentar:
TesteaUp
btfss portd,0 ;comentar:
goto TesteaDown ;comentar:
goto IncrementarCuenta ;comentar:
TesteaDown
pág. 6
Lab. N° 4 Puertos de Entrada y Salida II
btfss portd,1 ;comentar:
goto TesteaUp ;comentar:
goto DecrementarCuenta ;comentar:
IncrementarCuenta
incf cuenta ;comentar:
csi cuenta,.10,IniciaCero ;comentar:
movf cuenta,0 ;comentar:
call DisplayCatodoComun ;comentar:
movwf portb ;comentar:
milisegundo .250 ;comentar:
goto TesteaUp ;comentar:
DecrementarCuenta
decf cuenta ;comentar:
csi cuenta,.255,IniciaNueve ;comentar:
movf cuenta,0 ;comentar:
call DisplayCatodoComun ;comentar:
movwf portb ;comentar:
milisegundo .250 ;comentar:
goto TesteaDown ;comentar:
IniciaCero
clrf cuenta ;comentar:
movf cuenta,0 ;comentar:
call DisplayCatodoComun ;comentar:
movwf portb ;comentar:
milisegundo .250 ;comentar:
goto TesteaUp ;comentar:
IniciaNueve
movlw .9 ;comentar:
movwf cuenta ;comentar:
movf cuenta,0 ;comentar:
call DisplayCatodoComun ;comentar:
movwf portb ;comentar:
milisegundo .250 ;comentar:
goto TesteaDown ;comentar:
;------------------------------------------------
;Librerias
include<electronicpic16f877.asm> ;comentar:
end ;fin del programa
pág. 7
Lab. N° 4 Puertos de Entrada y Salida II
1.2. Resolución de la programación:
En esta librería encontraremos las rutinas para generar retardos que se utilizaran en nuestros
proyectos.
pág. 8
Lab. N° 4 Puertos de Entrada y Salida II
También podemos encontrar encontraremos las rutinas para el uso de los display ánodo y cátodo
común
pág. 9
Lab. N° 4 Puertos de Entrada y Salida II
pág. 10
Lab. N° 4 Puertos de Entrada y Salida II
Análisis
Primero empieza con la configuración de las entradas y salidas del PIC, luego el programa se
dirige a una subrutina que hace el testeo para la salida del PORTD los bits 0 y 1. Estos bits de
entrada indica si decrementa o decrementa la cantidad que se visualiza en el display. En la
siguiente figura se muestra la simulación del programa en Proteus.
Simulación en PROTEUS
pág. 11
Lab. N° 4 Puertos de Entrada y Salida II
;*****************************************************
;Programa que utiliza una pantalla LCD 2x16
;Autor: Ing. César Ciriaco Martinez.
;*****************************************************
__CONFIG _WDT_OFF&_CP_OFF&_PWRTE_ON&_HS_OSC
LIST P=16f877
INCLUDE<p16f877.INC> ;comentar:
INCLUDE<Macro16f877.INC>
org 0000h
;--------------------------------------------------
;Programa principal
pág. 12
Lab. N° 4 Puertos de Entrada y Salida II
movlw 'C'
call EnviaCarLCD
movlw '.'
call EnviaCarLCD
movlw '.'
call EnviaCarLCD
movlw '.'
call EnviaCarLCD
goto $ ;Comentar:
;----------------------------------------------------
;Librerias
include<electronicpic16f877.asm>
include<lcd.asm>
end ;fin del programa
pág. 13
Lab. N° 4 Puertos de Entrada y Salida II
pág. 14
Lab. N° 4 Puertos de Entrada y Salida II
• Con la instrucción CALL INICIA_LCD, llamados a la librería del LCD y después le
enviamos información como se visualiza en la figura
;****************************************************
;Programa que utiliza una pantalla LCD 2x16
;****************************************************
__CONFIG _WDT_OFF&_CP_OFF&_PWRTE_ON&_HS_OSC
LIST P=16f877
INCLUDE<p16f877.INC> ;comentar:
INCLUDE<Macro16f877.INC>
pág. 15
Lab. N° 4 Puertos de Entrada y Salida II
enter ;Comentar:
mensaje 2 ;Comentar:
milisegundo .250 ;Comentar:
borralcd ;Comentar:
milisegundo .250 ;Comentar:
goto repite ;Comentar:
;-----------------------------------------
;Librerias
include<electronicpic16f877.asm>
include<mensaje.asm>
include<lcd.asm>
end ;fin del programa
pág. 16
Lab. N° 4 Puertos de Entrada y Salida II
pág. 17
Lab. N° 4 Puertos de Entrada y Salida II
¿Qué encontramos en la librería macro16f877.inc?
Aquí encontraremos la subrutina “enter” y “borrar lcd”; y otras subrutinas que también podremos utilizar
en la pantalla LCD.
Aplicación de lo aprendido
Grupo 1:
Diseñar e implementar un programa donde al colocar un numero de dos dígitos en el
teclado, este se aparezca en la pantalla LCD 16X2 y en el display de 7 segmentos (2
digitos), inmediatamente este decremente hasta llegar a cero y finalice el programa.
Programación que se realizó para la aplicación:
CODIGO
pág. 18
Lab. N° 4 Puertos de Entrada y Salida II
pág. 19
Lab. N° 4 Puertos de Entrada y Salida II
pág. 20
Lab. N° 4 Puertos de Entrada y Salida II
Implementación en Fisico
pág. 21
Lab. N° 4 Puertos de Entrada y Salida II
Conclusiones:
pág. 22
Lab. N° 4 Puertos de Entrada y Salida II
Observaciones:
Bibliografías:
- Recuperado de:
https://learn.mikroe.com/ebooks/microcontroladorespicc/chapter/puertos-de-
entradasalida/
- Recuperado de: https://www.unioviedo.es/ate/alberto/TEMA4-puertos.pdf
- Recuperado de:
http://marte.unican.es/projects/angelmunozcantera/Anexo_Organizacion_IO.pdf
- Recuperado de: https://entrrnadorpic16f84.wordpress.com/4-puertos-de-entrada-y-
salida/
- Recuperado de:
https://www.dte.us.es/tec_inf/itig/microele/docu/curso0506/tema3/TUTORIAL_PUERTO
S_E_S_0405.pdf
pág. 23