Sei sulla pagina 1di 46

Escuela de Ciencias Básicas Tecnología e

Ingeniería

Unidad 1: Paso 2 - Desarrollar el software de


Microprocesadores
Karen Natali Hernandez
Julian Andres Villamil
Juan Gabriel Forero
Miller Orlando Linares
Lisa Maria Victoria
Grupo: 6
MICROPROCESADORES Y MICROCONTROLADORES 309696A
08 marzo 2019
Escuela de Ciencias Básicas Tecnología e
Ingeniería

Tabla de contenido
• Resumen.

• Desarrollo de 5 ejercicios planteados en la guía de actividades.

• Link Videos.

• Conclusiones.

• Referencias bibliográficas
Escuela de Ciencias Básicas Tecnología e
Ingeniería

Resumen
El curso de microprocesadores y microcontroladores, paso 2 tiene como propósito aplicar
todos los conocimientos adquiridos mediante el estudio de la unidad 1, desarrollando 5
ejercicios prácticos los cuales deberán permitir diseñar un microcontrolador a través de la
herramienta Simuproc, en donde se genere la aplicaciónparacadaproblemaplanteadopor
la guía de actividades.
Escuela de Ciencias Básicas Tecnología
e Ingeniería

1. Realizar el promedio de la suma de las edades de los integrantes


del grupo (Aparte del menú, ingresar los datos de los valores por
medio de teclado)

Diagrama Lógico
Promedio = suma n1+n2+n3+n4+n5 / cantidad n
Codigo
#SimuProc 1.4.2.0
mov 200,201
msg "cantidad de edades a promediar:"
ldt
mov cx,ax
mov 100,cx
msg "ingrese una de las edades:"
ldt
add 200
sta 200
loop 005
mov ax,200
div 100
eap "el promedio de las edades es:"
hlt
Explicación del código
#SimuProc 1.4.2.0
mov 200,201;transfiere los datos a la memoria a la direccion 200 y 201
msg "cantidad de edades a promediar:";muestra el mensaje en pantalla
ldt;carga el segmento de datos
mov cx,ax;mueve los datos a los campos
mov 100,cx;mueve los datos a los campos
msg "ingrese una de las edades:";muestra el mensaje en pantalla
ldt;carga el segmento de datos
add 200;suma los datos cargados en la direccion 200 de la memoria
sta 200;almacena los valores ingresados en una ubicacion de memoria
loop 005;cuenta los datos ingresados a la memoria
mov ax,200;mueve los datos a los campos
div 100;divide en el promedio de números ingresados
eap "el promedio de las edades es:"#;muestra el mensaje en pantalla
hlt
2. Desarrollar un programa para hallar el área de un trapezoide
(Aparte del menú, ingresar los datos de los valores por medio de
teclado)
Para poder calcular el area del trapezoide con los lados a=8, lado b=5, lado c=12 y lado d=7 ,
realizamos operacion de suma de las areas de sus dos triangulo

𝑏∗ℎ
𝐴=
2
Donde:
b=Base
h= Altura
𝐴1 + 𝐴2 = Area del trapezoide
Desarrollo triangulo 1:
𝑎 ∗ 𝑏 (8)(5) 40
𝐴1 = → → = 20𝑐𝑚2
2 2 2
Desarrollo triangulo 2:
𝑐 ∗ 𝑑 (12)(7) 84
𝐴2 = → → = 42𝑐𝑚2
2 2 2
Para el area del trapezoide:
𝐴 = 𝐴1 + 𝐴2 = 20 + 42 = 62𝑐𝑚2

#SimuProc 1.4.2.0
CLC
MSG 'Area del trapezoide: a=8, b=5, c=12, d=7'
MSG 'REALIZADO POR JUAN GABRIEL FORERO SUAREZ'
MSG '...................................'
LDT 'Ingrese el valor de a para el area 1 triangulo1'
MOV 01F,AX
LDT 'Ingrese el valor de b para el area 1 triangulo1'
MOV 020,AX
LDT 'Ingrese el valor de c para el area 2 triangulo2'
MOV 021,AX
LDT 'Ingrese el valor de d para el area 2 triangulo2'
MOV 022,AX
;Calculo del triangulo area1
MOV AX,01F ;Muevo el valor de (a) al reg. AX
MUL 020 ;Multiplico (a)*(b)
EAP 'El producto (a)*(b) es: '
DIV 030 ;Divido el producto en 2.
EAP 'El area del triangulo1 es: '
MOV 031,AX ;Muevo el valor del area1 a la dir 031

