Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia 7
Guia 7
Guía 7 1
Facultad: Ingeniería.
Escuela: Electrónica.
Asignatura: Microprocesadores.
Lugar de ejecución: Microprocesadores (Edificio 3, 2da
planta).
PUERTO PARALELO.
Objetivos específicos
• Transferir datos por medio del puerto paralelo utilizando un lenguaje de bajo nivel. (Lenguaje
ensamblador auxiliándose del macroensamblador MASM)
Materiales y equipo
Introducción Teórica
Todo sistema para el procesamiento de datos se encuentra comunicado con los dispositivos externos a
través de los puertos. La arquitectura del procesador 8086 determina una cantidad de hasta 65,536
puertos, sin embargo solo se usan 1024. Las instrucciones que utiliza el CPU para comunicarse con los
puertos son IN y OUT. La primera permite transferir un valor desde un puerto específico hasta el registro
AX o AL y la segunda en viceversa. Siempre se usa el registro AX (acumulador) en las operaciones con los
puertos (ya sea que la operación sea de lectura o escritura).
También el BIOS permite usar todos los puertos paralelos, LPT1, LPT2, y LPT3. Para usar el servicio de
estos puertos, se coloca el número de función dentro del registro AH y el código correspondiente al
puerto paralelo dentro del registro DX. El valor 0 corresponde al LPT1, 1 al LPT2, y 2 al LPT3.
2 Microprocesadores. Guía 7
Las funciones de la BIOS no serán profundizadas en esta práctica, si necesita mayor información consulte
la bibliografía presentada al final.
El puerto paralelo consta de 8 líneas de salida, que no pueden ser seteados como entradas, además de 5
entradas de control estando uno de estos invertido, y 4 salidas estando tres invertidas las cuales son de
colector abierto por lo cual pueden manejar mayor corriente que las demás terminales (estas 4 salidas
pueden ser utilizadas también como entradas por lo que usted puede tener hasta 9 terminales de entrada
si las combina con las entradas de control)
Registro de datos (8 pines de salida para los bits de datos (D0 – D7 Direcciones: 378))
Registro de estado (5 pines de entrada (uno invertido) para acceder al estado del puerto.(S3 – S7
Direcciones-:379))
Registro de control (4 pines de salida o entrada (tres invertidos) para acceder al control del
puerto. (C0 – C3 Direcciones:37A))
Figura 1.
Procedimiento
2) Tenga presente dónde se ubican las líneas de datos, refiérase a la Figura 1 de la introducción
teórica. (D0-D7 que son salidas y están en la dirección 0378h)y las líneas de estado (S3-S7
que se utilizan como entradas y están en la dirección 0379h)
3) Conecte las líneas de salida del puerto paralelo (D0 a D7) al buffer 74244 y del buffer a los 8
leds del modulo IDL-800 o de las tarjetas de leds (las resistencias están internamente
conectadas). No olvide conectar la tierra del puerto a la tierra de la fuente (Ver Figura 2), deje
espacio suficiente en la breadboard para armar el circuito de la parte III
Figura 2
4) Digite y guarde el siguiente programa recordando que el nombre debe poseer extensión .asm
(Este programa también lo necesitará para la guía 9)
.model small
.stack
.data
etiq1 db 0Dh,0Ah,'Presione una tecla para continuar$'
.code
mov ax,@data
mov ds,ax
mov bl,01h
sigue:
mov al,bl
mov dx,0378h
4 Microprocesadores. Guía 7
out dx,al
lea dx,etiq1
mov ah,09h
int 21h
mov ah,01
int 21h
inc bl
cmp bl,09h
jz final
loop sigue
final:
mov ax, 4c00h
int 21h
end
5) Compile el programa con el comando “masm” desde el prompt de MS-DOS.
7) Ejecute el programa poniendo el nombre del archivo en el prompt (no hay necesidad de
escribir la extensión .exe).
10) Conecte los switches del módulo IDL-800 o de la tarjeta con leds al buffer 74244 y del buffer
a las líneas de estado y control como se muestra en la Figura 3 (las resistencias de 4.7 KΩ
están internamente conectadas).
Microprocesadores. Guía 7 5
Figura 3.
.model small
.stack
.data
etiq1 db '-presione 1 para salir o cualquier tecla para continuar',0Dh,0Ah,'$'
.code
mov ax,@data
mov ds,ax
otro:
mov dx, 0379h
in al,dx
and al,078h
mov cl,03h
shr al,cl
cmp al,09h
jg letras
add al,30h
print:
mov dl,al
mov ah,02h
6 Microprocesadores. Guía 7
int 21h
lea dx,etiq1
mov ah,09h
int 21h
mov ah,01h
int 21h
cmp al,31h
jz fin
jmp otro
letras:
mov bl,0Ah
lazo:
cmp al,bl
jz salto
inc bl
jmp lazo
salto:
add al,37h
jmp print
fin:
mov ax,4c00h
int 21h
end
________________________________________________________________________________
________________________________________________________________________________
13) Modifique el circuito de la Figura 3 como se muestra en la Figura 4, tenga presente dónde se
ubican las líneas de datos, refiérase a la Figura 1 de la introducción teórica. (D0-D7 que son
salidas y están en la dirección 0378h), las líneas de estado (S3-S7 que se utilizan como
entradas y están en la dirección 0379h) y las líneas de control (C0-C3 que para este caso se
utilizarán como entradas y están en la dirección 037Ah); observe también que S7, C3, C1 y
C0 son negadas, tome esto en cuenta para poder interpretar de manera correcta el programa.
Microprocesadores. Guía 7 7
Figura 4
.model small
.code
mov ax,@data
mov ds,ax
inicio:
mov dx,0379h
in al,dx
and al,0f8h
xor al,80h
mov bl,al
mov dx,037ah
in al,dx
and al,07h
xor al,03h
or al,bl
mov bl,al
and al,0fh
mov cl,04h
shr bl,cl
8 Microprocesadores. Guía 7
cmp al,bl
ja mayor
mov al,bl
mayor: call presenta
sigue: mov ah,06h
mov dl,0ffh
int 21h
cmp al,00
jnz fin
jmp inicio
fin: mov ax,4c00h
int 21h
presenta:
mov dx,0378h
out dx,al
mov al,00
mov cx,00
ret
.data
.stack
end
15) Active uno por uno los switches y observe qué sucede en los leds
17) Ponga comentarios a las instrucciones del programa para identificar cómo hace su función
Análisis de Resultados
1. ¿Diría usted que las salidas de los pines del puerto paralelo son enganchadas?
2. Explique la operación de todos los programas.
3. Diseñe un programa en macroensamblador que presente un menú de dos opciones:
a) Que saque por el puerto paralelo un conteo ascendente y repetitivo desde 0 a FF, y que
finalice al presionar otra tecla.
b) Que saque por el puerto paralelo un conteo descendente y repetitivo desde FF a 0 y
que finalice al presionar otra tecla.
4. Presente lo que se le pidió en el paso 17 del procedimiento.
Investigación Complementaria
• Investigue todas las direcciones que pueden acceder al puerto paralelo en una PC.
• Investigue en qué consiste y como se usa el modo EPP.
• Cuáles son las señales que intercambian el puerto paralelo de la PC y el impresor.
Explique porque se pueden utilizar las líneas de control y estado del puerto paralelo como líneas
de entradas de datos.
Bibliografía
Hoja de cotejo: 7
EVALUACION