Está en la página 1de 12

Departamento de eléctrica y electrónica

Microcontroladores y microprocesadores
Tema:
ejercicios
Nombre: Danny Caiza
Profesor: ing. Elember Guanoluisa
Nrc: 8523

1. Ordenar tres números que se encuentran en memoria y el número mayor se almacena


en el registro A.

Datos:

Valor dato 1: NUM1

Valor dato 2: NUM2

Valor dato 3: NUM3


Análisis matemático:

Se debe ir comparando los números de tal manera que los numero queden de menor a
mayor y luego almacenar dicho número mayor en el registro A.

Flujograma:

INPLEMENTACIÓN:

.DEFINE ;Bloque de definiciones


NUM1 03H
NUM2 06H
NUM3 04H
.DATA 1000H ;Bloque de datos
.ORG
MVI A,NUM1
MVI B,NUM2
MVI C,NUM3
CMP B
JC compCB
CMP C
JC Cmayor
JMP Amayor
compCB: MOV A,B
CMP C
JC Cmayor
JMP Bmayor
Amayor: MOV A,A
JMP FIN
Bmayor: MOV A,B
JMP FIN
Cmayor: MOV A,C

FIN: HLT

En el registro del acumulador tenemos el número mayor.

2. Un número se encuentra en la memoria y se desea multiplicar por 2 y el resultado


almacenarlo en memoria.

Datos:

Numero multiplicado: NUM

Numero a multiplicar: num

Análisis Matemático:

Se debe multiplicar el número que esta guardado en memoria por dos y dicho valor
almacenarlo en alguna parte de la memoria.

Flujograma:
Implementación:

.DEFINE
NUM1 04H
.DATA 1000H
.ORG 0100H
;Operación de multiplicación
MVI A,NUM1
MVI B,NUM1
ADD B
HLT ;Fin del programa

En el registro acumulador se observa la respuesta de multiplicar el 4 por el 2 que es ocho.

3. Diseñar un contador módulo 16 ascendente y que se lo represente en un puerto de


leds de salida (00h).

Datos:

Variable indicadora: Num


Variable auxiliar: Aux

Análisis matemático:

Se debe inicializar la variable en 00H y luego ir incrementando de uno en uno la variable


hasta que llegue al número FH en hexadecimal.

Flujograma:

Implementación:

.ORG 0

INICIO:

MVI A,00H

CUENTA: INR A

OUT 00H

MVI B,FH

CMP B

JNC INICIO

JNZ CUENTA

HLT
4. Juego de LEDs, que se encienda de uno en uno de izq a der. (8 LEDs).

Datos:

Valor del acumulador: Num

Análisis matemático:

Se va ir dan valores numéricos en hexadecimal de tal manera que cada led se vaya
encendiendo en la posición deseada según su código binario.

Número en binario 1000 0000


Número en binario 0100 0000
Número en binario 0010 0000…

Flujograma
Implementación:

.ORG 0000H
INICIO:
MVI A,80H ; Número en binario 1000 0000
OUT 00H
MVI A,40H ; Número en binario 0100 0000
OUT 00H
MVI A,20H ; Número en binario 0010 0000
OUT 00H
MVI A,10H ; Número en binario 0001 0000
OUT 00H
MVI A,8H ; Número en binario 0000 1000
OUT 00H
MVI A,4H ; Número en binario 0000 0100
OUT 00H
MVI A,2H ; Número en binario 0000 0010
OUT 00H
MVI A,1H ; Número en binario 0000 0001
OUT 00H
JMP INICIO
HLT
5. Juego de LEDs, que se encienda del centro a los extremos de dos en dos (8 LEDs).

Datos:

Valor del acumulador: Num

Análisis matemático:

Se va ir dan valores numéricos en hexadecimal de tal manera que cada los leds se vaya
encendiendo en la posición deseada según su código binario.

Número en binario 0001 1000


Número en binario 0010 0100
Número en binario 0100 0010
Número en binario 1000 0001

Flujograma
Implementación:

.ORG 0

INICIO:

MVI A,18H ; Número en binario 0001 1000

OUT 00H

MVI A,24H ; Número en binario 0010 0100

OUT 00H

MVI A,42H ; Número en binario 0100 0010

OUT 00H

MVI A,81H ; Número en binario 0001 0000

OUT 00H

JMP INICIO

HLT

También podría gustarte