;Calculo del triangulo area2


MOV AX,021 ;Muevo el valor de (a) al reg. AX
MUL 022 ;Multiplico (a)*(b)
EAP 'El producto (c)*(d) es: '
DIV 030 ;Divido el producto en 2.
EAP 'El area del triangulo2 es: '

;Sumo las areas del triangulo1 y 2 para obtener el area del trapezoide
ADD 031
EAP 'El area del trapezoide es: '

HLT
#030
10
 Ejecución:
Interfaz Grafica:
3. Desarrollar un programa para hallar el área de una circunferencia (Aparte del menú,
ingresar los datos de los valores por medio de teclado)
- Código de SimuProc Editor interno
- Área de una circunferencia
Ya enviada la información a SimuProc listo para ejecutar y mostrar en el monitor:
Aparece el primer menú
Seleccionar 1 para continuar

Segundo menú
Ingresa el radio de la circunferencia
Aparece el área
Arroja el valor después del calculo.

Adicional muestra cuadro de estadística de la simulacion


Como dato extra:
4. Realizar un programa que ordene 3 números de menor a mayor (Aparte del menú, ingresar los datos de los valores
por medio de teclado)
INSTRUCCIONES UTILIZADAS:

MSG: Muestra un mensaje en pantalla.


LDT: Lee un valor del teclado y lo lleva al registro AX.
STA: Guarda el contenido de AX en la dirección de memoria especificada.
LDA: Cargar en AX el contenido de la dirección de memoria especificada.
CMP: Compara AX con la memoria. Si AX es mayor, igual o menor.
JMA: Saltar si es mayor. Contenido de memoria.
EAP: Escribe en pantalla el contenido del registro AX.
JMP: Salto incondicional; Dirección de memoria donde se ejecuta la siguiente instrucción.
HLT: Terminar programa.
CÓDIGO SIMUPROC:
PROGRAMA SIMUPROC:
PERIFERICOS DE ENTRADA Y SALIDA
Monitor donde aparecen los datos de las instrucciones realizadas en el programa Simuproc

Teclado donde podemos interactuar con el programa, colocando los datos que queremos averiguar.
Programa ejecutado y mostrando el resultado de los números ordenados de menor a mayor.

Finalización del programa:


5. Realizar un programa que identifique las calificaciones de 10 estudiantes y muestre la probabilidad de aprobación
y reprobación, como también los que no ingresaron con notas inferiores a 1.0, junto con la cantidad de estudiantes
que aprobaron y perdieron, tengan en cuenta que la nota aprobatoria es de 3.0 (Aparte del menú, ingresar los
datos de los valores por medio de teclado)
Código de SimuProc:
#SimuProc 1.4.2.0

cla
msg '****PROGRAMA PARA IDENTIFICAR CALIFICACIONES****'
msg '****MENÚ****'
msg 'Ingrese 1 para CONTINUAR o 2 para SALIR'
ldt
cmp 102
jma 00f
jeq 011
cmp 101
jeq 014
jme 00f
hlt

