Está en la página 1de 15

FORMATO DE INFORME DE PRÁCTICA DE

LABORATORIO / TALLERES / CENTROS DE


SIMULACIÓN – PARA ESTUDIANTES

CARRERA: Ing. Eléctrica-Electrónica ASIGNATURA: Sistemas Microprocesados


ESTUDIANTES: John Reinozo Stefany Toro
NRO. PRÁCTICA: 4 TÍTULO PRÁCTICA: Contadores
OBJETIVO ALCANZADO: Crear un proyecto de programación mediante el uso del
software MPLAB X para realizar un contador cumpliendo con los literales planteados
en clase. El primero consiste en realizar un contador ascendente del 0 a 9 utilizando
un display de 7 segmentos y el segundo literal consiste en realizar un contador de 00
a 99 mediante el uso de pulsantes de paro y aceleración. Emplearemos el lenguaje
ensamblador para programar en el pic 16F877A.

ACTIVIDADES DESARROLLADAS
1. Lo primero que se hace es abrir el programa MPLAB, y creamos un nuevo proyecto,
en la ventana mostrada seleccionamos Microchip Embedded, y procedemos a dar
click en Standalone Project y a su vez en siguiente.

Figure 1.Creación de proyecto

2. Nos aparece la siguiente ventana con 2 opciones, en la cual escogemos el PIC con
el que vamos a trabajar y comenzar a programar. En nuestro caso el PIC16F877A.
Clic en siguiente.
Figure 2. Ventana de seleccion

3. En la carpeta de Hardware Tools, escogemos la opción Simulator y click en


siguiente.

Figure 3. Ventana de herramientas

4. En la ventana que aparece al seleccionar la opción anterior seleccionamos la


opción mpasm (v5.82).
Click en siguiente.

Figure 4. Ventana de herramientas de compilar

5. Damos el nombre a nuestro proyecto y si queremos modificar donde se localizará


modificamos las rutas de guardado.
Figure 5. Ventana selección nombre de proyecto

6. Al crearse nuestro proyecto aparece todas las opciones que estan dentro del
mismo y para comenzar a programar o modificar algunas de las opciones que estan
por defecto hacemos click derecho y las cambiamos. En nuestro caso comenzamos
directo con la creación del programa, clic derecho en Source Files y seleccionamos
la opción other y en la carpeta Assembler le damos en AssemblyFile.asm que viene
siendo una extensión y el medio para grabar en los PICs.

Figure 6.Ventana selección de lenguaje

7. Escogemos el nombre del proyecto y seleccionamos Finish.


Figure 7. Ventana de ruta

8. Finalmente procedemos a realizar la programación respectiva que viene siendo el


objetivo planteado en la práctica.
El código correspondiente al literal a es el siguiente:

Figure 8- Código correspondiente al literal a

El código del literal c es el siguiente:


Figure 9. Código correspondiente literal c

9. Una vez que se ha programado y comprobado funcionamiento de los códigos


procedemos a pasar el archivo .asm al microcontrolador “PIC16f877A” ubicado como.
hex en la carpeta guardada. Por medio de un grabador el que nosotros utilizamos es
el PICKit 2.
10. Utilizando otro software de diseño y simulación de circuitos eléctricos: “Proteus”,
se simula el esquema presentado en anexos y comprobamos los dos literales, primero
el contador acendente de 0 a 9 mediante el uso de un display de 7 segmentos y el
segundo literal contador de 00 a 99 mediante el uso de pulsantes de paro y
aceleración.
Ojo: Hay que combinar MPLAB X y Proteus para que salga la simulación con el μC.
RESULTADO(S) OBTENIDO(S):

Esta parte es la configuración de los Bits que se utilizan al iniciar la programación


todas estan en off porque no hay necesidad de utilizarlas en esta práctica lo unico que
usamos es HS de 4KHz en el oscilador que es la primera opción de la configuración.

Figure 10. Código configuración de bits


Definimos las variables que en nuestro caso seran para la unidad, decena y TMR0 y
de la misma manera tenemos una constante que seria VAL1.

Figure 11. Código definir variables

Procedemos a configurar el puerto para cada pulsante utilizado en nuestro caso


usamos el puerto B y así mismo para los dos displays de unidad y decena.

Figure 12. Código configuración de puertos

Realizamos la configuración de entradas y salidas del PIC16F87AA.

Figure 13. Código configuración de entradas y salidas

Se procede a realizar la configuración option_reg con un valor de 64, habilitamos las


interrupciones RB4 a RB6.
Figure 14. Código configuración option_reg

Se puede visualizar el programa principal el cual consiste en el conteo de la unidad y


decena .

Figure 15. Código conteo de unidad y decena

Se realiza el código correspondiente para mostrar la unidad, la decena y el


multiplexado y de la misma manera se realizar el incremento de la unidad y decena
Figure 16. Código muestra unidad y decena

Se presenta las tablas de decena y unidad correspondiente a los numeros del 0 a 9


de BCD a siete segmentos.

Figure 17. Tabla BCD a siete segmentos correspondiente a la unidad y decena


Aplicamos un retardo de 32ms el cual será de gran ayuda para que se visualice mejor
el numero en el display de la unidad y de la decena.

Figure 18. Código retardo

Uso de interrupciones para los pulsantes en este caso los 4 pulsantes utilizados;
aceleracion, paro, play, velocidad normal.

Figure 19. Código interrupciones para pulsantes

Bucle para pulsante RB4, configuracion option reg 32ms y 16 ms.


Figure 20. Código configuración option reg

CONCLUSIONES:

 Se pudo llegar a comprender como se declaran las variables y el


funcionamiento de algunas funciones de MPLAB como el GOTO, BSF, CLRF,
MOVLW, entre otras.
 En la práctica presentada se pudo analizar la técnica de multiplexado de
displays, la cual simplifica el diseño esquemático como el circuito impreso. Al
momento de interconectar los displays reducimos la cantidad de salidas
necesarias del microcontrolador a una mínima cantidad.

RECOMENDACIONES:
 Se pide explicar que significa o cómo influye y funciona cada código más a
fondo.
 Verificar que las conexiones de los elementos estén de manera correcta.
 Verificar que el programa realizado se haya grabado de manera satisfactoria
en nuestro PIC.

ANEXO1

FLUJOGRAMA

Inicio

Declaramos variables

Configuracion de
puertos

Configuracion entradas
y salidas

Contador=0

Tabla conversion de
contado BCD a siete
segmentos

Mostramos 0 en los
display 7 segmentos

Enciende display 2(
unidad)

Retardo para
visualizacion

Contador

Tabla conversion de
contado BCD a siete
segmentos

Muestra decena en
display 7 segmentos

Enciende display 1
(decena)
FOTOS DE LA PRACTICA

Figure 10. Circuito electric literal a


Figure 11. Circuito electric literal a

ESQUEMA ELÉCTRICO
Figure 12. Simulación Proteous correspondiente al literal a

Figure 17. Simulación Proteous correspondiente al literal c

Adjunto formato digital: Código de programación y simulación.