Practica 1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 18

INSTITUTO POLITÉCNICO NACIONAL 1

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

UNIDAD CULHUACAN

INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA

ACADEMIA DE COMPUTACIÓN

LABORATORIO DE MICROPROCESADORES

PRACTICA No. 1

“Introducción al lenguaje ensamblador y presentación del


microprocesador AT89S52”

Por:

Izquierdo Reyes Javier.

Grupo: 6EM2

Prof.: M. en C. Orlando Beltrán Navarro

México D.F. a 01 de FEBRERO del 2012


INDICE. 2

INTRODUCCIÓN TEÓRICA.............................................................................................3

OBJETIVOS..........................................................................................................................5

MATERIAL...........................................................................................................................5

DESARROLLO.....................................................................................................................6

CONCLUSIONES...............................................................................................................17

BIBLIOGRAFÍA.................................................................................................................18
INTRODUCCION TEORICA. 3
LENGUAJE ENSAMBLADOR

Assembly language es un lenguaje de programación de bajo nivel para los


computadores, microprocesadores, microcontroladores, y otros circuitos
integrados programables. Implementa una representación simbólica de los códigos
de máquina binarios y otras constantes necesarias para programar una
arquitectura dada de CPU y constituye la representación más directa del código
máquina específico para cada arquitectura legible por un programador. Esta
representación es usualmente definida por el fabricante de hardware, y está
basada en los mnemónicos que simbolizan los pasos de procesamiento (las
instrucciones), los registros del procesador, las posiciones de memoria, y otras
características del lenguaje. Un lenguaje ensamblador es por lo tanto específico a
cierta arquitectura de computador física (o virtual).

Un programa utilitario llamado ensamblador es usado para traducir sentencias del


lenguaje ensamblador al código de máquina del computador objetivo. El
ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a
uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina.
Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola
declaración generalmente da lugar a muchas instrucciones de máquina.

Muchos dispositivos programables (como los microcontroladores) aún cuentan con


el ensamblador como la única manera de ser manipulados.

FRANKLIN SOFTWARE PROVIEW 32

Es un entorno de desarrollo integrado y con todas las funciones que proporciona


un acceso fácil sin problemas a todas las herramientas en el arsenal de los
desarrolladores profesionales. From editing to debugging, ProView32 can manage
all aspects of product development for any member of the family. to download
ProView32. Desde la edición hasta la depuración, ProView32 puede gestionar
todos los aspectos de desarrollo de productos para cualquier miembro de la familia
8051
MICROPROCESADORES 4
DEFINICIONES

Hardware.- Es la parte física ó circuito de un sistema digital, sea cual sea el tipo de
dispositivos empleados.

Software.- Es un programa ó la parte lógica de un sistema Programable.

Microprocesador ó CPU (unidad de procesamiento central).- Es un paquete de


circuitos integrados que contiene una unidad procesadora (ALU) y una unidad de
control.

La Unidad Procesadora.- Realiza las operaciones aritméticas y lógicas de


procesamiento de datos según lo especifique el programa.

La Unidad de Control.- Supervisa el flujo de información entre las diversas


unidades.

Para comprender el funcionamiento del Microprocesador ó CPU citaremos el


diagrama a bloques de una computadora digital:
OBJETIVOS. 5
Conocer y elaborar nuestro primer programa en lenguaje ensamblador, para
comenzar el proceso de programar un microprocesador mediante el software
Proview 32

MATERIAL.

 Software Proview 32 de la paquetería Franklin Software


 Microprocesador AT 89S52
 Cristal de cuarzo de 24 MHz
DESARROLLO. 6
El Software a utilizar en el laboratorio de microprocesadores es Proview32 de la
paquetería Franklin software, el cual al igual que el resto del software de Windows
cuenta con las barras de titulo, menú y herramientas además del área de trabajo.
El entorno principal del programa es el que se muestra a continuación:

Ya dentro de la ventana se procede a crear un nuevo archivo dando clic en el


menú ‘’File’’ (archivo), ‘’New’’ (nuevo) y en el siguiente submenú emergente
‘’Assembler Files’’, como se muestra en las siguientes imágenes:
7
Después de hacer las selecciones correspondientes aparece la zona de trabajo
con el nombre de untitled1.asm, como en la pantalla siguiente:

Antes de iniciar a programar debemos guardar nuestro archivo para poder evitar
pérdidas por fallos de la computadora y para saber ubicar nuestro archivo en la
carpeta mas adecuada, y para realizar esto se da clic en “File”, “Save as…” y en la
ventana emergente se busca la dirección c:\fsi\bin (que es la carpeta donde
almacenaremos nuestro archivo mientras estemos creándolo), finalmente lo
nombramos y colocamos la extensión .asm al final, lo cual nos indica que el
archivo es de lenguaje ensamblador.
8
Una vez guardado procedemos a la programación indicada en clase, la cual se
muestra en la siguiente imagen:

Dónde:

ORG 0000H; indica que se iniciará la programación a partir de la dirección 0


(hexadecimal) de memoria del programa.

MOV A, #01010101B; es el nemónico que coloca el valor inicial al acumulador que


en este caso es el 55 binario.

ADD A, #0000001B; es el nemónico que suma un 1 binario al valor que se


encuentra en el acumulador.