#oof
msg 'HA INGRESADO UN NÚMERO INVÁLIDO'
jmp 0
msg '¡¡HA SALIDO DEL PROGRAMA!!'
msg 'ADIOS'
hlt
; aca comienza la descripciòn del còdigo si se continùa con la ejecuciòn del programa
cla
msg 'INGRESE 10 CALIFICACIONES EN ENTEROS DE 0 A 5'
ldt 'Ingrese la calificación 1'
cmp 105
jma 124
cmp 101
jme 190
cmp 102
jma 120
cmp 102
jeq 122
cmp 102
jme 122
ldt 'Ingrese la calificación 2'
cmp 105
jma 12a
cmp 101
jme 193
cmp 102
jma 126
cmp 102
jeq 128
cmp 102
jme 128
ldt 'Ingrese la calificación 3'
cmp 105
jma 130
cmp 101
jme 196
cmp 102
jma 12c
cmp 102
jeq 126
cmp 102
jme 12e
ldt 'Ingrese la calificación 4'
cmp 105
jma 136
cmp 101
jme 199
cmp 102
jma 132
cmp 102
jeq 134
cmp 102
jme 134
ldt 'Ingrese la calificaciòn 5'
cmp 105
jma 13c
cmp 101
jme 19c
cmp 102
jma 138
cmp 102
jeq 13a
cmp 102
jme 13a
ldt 'Ingrese la calificaciòn 6'
cmp 105
jma 142
cmp 101
jme 19f
cmp 102
jma 13e
cmp 120
jeq 140
cmp 102
jme 140
ldt 'Ingrese la calificaciòn 7'
cmp 105
jma 148
cmp 101
jme 1a2
cmp 102
jma 144
cmp 102
jeq 146
cmp 102
jme 146
ldt 'Ingrese la calificación 8'
cmp 105
jma 14e
cmp 101
jme 1a5
cmp 102
jma 14a
cmp 102
jeq 14c
cmp 102
jme 14c
ldt 'Ingrese la calificaciòn 9'
cmp 105
jma 154
cmp 101
jme 1a8
cmp 102
jma 150
cmp 102
jeq 152
cmp 102
jme 152
ldt 'Ingrese la calificación 10'
cmp 105
jma 15a
cmp 101
jme 1ab
cmp 102
jma 156
cmp 102
jeq 158
cmp 102
jme 158
lda 160
msg 'Estudiantes Aprobados:'
eap
lda 160
mul 106
msg 'Probabilidad de Aprobaciòn en % es:'
eap
lda 200
msg 'Calificaciones Inferiores a 1:'
eap
lda
170
msg 'Estudiantes Reprobados:'
eap
hlt
; Inicialización de variables
#100
0
1
10
11
100
101
1010
#120
inc 160
jmp 021
inc 170
jmp 021
jmp 016
#126
inc 160
jmp 02c
inc 170
jmp 02c
jmp 021
#12c
inc 160
jmp 037
inc 170
jmp 037
jmp 02C
#132
inc 160
jmp 042
inc 170
jmp 042
jmp 037
#138
inc 160
jmp 04d
inc 170
jmp 04d
jmp 042
#13e
inc 160
jmp 058
inc 170
jmp 058
jmp 04D
#144
inc 160
jmp 063
inc 170
jmp 063
jmp 058
#14a
inc 160
jmp 06e
inc 170
jmp 06e
jmp 063
#150
inc 160
jmp 079
inc 170
jmp 079
jmp 06E
#156
inc 160
jmp 084
inc 170
jmp 084
jmp 079
#160
0
#170
0
#190
inc 200
jmp 01b
#193
inc 200
jmp 026
#196
inc 200
jmp 031
#199
inc 200
jmp 03c
#19c
inc 200
jmp 047
#19f
inc 200
jmp 052
#1a2
inc 200
jmp 05d
#1a5
inc 200
jmp 068
#1a8
inc 200
jmp 073
#1ab
inc 200
jmp 07e
#200
0
Ya enviada la información a SimuProc Listo para ejecutar
Y mostrar en el monitor:
Aparece el primer menú
Seleccionar 1 para continuar
• Link Videos:
• Ejercicio # 1 -- https://youtu.be/qPGoZJaeZ8g
• Ejercicio # 2 -- https://youtu.be/P9TCAANUkDY
• Ejercicio # 3 -- https://youtu.be/Y7Le1h1Upn8
• Ejercicio # 4 -- https://youtu.be/VWPZPzLJXsQ
• Ejercicio # 5 -- https://youtu.be/goXIdByOGJQ
Conclusiones
• Se empleó el software Simuproc.
• Se logró dar desarrollo a los ejercicios planteados.
• Hubo interacción con cada integrante del grupo colaborativo.
• Trabajando con variedad de problemas se pudo resolver y
conocer las diferentes instrucciones y características soportadas
por el software Simuproc.
• Se pudo entender como funcionar el tipo de microprocesador
utilizado en el software.
• Se pudo trabajar y entender otro tipo de lenguaje llamado
Assembler.
Referencias Bibliograficas
Guisa, J. (2009). Electrónica Digital. Instituto Politécnico Nacional. (Pp. 26 -32). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=6&docID=3192086&tm=1531433929303
Rocabado, S. (2009). Arquitectura y organización de la computadora: microprocesadores y programación Assembler. Editorial
de la Universidad Nacional de La Plata. (Pp. 24-66). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=1&docID=4499097&tm=1527288958603
Miranda, V. (2005). Arquitectura de equipos y sistemas informáticos. 4th ed., Paraninfo. Recuperado de:
http://bibliotecavirtual.unad.edu.co:2619/apps/pub/3BDI/GVRL?u=unad&sid=GVRL
Williams, Arthur. (2009). Microprocesadores, dispositivos periféricos, optoelectrónicos y de interfaz. Ed. McGraw-Hill. (Pp. 5-
42). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=31&docID=3191906&tm=1527289146227
Escuela de Ciencias Básicas Tecnología e
Ingeniería

GRACIAS

Potrebbero piacerti anche