Sie sind auf Seite 1von 12

Universidad Nacional Federico Villarreal FIEI – Ing.

Telecomunicaciones

Escuela Profesional de Ingeniería de


Telecomunicaciones

Laboratorio de Microprocesadores
VIII CICLO

Laboratorio N° 5

Puertos de Entrada y Salida Parte 2

Integrantes
Apellidos y Nombres Código

Fecha de realización del laboratorio:

2017 – II

Docente: Ing. Rubén Gil Chacaltana


Lab. N° 5 Puertos de Entrada y Salida 2

Puerto de Entrada y Salida 2

Objetivos
1. Utilizar las instrucciones para programar al microcontroladorPIC16F877
2. Utilizar software de desarrollo proporcionada por el fabricante

Introducción
Los PICs constituyen en la actualidad una forma de proveer inteligencia a equipos o sistemas para
un mejor desempeño de los mismos. Esta alternativa de automatización se encuentra prácticamente
a la mano pues la información y herramientas de desarrollo son, en cierta medida, proporcionadas
por el fabricante. El campo de acción de los PICs va desde la activación o desactivación de entradas
o salidas en general hasta el procesamiento digital de señales pasando por aplicaciones específicas
como la conversión A/D, modulación PWM y muchas más.
Para que realicen los eventos que queramos es necesario programarlos insertándoles un lenguaje
apropiado, conformado por instrucciones, que estos puedan entender y por tanto realizar las tareas
específicas que se les asigna.

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
● Texto del curso
● Manual del fabricante

Pág. 2
Lab. N° 5 Puertos de Entrada y Salida 2
Procedimiento – PARTE 1: Display 7 Segmentos
La siguiente figura muestra un display de 7 segmentos cátodo común y su correspondiente conexión a
un puerto del PIC.

1. Copiar el siguiente programa, analizar, comentar, simular e implementar:

;*************************************************************
;Programa que utiliza un display cátodo común
;*************************************************************
__CONFIG _WDT_OFF&_CP_OFF&_PWRTE_ON&_HS_OSC
LIST P=16f877
INCLUDE<p16f877.INC> ;INCLUYE LIBRERIAS
INCLUDE<Macro16f877.INC>
cblock 0x20 ;DECLARACION DE REGISTROS A USAR
cuenta ;REGISTRO USADO EN EL PROGRAMA
endc

ORG 0X00
;-------------------------------------------------
;Programa principal
banco 1 ;TRASLADO A BANCO 1
clrf trisb ;portB-->SALIDA
mover trisd,.3 ;RD0 Y RD1 SON ENTRADAS
banco 0 ;TRASLADO A BANCO 0
clrf cuenta ;LIMPIA "cuenta"
movf cuenta,0 ;cuenta-->Wreg
call DisplayCatodoComun ;llama a subrutina
movwf portb ;muestra el numero en display
Pág. 3
Lab. N° 5 Puertos de Entrada y Salida 2
TesteaUp
btfss portd,0 ;testea si RD0 es 1
goto TesteaDown ;salto a etiqueta
goto IncrementarCuenta ;salto a etiqueta
TesteaDown
btfss portd,1 ;testea si RD1 es "1"
goto TesteaUp ;salto a etiqueta
goto DecrementarCuenta ;salto a etiqueta
IncrementarCuenta
incf cuenta ;incrementa "cuenta"
csi cuenta,.10,IniciaCero ;testea si cuenta es .10
;si fuera el caso salta a etiqueta
movf cuenta,0 ;cuenta-->Wreg
call DisplayCatodoComun ;llama a subrutina
movwf portb ;muestra el numero en display
milisegundo .250 ;retardo de 250 ms
goto TesteaUp ;salto a etiqueta
DecrementarCuenta
decf cuenta ;decrementa "cuenta"
csi cuenta,.255,IniciaNueve ;testea si cuenta es .255
;si fuera el caso salta a etiqueta
movf cuenta,0 ;cuenta-->Wreg
call DisplayCatodoComun ;llama a subrutina
movwf portb ;muestra el numero en display
milisegundo .250 ;retardo de 250 ms
goto TesteaDown ;salto a etiqueta
IniciaCero
clrf cuenta ;limpia cuenta
movf cuenta,0 ;cuenta-->Wreg
call DisplayCatodoComun ;llama a subrutina
movwf portb ;muestra el numero en display
milisegundo .250 ;retardo de 250 ms
goto TesteaUp ;salto a etiqueta
IniciaNueve
movlw .9 ;.9-->Wred
movwf cuenta ;Wreg-->cuenta
movf cuenta,0 ;cuenta-->Wreg
call DisplayCatodoComun ;llama a subrutina
movwf portb ;muestra el numero en display
milisegundo .250 ;retardo de 250 ms
goto TesteaDown ;salto a etiqueta
;------------------------------------------------
;Librerias
include<electronicpic16f877.asm> ;incluye subrutinas
;que se usan en el programa
end ;fin del programa