END; es la sentencia que indica el fin de nuestro código, es decir el fin de las
instrucciones.

Ya que hemos terminado de escribir el código de la programación volvemos


aguardar aunque esta vez solo se da clic en el menú “File” y se elige “Save” o por
el método abreviado presionando las teclas ctrl+s.

Cuando estamos listos con el código se procede a crear un proyecto, esto con la
finalidad de hacer una simulación de nuestro código y visualizar si realmente se
están ejecutando correctamente todas las instrucciones que se fueron
programadas. Para realizar un proyecto damos clic en el menú “Project”, después
seleccionamos “New” y dentro de la pantalla emergente cambiamos el nombre del
proyecto que viene predeterminado por el que nosotros queramos, en este caso
particular se llama “PRAC01.PRJ”. Es importante mantener en este caso la
extensión .prj ya que esto nos indica que se trata de un archivo proyecto.
9

Ya dentro de la nueva ventana de trabajo, se debe agregar el que es nuestro


archivo de lenguaje ensamblador, y para esto se da clic en “Project” y se
selecciona “Add file” o por el método abreviado ALt+Ins como se aprecia en la
próxima imagen
10

Seleccionamos el archivo que creamos al principio, el de extensión .ASM, y lo


abrimos

Para poder realizar la simulación nos vamos al menú “Debug”, damos clic en
“Start” o presionamos Ctrl+D
11
En la ventana de opciones que nos aparece debemos seleccionar la opción
“Virtual Machine (Simulator)” para que de esta forma la maquina nos muestre la
simulación y finalmente se selecciona la familia del micro que se va a programar,
en nuestro caso es 8052, y asignamos la frecuencia a la que va a trabajar o el
cristal que va a ser utilizado en este caso a 24MHz.

Una vez que seleccionamos Ok podemos visualizar tres ventanas importantes, la


primero nos muestra nuestro código en ensamblador, la segunda los registros
principales “Main Registers” y la tercera nos muestra el código en lenguaje
maquina.
12

Para poder visualizar la acción paso a paso, en la barra de herramientas se


selecciona la opción “Animate” y mediante el cuarto botón a su derecha “Step into”
avanza paso a paso, y si se presiona el botón “GO”, el programa se ejecuta sin
interrupciones.

La segunda parte de la práctica consistió en cambiar algunos de los parámetros


con los que se trabajó en la primer parte, el proceso de inicio fue exactamente el
mismo, sólo que esta vez se guardo el archivo con el nombre de “PRAC01B.ASM”.
El código se muestra en la siguiente imagen 13

Dónde:

ORG 0000H; indica que se iniciará la programación a partir de la dirección 0


(hexadecimal) de memoria del programa.

MOV A, #01010101B; es el nemónico que coloca el valor inicial al acumulador que


en este caso es el 55 binario.

CICLO; es la bandera “Flag” que nos ayudara a ubicar una instrucción


rápidamente.

ADD A, #0000001B; es el nemónico que suma un 1 binario al valor que se


encuentra en el acumulador.

SJMP; es el nemónico que hace que el compilador regrese a ejecutar las


instrucciones desde donde se encuentra la bandera ciclo hasta él.

END; es la sentencia que indica el fin de nuestro código, es decir el fin de las
instrucciones.

Al crear el proyecto para este programa, podemos ver la simulación de la


ejecución de las sentencias y en estas el bucle que fue creado, que no se detiene
hasta que es pausado a la fuerza.
14

La tercer parte de la práctica consistió en hacer un circuito oscilador con el


microprocesador AT89S52 y colocándole un cristal a 24 MHz en los pines 18 y 19
“(Xtal1, 2) para así darle un ciclo de trabajo y del lado del pin 30 (ALE) obtener una
señal cuadrada que nos lo indicaría. El circuito armado es el siguiente:

Las señales obtenidas fueron las siguientes:

Para el pin 18 (Xtal1)


15

Para el pin 19 (Xtal2)

Finalmente la señal de la señal del pin 30 (ALE) fue:


16

Donde se observa que la frecuencia es de 1/6 de la frecuencia del cristal (4MHz) y


que su amplitud esta cerca de los 5 volts, con lo cual corroboramos que nuestro
microprocesador tendrá un buen ciclo de trabajo y que operará con eficiencia y
rapidez.
CONCLUSIONES. 17
Mediante esta práctica puedo concluir que el lenguaje ensamblador es un poco más complejo de
manejar en comparación de lenguajes como C, esto debido a su bajo nivel, es decir a que esta muy
próximo al lenguaje maquina, en el cual sólo se manejan datos binarios, y que éste es mucho mas
especifico en cada instrucción que se escribe que los demás. Además se comprendió que para
poder realizar la ultima traducción entre el lenguaje ensamblador y el maquina se necesita de un
software que nos ayude a realizar esta acción y que hay una gran gama de aplicaciones que se
pueden ocupar, pero pues así como en C, si se aprende a manejar la estructura, sintaxis, etc.
después será relativamente fácil programar tanto en otro software como el programar otro tipo de
micros.
BIBLIOGRAFÍA. 18
Paginas web consultadas:

http://www.aguilarmicros.mex.tl/862915_Apuntes_MP.html

http://es.wikipedia.org/wiki/Lenguaje_ensamblador

http://www.fsinc.com/devtools/products/DS-PV32.htm

También podría gustarte