Está en la página 1de 6

UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIA

FACULTAD SEDE SOGAMOSO


ESCUELA DE INGENIERA ELECTRNICA
LABORATORIO DE MICROPROCESADORES

PRCTICA N 1

MANEJO DE PUERTO SERIAL MEDIANTE DEBUG


I.

OBJETIVOS

Conocer el entorno de Debug as como el


modelo de registros y banderas de Intel
x86.
Manejar el puerto serial del computador
desde el Debug.
Realizar una aplicacin en Debug y Proteus
para el control de un motor paso unipolar.

II.

INTRODUCCIN

Debug es una utilidad de MS-DOS que permite


visualizar memoria, introducir programas en ella y
rastrear su ejecucin.
Debug es til para:
Realizar la depuracin de programas
Ensamblar
cdigo
directamente
(programas pequeos)
Desensamblar cdigos ejecutables
Correr programas paso-a-paso
Desplegar datos en memoria
Verificar estado de los registros de la CPU
Comandos de Debug
D: DUMP
D [intervalo]
Muestra el contenido de una zona de memoria
en hexadecimal y en ASCII.
E DIRECCION: EDIT
E direccin [lista]
Permite editar, byte por byte, una zona de
memoria.
R: REGISTERS
R [registro]
Sin parmetros, muestra el contenido de los
registros de la CPU, as como la prxima instruccin
a ejecutar.
A: ASSEMBLE

A [direccin]
Cuando se utiliza este comando se le puede dar
como parmetro la direccin donde se desea que
se inicie el ensamblado, si se omite el parmetro el
ensamblado se iniciar en la localizacin
especificada por CS:IP
F: FILL
F [lista de intervalos]
Llena una zona de memoria con un valor
determinado.
Q: QUIT
Salir de debug y volver al DOS.
P: STEP
P [=direccin] [nmero]
Trace puede ser incmodo si no se quiere
depurar el cdigo de las rutinas de interrupcin o si
ya se sabe el cdigo que hay en las subrutinas y tan
slo interesa seguir avanzando sin entrar en ellas.
En estos casos se usa p.
T: TRACE
T [=direccin] [valor]
Ejecuta la instruccin apuntada por CS:IP

III.

IV.

ELEMENTOS Y EQUIPOS NECESARIOS


Virtual Serial Port Driver 6.0 - Eltima
Software.
Mquina virtual con Windows XP y Puerto
serial Habilitado.
Simulador Proteus 7.7
Conversor Serie a Paralelo simulacin en
Proteus.

DESCRIPCIN DEL LABORATORIO

En este laboratorio se presenta una gua bsica


para manejo del puerto serial del computador
mediante Debug y visualizacin en Proteus de los
datos enviados por este. Debido a que las

Profesor: Ing. Wilson Javier Prez H Segundo Semestre de 2013

UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIA


FACULTAD SEDE SOGAMOSO
ESCUELA DE INGENIERA ELECTRNICA
LABORATORIO DE MICROPROCESADORES
computadoras porttiles de nueva generacin no
disponen de este puerto, se usar una mquina
virtual previamente instalada, y un programa que
permite emular la conexin entre dos puertos
seriales denominado Virtual Serial Port Driver.

Figura 1. Diagrama de bloques de la interconexin de dos puertos


seriales.

Este programa realiza una conexin entre el


puerto serial que se encuentra en la mquina
virtual (COM1) y un puerto serial virtual (COM2)
como se muestra en la Figura 1.
a) Enlace puerto fsico con simulacin en Proteus.
Abrir la aplicacin Virtual Serial Port Driver y
seleccionar el primero y segundo puerto que se
desean interconectar luego hacer click en Add pair.

Figura 4. Esquemtico en Proteus de la conexin serial a paralelo


mediante microcontrolador PIC.

Usar el mdulo USART del microcontrolador que


usted elija para realizar la conversin serie a
paralelo, en este ejemplo se usa un PIC16F877A
configurado a una velocidad de transmisin de
9600 baudios.
Configurar el COMPIM en funcin de la tasa de
transmisin del microcontrolador como se muestra
en la siguiente figura.

Figura 2. Seleccin de los puertos que se desean interconectar.

En la parte izquierda del programa se muestran


los puertos fsicos y las conexiones establecidas.

Figura 5. Configuracin del puerto serial virtual en Proteus.

b) Manejo bsico de puertos e instrucciones en


Debug.
Abrir la ventana de comandos y escribir Debug,
luego presionar ENTER. Aparecer un guion (-) en
cada lnea de ejecucin. Como se muestra en la
siguiente figura.
Figura 3. Conexiones establecidas en el programa virtual serial port
driver.

Abrir Proteus y seleccionar en la lista de


componentes COMPIM para enlazar la simulacin
de Proteus con la actividad de un puerto serial.

Figura 6. Ejecucin de Debug mediante lnea de comandos.

Profesor: Ing. Wilson Javier Prez H Segundo Semestre de 2013

UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIA


