Вы находитесь на странице: 1из 28

DESARROLLAR EL SOFTWARE DE MICROPROCESADORES

Unidad 1: Paso 2

MICROPROCESADORES Y MICROCONTROLADORES - (309696A_614)

GONZALO MEDINA
Tutor

CLAUDELBY DIAZ VELANDIA


Código: 52.748.357
JOSÉ LUIS CÁRDENAS
Código: 1033699913
ANDREA CATALINA VITERI TOQUICA
Código: 52986472
JHONNATAN CANTOR PERDOMO
Código: 1136059554
ESTEBAN RODRIGUEZ
Código: 1031142683

GRUPO: 309696_21

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


INGENIERÍA DE TELECOMUNICACIONES
Bogotá D.C., septiembre 27 de 2019
Contenido

INTRODUCCCIÓN.........................................................................................................................................3
RESUMEN..........................................................................................................................................................4
Objetivos..........................................................................................................................................................4
DESARROLLO PASO 2................................................................................................................................5
Planteamiento del Problema....................................................................................................................5
Identificación de requisitos y variables que intervienen en el paso 2......................................5
Desarrollo del paso 2..................................................................................................................................5
APORTE CLAUDELBY DIAZ....................................................................................................................5
APORTE JOSE LUIS CARDENAS ROZO.............................................................................................9
ANDREA CATALINA VITERI TOQUICA.............................................................................................14
APORTE JHONNATAN CANTOR PERDOMO....................................................................................17
APORTE ESTEBAN RODRIGUEZ........................................................................................................22
LINKS VIDEOS INDIVIDUALES.........................................................................................................23
LINK VIDEO COLABORATIVO.............................................................................................................23
CONCLUSIONES.............................................................................................................................................24
Referencias bibliográficas....................................................................................................................25
INTRODUCCCIÓN

El microprocesador es un chip integrado basado en silicio con solo una unidad


de procesamiento central. Es el corazón de un sistema informático que está
diseñado para realizar muchas tareas que involucran datos. Los
microprocesadores no tienen RAM, ROM, IO pins, temporizadores y otros
periféricos en el chip. Deben agregarse externamente para que sean funcionales.
Consiste en la ALU que maneja todas las operaciones aritméticas y lógicas; la
Unidad de control que gestiona y maneja el flujo de instrucciones en todo el
sistema; y Register Array, que almacena los datos de la memoria para un acceso
rápido. El microcontrolador es como una mini computadora con una CPU junto
con RAM, ROM, puertos serie, temporizadores y periféricos IO, todo integrado en
un solo chip. Está diseñado para realizar tareas específicas de la aplicación que
requieren un cierto grado de control, como un control remoto de TV, pantalla
LED, relojes inteligentes, vehículos, control del semáforo, control de temperatura,
etc. Es un dispositivo de alta gama con un microprocesador, memoria, y puertos
de entrada / salida en un solo chip. Es el cerebro de un sistema informático que
contiene suficientes circuitos para realizar funciones específicas sin memoria
externa. [ CITATION dif19 \l 9226 ]. EL programa escrito en lenguaje
ensamblador consiste en una serie de Instrucciones que corresponden al flujo de
órdenes ejecutables que pueden ser cargadas en la Memoria de un sistema
basado en Microprocesadores. Instrucciones: son aquellos nemónicos que son
convertidos por el ensamblador en código máquina que puede ejecutar el núcleo
del microcontrolador.

Con el desarrollo de la actividad propuesta se pretende realizar el estudio del


concepto, arquitectura y funcionalidad de los Microprocesadores, el lenguaje
ensamblador y la familia de los microprocesadores. A través de la herramienta
SIMUPROC, propuesta por el grupo de tutores se realizará la implementación y
simulación de un programa que nos permita dar respuesta a los 5 puntos
propuestos.
RESUMEN

Se realiza el estudio del material compartido en el entorno de conocimiento

relacionado con el estudio de los Microprocesadores y su funcionalidad, a partir de

dichos conocimientos, se realiza la instalación del Software SIMUPROC con el que

se realiza la implementación y simulación de los sistemas solicitados en la Guía

de actividades. Luego de lograr el funcionamiento requerido en cada ítem, cada

estudiante realiza un video en el que explica las instrucciones dadas a la

herramienta, realiza la simulación y comprueba el correcto funcionamiento.

