Você está na página 1de 23

Microcontroladores

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

Fecha de realización: 11/09/18

Fecha de entrega: 19/09/18

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:

Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes


actividades que requieran del procesamiento de datos digitales y del control y comunicación
digital de diferentes dispositivos. Los microcontroladores poseen una memoria interna que
almacena dos tipos de datos; las instrucciones, que corresponden al programa que se ejecuta,
y los registros, es decir, los datos que el usuario maneja, así como registros especiales para el
control de las diferentes funciones del microcontrolador. Los microcontroladores se
programan en Assembler y cada microcontrolador varía su conjunto de instrucciones. De
acuerdo al número de instrucciones que el microcontrolador maneja se le denomina de
arquitectura RISC (reducido) o CISC (complejo). En este informe se utilizó el PIC 16F877. Este
microcontrolador es fabricado por Microchip familia a la cual se le denomina PIC. El modelo
16F877 posee varias características que hacen a este microcontrolador un dispositivo muy
versátil, eficiente y práctico para ser empleado en la aplicación que postreramente será
detallada.

2. Objetivo General:

• Programar y analizar los siguientes los programas.

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

Imagen 1. Display de 7 segmentos


Fuente: http://www.electrontools.com/Home/WP/2016/03/09/display-7-segmentos/

Tipos de display de 7 segmentos:


Ánodo común: Usa de punto de referencia VCC (5v)
Cátodo común: Punto del circuito para los leds es el cátodo (GND)
¿Cómo se controla?
El display de cátodo común se enciende con un 0 lógico y el de ánodo se enciende con
un 1 lógico. Usando la siguiente tabla podemos realizar los números que deseemos
según el tipo de display.

Imagen 2. Cátodo – ánodo común


Fuente: http://www.electrontools.com/Home/WP/2016/03/09/display-7-segmentos/

Pantalla LCD 16X2


¿Qué es una pantalla LCD de 16X2?

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.

Imagen 3. LCD LM016L Proteus


Fuente: Elaboración propia

Función de los pines:


Alimentación:
Vss: Tierra
Vdd: Alimentacion (+5V)
Vee: Contraste
Control:
Rs: el pin RS funciona paralelamente a los pines del bus de datos. Cuando RS es
0 el dato presente en el bus pertenece a un registro de control/instrucción. y
cuando RS es 1 el dato presente en el bus de datos pertenece a un registro de
datos o un carácter.
Rw: Es el pin de escritura o de lectura. Usado para escribir un dato en la pantalla
o leer un dato desde la pantalla.
E: Corresponde a enable, esto quiere decir si está activado el LCD puede recibir
datos, caso contrario no puede recibir datos.

5. Procedimiento:
Procedimiento – PARTE 1: Display 7 Segmentos:

1. La siguiente figura muestra un display de 7 segmentos cátodo común y su correspondiente


conexión a un puerto del PIC.

pág. 5
Lab. N° 4 Puertos de Entrada y Salida II

1.1. Copiar el siguiente programa, analizar, comentar, simular e implementar.

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

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

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

Por último, también podemos encontrar

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

2. 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.

Procedimiento – PARTE 2: LCD16X2

• La siguiente figura muestra una pantalla LCD 2x16 y su correspondiente conexión a un


puerto del PIC

pág. 11
Lab. N° 4 Puertos de Entrada y Salida II

2.1 Copiar el siguiente programa, analizar, comentar, simular e implementar:

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

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
movlw 'I'
call EnviaCarLCD

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

2.2 Solución de programa, analizar, comentar, simular e implementar:

pág. 13
Lab. N° 4 Puertos de Entrada y Salida II

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


• Las subrutinas de retardos en microsegundos, milisegundos y segundos. Las rutinas del uso
de display de 7 segmentos cátodo común y ánodo común.
• También encontramos las rutinas para el uso de display 7 segmentos ánodo y cátodo
común.

¿En qué consiste el programa del ítem 1?


• En este programa logramos escribir un mensaje en la pantalla LCD cargando los
caracteres uno por uno en el PIC y mostrándolo posteriormente en el LCD.

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

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


• En esta librería encontramos las instrucciones que harán que el PIC envíe los datos
a la pantalla LCD y la muestra.

3. 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:

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

3.1. Solución de programación:

pág. 16
Lab. N° 4 Puertos de Entrada y Salida II

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


• En este programa nos facilita al escribir caracteres en una pantalla LCD, enviando
los datos en forma de cadena y prende y apaga la pantalla por el tiempo de retardo
que se le puso.
¿Qué encontramos en la librería mensaje.asm?
• Aquí encontraremos la subrutina mensaje “x” donde podremos escribir los
mensajes que queremos que se muestren en la pantalla LCD. Estos mensajes no
deben de sobrepasar los 16 caracteres sino no se podrán mostrar.

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

Simulación en el Software de Proteus

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

´Para una mejor visualización de la aplicación, se compartio un carpeta de Drive donde se


encuentra un video de su correcto funcionamiento. →→
https://drive.google.com/drive/folders/1C4g5JqUNQncHQw8Keeev-5Wp4Ced2YyW?usp=sharing

Nombre de la Carpeta: Display_Teclado_LCD16x2_Drecemento con ingreso de 2 digitos_Grupo 1

Conclusiones:

• Se utilizó las instrucciones para programar al microcontrolador PIC16F877A de


acuerdo a las indicaciones que se nos asigno.
• Se llego a utilizar el software MPLAB IDE para la compilación de los códigos que se
generaron.
• Se llego a realizar varias programaciones haciendo uso de las instrucciones
correspondiente de nuestro microcontrolador. De modo que comprenderemos y
deduciremos los posibles errores que se podrían encontrar.

pág. 22
Lab. N° 4 Puertos de Entrada y Salida II
Observaciones:

• Se deberá acompañarse al programa, con su respectivo diagrama y programación.


• Para la realización de este laboratorio se requiere la lectura previa de la información.
• Aplicar los conocimientos adquiridos con el anterior informe.

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

- Alfaro, V. (2006). Lenguaje Assembler para Ingenieros. M.Sc Tesis, Escuela de


Ingeniería Eléctrica, Universidad de Costa Rica.

- Calderón, A. (2010). ASSEMBLER ENFOCADO A LA INDUSTRIA. Escuela de


Ingeniería Eléctrica, Universidad de Costa Rica.

- Astróm, K. y Hagglund, T. (2009). Control de PIC16F877A. Prentice Hall, Research


Triangle Park, NC 27709, USA.

pág. 23

Você também pode gostar