pregunta 5

2
PREGUNTA 5 MODIFICAR EL PROBLEMA ANTERIOR, AHORA CONSIDERANDO UN DISPLAY DE 7 SEGMENTOS. AL PRESIONAR Y SOLTAR EL PULSADOR SE VISUALIZARÁ: 0 1 2 … 9 A B C D E F 0 1 2… SUGERENCIA: UTILIZAR UN DECODIFICADOR BCD 7447 A LA SALIDA DEL PUERTO B DEL MICROCONTROLADOR. /* * AssemblerApplication5.asm *PROBLEMA 5:CONTADOR ASCENDENTE DESCENDENTE 0-15 * Created: 04/09/2015 09:33:18 a.m. * Author: jalvarado */ .CSEG .ORG $00 rjmp INICIO INICIO: LDI R16,0X00 ; configuro el puerto b como el pulsador OUT DDRB,R16 ; LDI R16,0XFF OUT DDRC,R16 ; configuro el puerto c como salida al display LDI R30,0X00 ; guardo el min valor en el registro para luego comparar LDI R31,17 ; guardo el max valor en el registro para luego comparar UP: ; me indica el pusador en alto SBIS PINB,0 RJMP UP L1: SBIC PINB,0 ; me indica el pusador en bajo RJMP L1 RJMP UP_UNIDADES ;actico el pulsador y cuenta ascedente UP1: SBIS PINB,0 RJMP UP1 L2: SBIC PINB,0 RJMP L2 RJMP DOWN_UNIDADES UP_UNIDADES: ;contador ascendente INC R16 OUT PORTC,R16 CP R16,R31 BREQ DOWN_UNIDADES ; si el contador llega a 15 salta a desendente(down unidades) RJMP UP DOWN_UNIDADES: ;contador descendente DEC R16 OUT PORTC,R16

Upload: jose-maximo-alvarado-oyola

Post on 20-Feb-2016

214 views

Category:

Documents


0 download

DESCRIPTION

ejercicio en codigo assembler

TRANSCRIPT

Page 1: Pregunta 5

PREGUNTA 5

MODIFICAR EL PROBLEMA ANTERIOR, AHORA CONSIDERANDO UN DISPLAY DE 7 SEGMENTOS. AL PRESIONAR Y SOLTAR EL PULSADOR SE VISUALIZARÁ: 0 1 2 … 9 A B C D E F 0 1 2… SUGERENCIA: UTILIZAR UN DECODIFICADOR BCD 7447 A LA SALIDA DEL PUERTO B DEL MICROCONTROLADOR.

/* * AssemblerApplication5.asm *PROBLEMA 5:CONTADOR ASCENDENTE DESCENDENTE 0-15 * Created: 04/09/2015 09:33:18 a.m. * Author: jalvarado */

.CSEG.ORG $00 rjmp INICIO INICIO: LDI R16,0X00 ; configuro el puerto b como el pulsador OUT DDRB,R16 ; LDI R16,0XFF OUT DDRC,R16 ; configuro el puerto c como salida al display LDI R30,0X00 ; guardo el min valor en el registro para luego comparar LDI R31,17 ; guardo el max valor en el registro para luego comparar

UP: ; me indica el pusador en alto SBIS PINB,0

RJMP UP L1: SBIC PINB,0 ; me indica el pusador en bajo

RJMP L1 RJMP UP_UNIDADES ;actico el pulsador y cuenta ascedente UP1:

SBIS PINB,0 RJMP UP1

L2: SBIC PINB,0 RJMP L2 RJMP DOWN_UNIDADES

UP_UNIDADES: ;contador ascendente

INC R16 OUT PORTC,R16 CP R16,R31 BREQ DOWN_UNIDADES ; si el contador llega a 15 salta a desendente(down unidades) RJMP UP

DOWN_UNIDADES: ;contador descendente DEC R16 OUT PORTC,R16 CPI R16,-1 BREQ UP_UNIDADES ; si el contador llega a 0 salta a ascendente (up unidades) RJMP UP1

Page 2: Pregunta 5

Conclusiones:

Para contar con un pulsador de tal manera que se activa el conteo en pulsar y soltar las instrucciones SBIS , SBIC son las adecuadas.

Según mi experiencia en la simulación el display en bcd es más adecuado que el display 7 segmentos en este problema