Objetivos

 Investigar el concepto, la funcionalidad, la arquitectura y la aplicabilidad de

los Microprocesadores y Microcontroladores en el campo de la electrónica.


 Realizar la creación y elaboración del lenguaje ensamblador (código) con

respecto a los ejercicios propuestos por la guía de actividades.


 Realizar la instalación del Software SIMUPROC propuesto en la Guía de

actividades, el cual nos permitirá comprender el funcionamiento de un

microprocesador, además de aprender a programar el lenguaje

ensamblador, muy importante en la electrónica digital.


 Interactuar en el foro colaborativo de manera constructiva con los

integrantes del grupo.


DESARROLLO PASO 2

Planteamiento del Problema

Se plantea como proyecto a desarrollar en el curso el diseño de un sistema de


control de un laboratorio biológico: para el paso 2 el laboratorio debe contar con
el diseño de un software que presente el uso y comportamiento de un
Microprocesador, donde se evidencie el empleo de menús y funcionamiento por
medio de periféricos tanto de entrada como de salida para que se pueda utilizar
por los operarios del laboratorio, para ello se debe aplicar el manejo y lenguaje
Assembler como también el comportamiento de la RAM y ROM que utiliza el
Microprocesador.

Identificación de requisitos y variables que intervienen en el paso 2


 Instalación software SIMUPROC
 Revisión del Marco Teórico de la Unidad.
 Lluvia de ideas de posible solución del paso 2.

Desarrollo del paso 2

El estudiante junto con el grupo de trabajo colaborativo desarrolla los siguientes


puntos, cada uno de ellos debe tener presentación y un menú contextual donde
se solicite al usuario la selección del punto de interés, estos hacen parte del paso
2 y evidencian el uso de los Microprocesadores, Tengan en cuenta que cada
estudiante selecciona uno de estos y realiza su desarrollo:
APORTE CLAUDELBY DIAZ
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)
[ CITATION Nes19 \l 9226 ]

[ CITATION SIM19 \l 9226 ]

Descarga e Instalación Software SIMUPROC:


Se realiza la programación del siguiente código de instrucciones sobre la
herramienta:
#SimuProc 1.4.2.0

mov 19,20; -> le indico a la herramienta leer el valor de la ubicación 20 y que se va a mover a la ubicación 19.

msg "BUEN DÍA.SOY ESTUDIANTE DE ING. DE TELECOMUNICACIONES DE LA UNAD - GRUPO 21 DEL CURSO
MICROPROCESADORES Y MICROCONTROLADORES. A CONTINUACION SE PRESENTA EL DESARROLLO DEL
PUNTO 1.POR FAVOR INGRESE LA CANTIDAD DE NUMEROS A PROMEDIAR"; -> Mensaje de presentación y primera
instrucción al usuario.

ldt ; -> lee el valor ingresado al teclado para luego llevarlo al registro de Memoria AX.

sta 010 ;-> Guarda el contenido del registro de memoria AX e posición de memoria 010

mov cx,010; -> lee el valor del registro de la posición 010.

cla ; -> convierte nuevamente el registro AX a valor 0.

msg "Ingrese su Número a Promediar"; -> Visualiza la siguiente instrucción en pantalla.

ldt ; -> lee el valor ingresado por el usuario a través del teclado para llevarlo al registro de memoria AX.

add 019 ; -> Suma en AX el valor de la dirección de memoria 019.

sta 019 ; -> Guarda el contenido en la dirección de memoria.

loop 005 ;-> Disminuye el valor del registro de memoria CX y salta a la siguiente posición de memoria si no es igual a 0.

div 010 ; -> Divide por el valor guardado en la memoria en la posición de memoria 010 almacenado.
msg "El Promedio Resultante es"; -> Visualiza el mensaje en pantalla.

eap;-> Escribe en pantalla el ultimo valor contenido del registro AX.

hlt; -> Finalización del programa.

Codigo.txt

[ CITATION rep11 \l 9226 ]

[ CITATION sot11 \l 9226 ]

Implementación en SIMUPROC:

Envío a memoria:
Simulación:
Se ingresan 5 valores diferentes arrojando como resultado el Promedio de los
mismos.
APORTE JOSE LUIS CARDENAS ROZO

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)

[ CITATION Nes19 \l 9226 ]

[ CITATION SIM19 \l 9226 ]

Se Descarga e Instalación Software SIMUPROC:

Se crea programa en lenguaje ensamblador (Código) con las siguientes


instrucciones sobre el editor 2(texto).
#EJERCICIO 4 - UNAD

MSG MICROPROCESADORES Y MICROCONTROLADORES

MSG JOSE LUIS CARDENAS ROZO

MSG ORDENAR TRES NUMEROS DE MENOR A MAYOR

LDT 'INGRESE EL NUMERO EN A' ;pide el primer digito

STA 60 ;guarda el primer digito en la memoria 60


LDT 'INGRESE EL NUMERO EN B' ;pide el segundo digito

STA 61 ;guarda el segundo digito en la memoria 61

LDT 'INGRESE EL NUMERO EN C' ;pide el tercer digito

STA 62 ;guarda el tercero digito en la memoria 62

LDA 60 ;Carga en AX lo de la memoria 60

CMP 61 ;comparo con el contenido de la memoria 61

JMA 30 ;Solo si AX es mayor salta a la memoria 30

LDA 61 ;cargo en AX lo de la memoria 61

CMP 62 ;comparo con el contenido de la memoria 62

JMA 40 ;Solo si AX es mayor salta a la memoria 40

LDA 60 ;carga en AX lo de la memoria 60

CMP 61 ;compara el contenido de la memoria 61

JMA 30 ;solo si AX es mayor salta a la memoria 30

MSG LOS NUMEROS DE MENOR A MAYOR SON:

LDA 60 ;cargar en AX lo de la memoria 60

EAP ;muestra en pantalla el resultado de AX

LDA 61 ;cargar en AX lo de la memoria 61

EAP ;muestra en pantalla el resultado de AX

LDA 62 ;cargar en AX lo de la memoria 62

EAP ;muestra en pantalla el resultado de AX

MSG TERMINO PROGRAMA

HLT ;fin

#30

MOV 63,60 ;mueve el valor de la memoria 60 a la 63

MOV 60,61 ;mueve el valor de la memoria 61 a la 60

MOV 61,63 ;mueve el valor de la memoria 63 a la 61

JMP C ;salta a la memoria C

HLT ;fin
#40

MOV 63,61 ;mueve el valor de la memoria 61 a la 63

MOV 61,62 ;moeve el valor de la memoria 62 a la 61

MOV 62,63 ;mueve el valor de la memoria 63 a la 62

JMP F ;salta a la memoria F

HLT ;fin

[ CITATION rep11 \l 9226 ]

[ CITATION sot11 \l 9226 ]

Implementación en SIMUPROC:
Envío a memoria:
Se ingresa 3 valores diferentes por medio del teclado arrojando como resultado
los números organizados de menor a mayor.
ANDREA CATALINA VITERI TOQUICA

3. Desarrollar un programa para hallar el área de una circunferencia (Aparte


del menú, ingresar los datos de los valores por medio de teclado)
[ CITATION Nes19 \l 9226 ]
[ CITATION SIM19 \l 9226 ]

Descarga e Instalación Software SIMUPROC:

Se realiza la programación del siguiente código de instrucciones sobre la


herramienta:
#SimuProc 1.4.2.0

msg Andrea Viteri, microprocesadores y microcontroladores, grupo 21

msg ****************************************

msg ejercicio 2 CALCULO DEL AREA DE UN TRAPEZOIDE

msg ****************************************

msg Digite el valor de la base mayor

IN AX,1 ;Lleva al Rel valor retornado por el puerto 1


stf 010 ;Se almacena el valor ingresado en esa posicion

msg Digite el valor de la base menor

IN AX,1 ;Lleva al Rel valor retornado por el puerto 1

addf 010 ;Se suma la base mayor con la base menor

divf 025 ;Se almacena el resultado de la suma en esa posicion

stf 041 ;Se almacena el resultado de la suma y posterior division en esa posicion

msg Digite el valor de la altura

IN AX,1 ;Lleva al Rel valor retornado por el puerto 1

mulf 041 ;Se multiplica lo almacenado en 041 por la altura

msg El area del trapezoide es A=((B+b)/2)*h:

out 1,ax ; Se imprime el area del TRAPEZOIDE

hlt ;

#025

0100000000000000 ; número 2 guardado en memoria

0000000000000000

AREA__trapezoide.t
xt

Implementación en SIMUPROC:
Envío a memoria:

Se ingresan los valores de base mayor, base menor y altura por medio del
teclado, se calcula la suma de mas bases y se divide entre dos por ultimo se
multiplica por el valor el valor de la altura; finalmente muestra el valor del área
del trapezoide.

APORTE JHONNATAN CANTOR PERDOMO


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)

Se crea programa en lenguaje ensamblador (Código) con las siguientes


instrucciones sobre el editor 2(texto).
#SimuProc 1.4.2.0
MSG Ejercicio 5
MSG Microprocesadores y MicroControladores
MSG Jhonnatan Cantor Perdomo
MSG 'Programa: Evaluar las calificaciones de 10 Estudiantes'
MSG '¿Qué desea hacer?'
MSG '1. Ingresar para analizar las calificaciones'
MSG '2. Salir'
ldt
cmp 102
jma 00d
jeq 00f
cmp 101
jeq 011
jme 0
hlt

#00D
msg NUMERO INVALIDO
jmp 0
msg TERMINAR PROGRAMA
hlt
cla
msg "Ingrese 10 notas de los estudiantes en el rango de 0 a 5"

ldt "ingrese nota del Estudiante 1"


cmp 105
jma 124
cmp 101
jme 190
cmp 102
jma 120
cmp 102
jeq 122
cmp 102
jme 122

ldt "ingrese nota del Estudiante 2"


cmp 105
jma 12a
cmp 101
jme 193
cmp 102
jma 126
cmp 102
jeq 128
cmp 102
jme 128

ldt "ingrese nota del Estudiante 3"


cmp 105
jma 130
cmp 101
jme 196
cmp 102
jma 12c
cmp 102
jeq 12e
cmp 102
jme 12e

ldt "ingrese nota del Estudiante 4"


cmp 105
jma 136
cmp 101
jme 199
cmp 102
jma 132
cmp 102
jeq 134
cmp 102
jme 134

ldt "ingrese nota del Estudiante 5"


cmp 105
jma 13c
cmp 101
jme 19c
cmp 102
jma 138
cmp 102
jeq 13a
cmp 102
jme 13a

ldt "ingrese nota del Estudiante 6"


cmp 105
jma 142
cmp 101
jme 19f
cmp 102
jma 13e
cmp 102
jeq 140
cmp 102
jme 140

ldt "ingrese nota del Estudiante 7"


cmp 105
jma 148
cmp 101
jme 1a2
cmp 102
jma 144
cmp 102
jeq 146
cmp 102
jme 146

ldt "ingrese nota del Estudiante 8"


cmp 105
jma 14e
cmp 101
jme 1a5
cmp 102
jma 14a
cmp 102
jeq 14c
cmp 102
jme 14c

ldt "ingrese nota del Estudiante 9"


cmp 105
jma 154
cmp 101
jme 1a8
cmp 102
jma 150
cmp 102
jeq 152
cmp 102
jme 152
ldt "ingrese nota del Estudiante 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 170
msg "ESTUDIANTES REPROBADOS: "
eap
lda 200
msg "ESTUDIANTES CON NOTAS INFERIORES A 1: "
eap
HLT

#100
0
1
10
11
100
101
#120
inc 160
jmp 01e
inc 170
jmp 01e
jmp 013
#126
inc 160
jmp 029
inc 170
jmp 029
jmp 01e
#12C
inc 160
jmp 034
inc 170
jmp 034
jmp 029
#132
inc 160
jmp 03f
inc 170
jmp 03f
jmp 034
#138
inc 160
jmp 04a
inc 170
jmp 04a
jmp 03f
#13E
inc 160
jmp 055
inc 170
jmp 055
jmp 04a
#144
inc 160
jmp 060
inc 170
jmp 060
jmp 055
#14A
inc 160
jmp 06b
inc 170
jmp 06b
jmp 060
#150
inc 160
jmp 076
inc 170
jmp 076
jmp 06b
#156
inc 160
jmp 081
inc 170
jmp 081
jmp 076
#160
0
#170
0
#190
inc 200
jmp 018
#193
inc 200
jmp 023
#196
inc 200
jmp 02e
#199
inc 200
jmp 039
#19C
inc 200
jmp 044
#19F
inc 200
jmp 04f
#1A2
inc 200
jmp 05a
#1A5
inc 200
jmp 065
#1A8
inc 200
jmp 070
#1AB
inc 200
jmp 07b
#200
0
Editor

Simulación

APORTE ESTEBAN RODRIGUEZ