FACULTAD SEDE SOGAMOSO
ESCUELA DE INGENIERA ELECTRNICA
LABORATORIO DE MICROPROCESADORES
Escriba r en la lnea de comandos de Debug y
presione ENTER, aparecern los registros, las
banderas del procesador y la siguiente instruccin
que se encuentra lista para ser ejecutada.

Figura 7. Visualizacin
microprocesador.

de

los

registros

banderas

muestra la secuencia que se debe observar en la


ventana de comandos de DOS.

del

Se desea acceder al puerto serial mediante un


programa ensamblado en Debug. Primero debe
conocer la direccin fsica del puerto serie
ingresando al administrador de dispositivos y en
puertos (COM y LPT) hacer doble click en COM1.

Figura 9. Ensamble de un programa bsico en Debug para configurar


el puerto serial.

Escribir r para visualizar los registros del


procesador, y la primera instruccin ensamblada.

Figura 10. Visualizacin de los registros y de la primera instruccin


que ha sido ensamblada.

Figura 8. Direccin fsica del puerto serial dentro de la mquina


virtual.

Como se observa en la Figura 8 las direcciones


del puerto son de 03F8-03FF. Para ms informacin
sobre el manejo y configuraciones de este puerto
remtase a [1]. El siguiente programa permite la
configuracin del puerto COM1 con las siguientes
caractersticas 9600 baudios, 8bits, 0 bit de
paridad, 1 bit parada.
a 100
mov dx,03fb
mov al,83
out dx,al
mov dx,03f8
mov al,0c
out dx,al
mov dx,03fb
mov al,03
out dx,al
Presione dos veces la tecla ENTER para finalizar
el ensamble del programa. La siguiente figura

El comando [t] permite ejecutar un paso a paso


del programa ensamblado y automticamente
incrementa el registro apuntador de instrucciones
IP como se muestra a continuacin.

Figura 11. Ejecucin paso a paso del programa anterior, se observa


el incremento de IP.

El comando g permite ejecutar un programa


ensamblado ingresando la direccin de inicio y la
direccin final en la que este se encuentre, como se
muestra, g = 100 112 este comando ejecuta
automticamente el programa que se encuentra
entre las direcciones 100 hasta la 112.
El puerto serial posee varios registros para su
configuracin respectiva, La direccin ms baja del
puerto [3F8] es la direccin donde se ponen datos
para ser enviados. Es posible enviar datos a travs
del puerto serial directamente desde la consola de
Debug mediante el siguiente comando.

Profesor: Ing. Wilson Javier Prez H Segundo Semestre de 2013

UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIA


FACULTAD SEDE SOGAMOSO
ESCUELA DE INGENIERA ELECTRNICA
LABORATORIO DE MICROPROCESADORES
o [direccin del puerto], [dato hexadecimal de 8
bits]
As: -o 3f8,f0 y en la ventana de simulacin
deber aparecer el byte enviado. Como se observa
en la Figura 12.

Figura 12. Datos Visualizados en Proteus despus de enviarlos desde


Debug.

A continuacin se presenta una secuencia de


leds generada desde un programa en Debug sobre
el puerto serial y visualizada en Proteus.
c) Ensamble de programas en Debug mediante un
archivo de texto.
Cree un archivo de texto con las siguientes
lneas y dele un nombre, por ejemplo: input.txt.
f 120 500 ff
a 120
mov dx,03fb
mov al,83
out dx,al
mov dx,03f8
mov al,0c
out dx,al
mov dx,03fb
mov al,03
out dx,al
mov dx,03f8
mov al,80
out dx,al
mov al,40
out dx,al
mov al,20
out dx,al
mov al,10
out dx,al

mov al,08
out dx,al
mov al,04
out dx,al
mov al,02
out dx,al
mov al,01
out dx,al
mov cx,05
mov al,00
out dx,al
mov al,ff
loop 0150

q
Gurdelo y abra la ventana de comandos de
DOS. Ubquese en la direccin donde ha creado el
archivo, por ejemplo C:\ y a continuacin ejecute el
siguiente comando: debug < input.txt, aparecer el
programa ensamblado como se muestra a
continuacin.

Figura 13. Programa ensamblado en Debug mediante un archivo.


Profesor: Ing. Wilson Javier Prez H Segundo Semestre de 2013

UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIA


FACULTAD SEDE SOGAMOSO
ESCUELA DE INGENIERA ELECTRNICA
LABORATORIO DE MICROPROCESADORES
En la misma ventana de DOS ejecute Debug,
ubique la direccin 120 (que fue la direccin donde
se comenz a ensamblar el programa)
r ip
120
Comience la ejecucin mediante el comando
que sigue.
t
Cada vez que sea ejecutado el comando trace se
ejecutara la instruccin actual y se visualizar en
pantalla el cambio en los registros y banderas del
procesador correspondientes.
d) Mostrar mensajes en pantalla mediante la
opcin 9 de la interrupcin 21h.
La opcin 9 de la interrupcin 21h permite
visualizar en pantalla una cadena de caracteres
finalizada con un signo pesos $. Antes de insertar
un mensaje se debe determinar la posicin en
memoria donde se alojara el mensaje. Para
determinar ms fcilmente las direcciones de
memoria disponibles ejecute el siguiente comando
d en Debug.
D
Este comando desplegar un mapa de memoria
de 128 bytes a partir de la direccin actual.