Pág. 4
Lab. N° 5 Puertos de Entrada y Salida 2
2. ¿Qué encontramos en la librería electronicpic16f877.asm?

Se encuentran las subrutinas que son usadas en el programa y que son muy
importantes para la simplificación del mismo,se encuentran las subrutina
DisplayCatodoComun la cual permite codificar el contenido del registro W a Display
7 segmentos

3. Mostrar evidencia de ejecución del programa del ítem 1.

 Capturar ventanas que muestran el resultado de la creación del proyecto.


 Capturar ventanas que muestran el resultado del ensamble del proyecto.
 Capturar ventanas que muestren la simulación paso a paso.
a)creación del proyecto

Pág. 5
Lab. N° 5 Puertos de Entrada y Salida 2

b)Ensamble del programa

c)Simulacion
display=9

Pág. 6
Lab. N° 5 Puertos de Entrada y Salida 2
esperando pulso de uno de los pulsadores

detecta pulso UP e incrementa “cuenta” pero lo compara y como cuenta =”10” salta a Inicia 0

Pág. 7
Lab. N° 5 Puertos de Entrada y Salida 2
el registro cuenta se limpia y se muestra en el display luego regresa a los testeadores

se detecta el pulso de DOWN y salta a DecrementarCuenta

en DecrementarCuenta se decrementa cuenta y se compara con 255,entonces salta a IniciaNueve se


muestra en display y regresa a testeo

Procedimiento – PARTE 2: LCD16X2

La siguiente figura muestra una pantalla LCD 2x16 y su correspondiente conexión a un puerto del PIC.

Pág. 8
Lab. N° 5 Puertos de Entrada y Salida 2

1. Copiar el siguiente programa, analizar, comentar, simular e implementar:

;*****************************************************
;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>

cblock 0x20 ;Comentar:


endc ;Comentar:

org 0000h
;--------------------------------------------------
;Programa principal

call Inicio_lcd ;Comentar:


cursor off ;Comentar:
movlw 'C' ;Comentar:
call EnviaCarLCD ;Comentar:
movlw 'U'
call EnviaCarLCD
movlw 'R'
call EnviaCarLCD
movlw 'S'
call EnviaCarLCD
movlw 'O'
call EnviaCarLCD
movlw ' '
call EnviaCarLCD
movlw 'P'
call EnviaCarLCD
Pág. 9
Lab. N° 5 Puertos de Entrada y Salida 2
movlw 'I'
call EnviaCarLCD
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

2. ¿Qué encontramos en la librería electronicpic16f877.asm?


3. ¿En qué consiste el programa del ítem 1?
4. ¿Qué encontramos en la librería lcd.asm?

5. Copiar el siguiente programa, analizar, comentar, simular e implementar:

;****************************************************
;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>

cblock 0x20 ;Comentar:


endc ;Comentar:

org 0000h ;Comentar:


;----------------------------------
;Programa principal
call Inicio_lcd ;Comentar:
cursor off ;Comentar:
repite
mensaje 1 ;Comentar:
enter ;Comentar:
mensaje 2 ;Comentar:
milisegundo .250 ;Comentar:
borralcd ;Comentar:
milisegundo .250 ;Comentar:
goto repite ;Comentar:
;-----------------------------------------
Pág. 10
Lab. N° 5 Puertos de Entrada y Salida 2
;Librerias
include<electronicpic16f877.asm>
include<mensaje.asm>
include<lcd.asm>
end ;fin del programa

6. ¿En qué consiste el programa del ítem 5?


7. ¿Qué encontramos en la librería mensaje.asm?
8. ¿Qué encontramos en la librería macro16f877.inc?

9. Mostrar evidencia de ejecución de los programas de los ítems 1 y 5.

 Capturar ventanas que muestran el resultado de la creación del proyecto.


 Capturar ventanas que muestran el resultado del ensamble del proyecto.
 Capturar ventanas que muestren la simulación paso a paso.

Pág. 11
Lab. N° 5 Puertos de Entrada y Salida 2

Aplicación de lo aprendido

Hacer un programa con su respectiva implementación eléctrica donde se visualice una cuenta de 0 al 99
infinitamente a intervalos de 1 segundo, usando displays de 7 segmentos ánodo común.

Hacer un programa con su respectiva implementación eléctrica donde se visualice un menú de funciones
con tres pulsadores donde se controle el encendido y apagado de tres focos a 220Vac.

Pág. 12

Das könnte Ihnen auch gefallen