Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica 3 Contador Ascendentepdf 1696916656710
Practica 3 Contador Ascendentepdf 1696916656710
_______________________________________
Práctica No. 3
Contador ascendente
Display de 7 segmentos a 2 dígitos
_______________________________________
Ingeniero en Mecatrónica
Microcontroladores
Profesor: Dr. Jesús Raúl Martínez Sandoval
Estudiante:
Incluir su nombre
1) EQU.
2) incf y decf.
3) call y return.
4) subwf y addwf.
5) retlw.
6) nop
7) incfsz y decfsz
8) Display de 7 segmentos.
9) Ciclos anidados.
2. Desarrollo
Del lado izquierdo se encuentra, el botón de reset con sus resistencia de pull-up, así
como el cristal, oscilador que genera la señal de reloj de 4 MHz, para el funcionamiento
del sistema mínimo, para el microcontrolador PIC16F84A.
A B C D E F G H J K
(1)
1 BOTÓN 1
DISPLAY
DE
7 SEGMENTOS
C1 C2 INCREMENTO
1uF 1uF
DOS DÍGITOS
2 2
X1
R3
7SEG-MPX2 - CA
1 2
10k
CRYSTAL- 4 MHz
3 3
U1
RESET 16 OSC1/CLKIN RA0 17
15 OSC2/CLKOUT RA1 18
R2 RA2 1
4 MCLR RA3 2
4 10k RA4/T0CKI 3 4
RB0/INT 6
RB1 7
RB2 8 R5
D1 RB3 9 10k
DIODE RB4 10
5 RB5 11 5
12
RB6
RB7 13 UNIDADES
R1
10k PIC16F84A
6 R4 6
10k
V1 FUENTE DECENAS
5V DE
7 ALIMENTACIÓN 7
8 8
; ----------------------- 20 ms -----------------------
RETARDO_20ms
movlw d'20'
goto RETARDO_20ms_1
RETARDO_20ms_1
movwf R_ContB
RETARDO_CICLO_EXTERNO_20ms
movlw d'249'
movwf R_ContA
RETARDO_CICLO_INTERNO_20ms
nop
decfsz R_ContA,F
goto RETARDO_CICLO_INTERNO_20ms
decfsz R_ContB,F
goto RETARDO_CICLO_EXTERNO_20ms
return
;----------------------- 10 ms -----------------------
RETARDO_10ms
movlw d'10'
goto RETARDO_10ms_1
RETARDO_10ms_1
movwf R_ContB
RETARDO_CICLO_EXTERNO_10ms
movlw d'249'
movwf R_ContA
RETARDO_CICLO_INTERNO_10ms
nop
decfsz R_ContA,F
goto RETARDO_CICLO_INTERNO_10ms
decfsz R_ContB,F
goto RETARDO_CICLO_EXTERNO_10ms
return
;----------------------- 1 ms -----------------------
RETARDO_1ms
movlw d'249'
movwf R_ContA
R1ms_ciclo_interno
nop
decfsz R_ContA,F
goto R1ms_ciclo_interno
return
; ========================= GESTIÓN DEL DISPLAY =================
DISPLAY
; ----------------------- ENCIENDE DIGITO UNIDADES-----------------
movf UNIDAD,0 ;MUEVE DECENA A REGISTRO W.
call TablaCodigo ; BUSCA EL DIGITO EN LA TABLA.
bcf PORTA,RA2 ; APAGA DECENAS.
bsf PORTA,RA1 ; ENCIENDE EL DIGITO DE UNIDADES.
movwf PORTB ; ENVIA EL CODIGO DEL DIGITO AL PUERTO B-DISPLAY 7 SEGMENTOS
call RETARDO_20ms ; RETARDO PARA VER EL DIGITO.
call RETARDO_10ms ; RETARDO PARA VER EL DIGITO.
; ----------------------- ENCIENDE DIGITO DECENAS -----------------------
movf DECENA,0 ;MUEVE DECENA A REGISTRO W.
call TablaCodigo ; BUSCA EL DIGITO EN LA TABLA.
bcf PORTA,RA1 ; APAGA UNIDADES.
bsf PORTA,RA2 ; ENCIENDE DECENAS.
movwf PORTB ; ENVIA EL CODIGO DEL DIGITO AL PUERTO B-DISPLAY 7 SEGMENTOS.
call RETARDO_20ms ; RETARDO PARA VER EL DIGITO.
call RETARDO_10ms ; RETARDO PARA VER EL DIGITO.
; ----------------------- ENCIENDE DIGITO UNIDADES -----------------------
movf UNIDAD,0 ;MUEVE DECENA A REGISTRO W.
call TablaCodigo ; BUSCA EL DIGITO EN LA TABLA.
bcf PORTA,RA2 ; APAGA DECENAS.
bsf PORTA,RA1 ; ENCIENDE EL DIGITO DE UNIDADES.
movwf PORTB ; ENVIA EL CODIGO DEL DIGITO AL PUERTO B-DISPLAY 7 SEGMENTOS.
call RETARDO_20ms ; RETARDO PARA VER EL DIGITO.
call RETARDO_10ms ; RETARDO PARA VER EL DIGITO.
; ----------------------- ENCIENDE DIGITO DECNAS -----------------------
movf DECENA,0 ; MUEVE DECENA A REGISTRO W.
call TablaCodigo ; BUSCA EL DIGITO EN LA TABLA.
bcf PORTA,RA1 ; APAGA UNIDADES.
bsf PORTA,RA2 ; ENCIENDE UNIDADES.
movwf PORTB ; ENVIA EL CODIGO DEL DIGITO AL PUERTO B-DISPLAY 7 SEGMENTOS.
call RETARDO_20ms ; RETARDO PARA VER EL DIGITO.
call RETARDO_10ms ; RETARDO PARA VER EL DIGITO.
return; REGRESA A LA DIRECCIÓN DONDE FUE INVOCADA LA FUNCIÓN.
END; FINALIZA EL PROGRAMA.
3. Mediciones y resultados
3. 1. Simulación
Para la verificación apropiada del funcionamiento correcto del código fuente, se utiliza
la herramienta de simulación PROTEUS. Donde, con base al esquemático de la Figura
1, se carga el archivo .hex, que contiene el programa compilado de algoritmo solución.
Así mismo, cuando se presiona el botón de reset. Adjuntar las imágenes de captura de
pantalla de cada estado del programa.
Figuras a incluir como capturas de pantalla, favor de recortar la imagen y dejar solo el
contenido relevante asociado a la práctica.
1) PROGRAMACIÓN
a) Generar un proyecto nuevo para la familia PIC16F877A.
b) Transcribir el programa a MPLAB X IDE. (Les recuerdo que para nada tiene sen-
tido si lo copian y lo pegan, en este punto es de suma importancia la práctica de la
codificación en lenguaje ensamblador, para que se vayan familiarizando con los
comandos, la sintaxis y la lógica de programación. Además, vayan interactuando
con los movimientos de los registros y bancos con base a la arquitectura interna del
microcontrolador.
2) COMPILACIÓN.
a) Una vez concluida la codificación del programa, dar click en el icono de martillo y
escoba (limpiar y construir), para compilar el código.
b) Verificar que la compilación se complete satisfactoriamente. (BUILD SUCCESS-
FULL).
3) DEPURACIÓN.
a) Ir a la barra de herramientos, en la pestaña de “DEBUG”, dar click en “Debug main
project”.
b) Una vez que se habiliten los botones para depurar el código, iniciar la depuración y
activar los “Watches” necesarios para verificar el funcionamiento y los movimientos
dentro de los registros del microcontrolador.
c) Emular un cambio en el RA0 del Puerto A, con un 1, para verificar el funcionamiento
descrito en el apartado 2 (desarrollo) en el depurador. Una vez logrado lo anterior,
volver a compilar (paso 2) e ir al apartado de simulación en PROTEUS.
4) SIMULACIÓN.
a) Una vez armado el diagrama esquemático del apartado 2.3, dar doble click en Pro-
teus, sobre el microcontrolador PIC16F84A para cargar el archivo .hex. (MplabPro-
jects) asignar la ruta correspondiente a su proyecto.
b) Verificar en el apartado de oscilador, debajo del archivo cargado, que el cristal se
encuentre con el valor de 4 MHz.
c) También, verificar que el cristal en el diagrama esquemático también tenga ese va-
lor.
d) Ejecutar la simulación y probar los siguientes estados y generar captura de pantalla
e incluir en el reporte.
Estados:
d. 1) Display de 7 segmentos al iniciar el programa con el valor de “00” en panta-
lla.
d. 2) Al presionar el botón de incremento, debe incrementarse el valor del conta-
dor en 1.
d. 3) Al dejar presionado el botón, el contador continua incrementando el conta-
dor. Aquí, se debe incluir las capturas de pantalla en 9 y luego en el valor de 10.
d. 4) Incluir las capturas cuando el contador llegue a 49 y 50.
d. 5) Incluir las capturas cuando el contador llegue a 98 y 00.
d. 6) Incluir la captura cuando se presiona el botón de reset.
4. Conclusiones
Conclusión de experiencia (párrafo 2): espacio para expresar sus experiencias du-
rante la práctica, como se sintieron al respecto, los problemas que enfrentaron, las
complicaciones y cómo las superaron, algo nuevo que aprendieron, entre otras. De
igual manera, poner atención en la ortografía, signos de puntuación y presentar oracio-
nes completas (sujeto+verbo+predicado).
NOTA:
Es importante, que justifiquen el documento, utilicen un mismo
tamaño de letra, describan las figuras antes de presentarlas, así
como agregar el pie de figura correspondiente en cada imagen
que incorporen al documento. Así mismo, al agregar una cita bi-
bliográfica, se debe referenciar en el texto, al final de la oración o
el párrafo, así como considerar las Normas APA 7ma Edición,
para tal propósito.
5. Referencias
Incluir las referencias debidamente citadas en formato APA7. Consultar el documento
en plataforma “NORMAS APA7”. Libros, hojas de especificaciones, manuales técni-
cos, etc.