2. Desarrollar un programa para hallar el área de una circunferencia (Aparte
del menú, ingresar los datos de los valores por medio de teclado)

MSG **UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD**


MSG **MICROPROCESADORES Y MICROCONTROLADORES**
MSG **EJERCICIO NUMERO TRES**

MSG "------------------MENU-------------------------"

MSG "#9 Si quieres salir del programa"


MSG "#1 Para hallar el area de la circunferencia"
LDT "Digíta la opción que requiera"
CMP 100
JEQ 004
CMP 200
JEQ 017
MSG "Ingresar valor del radio"
IN AX,1
STF 040
LDF 040
MULF 040
STF 050
LDF 050
MULF 090
STF 060
LDF 060
MSG "El area de la circunferencia equivale a"
OUT 1,AX
HLT

#090

0100000001001001 ; Valor de pi en binario


0000111111010111

#100
0011111110000000 ; direccionamiento de la opcion #1
0000000000000000

#200
0000000000000000 ; direccionamiento de la opcion #1
0000000000000000
LINKS VIDEOS INDIVIDUALES

Ejercicio 1: https://youtu.be/wcvkhB_ldFU
Ejercicio 2: http://youtu.be/VcNLFxuWP3Q?hd=1
Ejercicio 3: https://www.youtube.com/watch?v=o38qrdP-tsg&feature=youtu.be
Ejercicio 4: https://youtu.be/XMJBv8kVMuc
Ejercicio 5:

LINK VIDEO COLABORATIVO


CONCLUSIONES

 Con la realización de la simulación se logró evidenciar el proceso interno de


ejecución del programa a través de cada ciclo del Microprocesador.
 La ALU es un elemento fundamental en el funcionamiento del
microprocesador pues es la que maneja todas las operaciones aritméticas y
lógicas.
 A diferencia de los microcontroladores, los microprocesadores no tienen
memoria incorporada, ROM, puertos serie, temporizadores y otros
periféricos que constituyen un sistema.
 Los microcontroladores requieren de un bus interno para la interacción con
los periféricos.
 El único lenguaje que entienden los microcontroladores es el código
máquina formado por ceros y unos del sistema binario.
 El lenguaje ensamblador expresa las instrucciones de una forma más
natural al hombre a la vez que muy cercana al microcontrolador, ya que
cada una de esas instrucciones se corresponde con otra en código máquina.
 Este tipo de programación es útil para el razonamiento de cómo funciona el
procesador debido al desempeño con el cual trabaja siendo simple pero a la
ves complejo de sincronizar, y teniendo una amplia gama de comandos y
utilidades.
 La utilización de este software permite desarrollar habilidades más
cimentadas a la hora de analizar y desarrollar la solución a un problema
 Puedo deducir que ha sido de gran importancia el estudio de cada uno de
los proyectos y temas vistos debido al aporte que realizan en nuestra
formación, la investigación, comprensión e implementación de distintos
componentes para el montaje y desarrollo de diferentes circuitos que
facilitan las tareas en diferentes campos profesionales.

Referencias bibliográficas
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
diferenciaentre. (11 de 09 de 2019). diferenciaentre. Obtenido de diferenciaentre:
http://www.diferenciaentre.net/diferencia-entre-microprocesador-y-
microcontrolador/
repo-competencias. (14 de noviembre de 2011). repo-competencias. Obtenido de
repo-competencias: http://repo-competencias-
uct.blogspot.com/2011/11/ejercicios-simuproc.html
Rodriguez, N. (7 de 9 de 2019). Segunda Webconference Microprocesadores y
Microcontroladores 16-04. Obtenido de Segunda Webconference
Microprocesadores y Microcontroladores 16-04:
https://www.youtube.com/watch?v=lW9YY6cx4uw
SIMUPROC. (10 de 09 de 2019). SIMUPROC. Obtenido de SIMUPROC:
https://sites.google.com/site/simuproc/instrucciones-soportadas
sotoparra.blogspot. (14 de noviembre de 2011). sotoparra.blogspot. Obtenido de
sotoparra.blogspot: http://sotoparra.blogspot.com/2011/11/codigo-en-
simuproc-introduccion-las.html
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
Hernández, E. (2009). Microprocesadores. Ed. El Cid Editor. (Pp. 5 -23)
Recuperado
de:http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?
ppg=3&docID=3183363&tm=1527288594447
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
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

Вам также может понравиться