f 100 125 Laboratorio de Microprocesadores


2013$ debemos insertar el signo pesos $ para
indicar el fin de la cadena. Para asegurarnos que el
mensaje ha sido puesto en memoria
adecuadamente mostramos nuevamente el mapa
de memoria a partir de la posicin 100
d 100
Y en la parte derecha del mapa se observara el
texto ingresado.

Figura 15. Caracteres insertados en las primeras posiciones de


memoria disponible.

Para mostrar en pantalla el texto escrito en la


memoria se emplean las siguientes lneas de
cdigo en Debug. En esta gua se usar la direccin
130h que se encuentra 10 posiciones despus del
mensaje por lo que no hay riesgo de sobrescribirlo.

Figura 16. Programa que permite imprimir en pantalla una cadena


de caracteres.

Para ejecutarlo se usa el comando


g =130 137 [ENTER]
Aparecer en pantalla el texto como se puede
ver en la siguiente figura.

Figura 14. Despliegue de la informacin contenida en os primeros


128 bytes de memoria.

El texto que se va a escribir es Laboratorio de


Microprocesadores 2013 sin las comillas el cual
posee un tamao de 37 caracteres incluyendo los
espacios, lo que quiere decir que el mensaje
ocupara los primeros 37 bytes de memoria. Para
poner el mensaje en memoria se recurre a la
instruccin de llenado fill en Debug el comando es.
f [dir inicial] [dir final] [datos]

Figura 17. Mensaje en pantalla despus de ejecutar el programa de


despliegue.

NOTA (Para informacin sobre interrupcin 21h


revisar la bibliografa propuesta en esta gua)

e) Ejercicio propuesto.
Con base en la gua ya estudiada realizar el
control de un motor paso unipolar visualizado en
Proteus mediante un programa ensamblado en
Debug. El programa deber mostrar en pantalla un
mensaje que indique su nombre, cdigo, y el

Profesor: Ing. Wilson Javier Prez H Segundo Semestre de 2013

UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIA


FACULTAD SEDE SOGAMOSO
ESCUELA DE INGENIERA ELECTRNICA
LABORATORIO DE MICROPROCESADORES
nombre del laboratorio. Este ejercicio ser
calificado al finalizar las dos horas de clase.
La secuencia de control del motor unipolar es la
siguiente:
Tabla 1. Secuencia de control motor paso.
GIRO GRADOS
45
90
135
180
225
270
315
360

A
1
1
0
0
0
0
0
1

B
0
1
1
1
0
0
0
0

C
0
0
0
1
1
1
0
0

D
0
0
0
0
0
1
1
1

Figura 18. Esquema general de un motor paso unipolar

V.

Es importante tener en cuenta que cualquier copia


entre grupos o tomado de informes de semestres
anteriores ser calificado con 0.0.
No inunde el informe de teora copiada de la red o
cualquier otra fuente. Referencie la informacin
necesaria para el desarrollo de la prctica.

BIBLIOGRAFA
[1] Barry B. Bray, The Intel Microprocessors,
Fourth Edition, Prentice Hall, pag 412-419.
[2] http://kipirvine.com/asm/debug/Debug_Tutori
al.pdf
[3] http://atc2.aut.uah.es/~rico/docencia/asignat
uras/informatica/est_comp/archivos/Laborato
rio/TUTORIAL%20DEBUG.pdf
[4] http://www.zator.com/Hardware/H1_7_1.htm
[5] http://electriclubs.blogspot.com/2011/02/808
68088-microprocessor-int-21h.html
[6] http://www.monografias.com/trabajos68/deb
ug-ms-dos/debug-ms-dos2.shtml.

PROYECTO INDIVIDUAL

Siguiendo el ejemplo mostrado en esta gua con el


motor paso, cada grupo (mximo 2 personas) debe
proponer una aplicacin propia en la que se haga el
control en Debug de LEDs, displays 7 segmentos,
motores, pantallas LCD o cualquier otro dispositivo
disponible en Proteus.
Esta parte tendr el mayor peso en la calificacin
de la prctica de laboratorio ya que corresponde a
diseo mientras que las etapas anteriores son solo
de carcter comprobacional.

VI.

INFORME DE LABORATORIO

Se debe presentar un informe de la prctica en


formato IEEE de mximo 6 pginas, en el que se
presente el anlisis de resultados y observaciones
de la parte comprobacional y todo lo relativo al
diseo del ejercicio propuesto por cada grupo.

Profesor: Ing. Wilson Javier Prez H Segundo Semestre de 2013

También podría gustarte