+ All Categories
Home > Documents > Proyecto Display-7seg (3)

Proyecto Display-7seg (3)

Date post: 09-Jul-2015
Category:
Upload: tecumce-gomez-perez
View: 671 times
Download: 0 times
Share this document with a friend
22
 Estructura y Programación de Computadoras Proyecto: Integrantes Argueta Cortes Jairo Isacar Mendoza Galicia Fco. Javier Ramírez Mora Sandra  Junio de 2008 Programa en lenguaje ensamblador que recibe el nombre de un archivo para leer carácter a carácter y desplegarlos en un display de 7 segmentos.  Autónoma de México Facultad de Ingeniería
Transcript
Page 1: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 1/22

 

Estructura y Programación deComputadoras

Proyecto:

Integrantes

Argueta Cortes Jairo IsacarMendoza Galicia Fco. Javier

Ramírez Mora Sandra

 Junio de 2008

Programa en lenguajeensamblador que recibe el

nombre de un archivo para leercarácter a carácter y desplegarlos

en un display de 7 segmentos.

 Autónoma de México

Facultad de Ingeniería

Page 2: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 2/22

 

INDICEPÁGINA

OBJETIVO…………………………………………………………

………………3

PLANTEMAINETO DELPROYECTO………………………………………….3

MATERIAL………………………………………………………

………………...4

CONSIDERACIONESPREVIAS………………………………………………..6DESCRIPCIONDEL CONECTOR FISICO

ACCESO ALPUERTO…………………………………………………………..

7

DESARROLLO……………………………………………………

………………9MONTAJE DEL CIRCUITO

DIAGRAMA DE FLUJOCODIGO EN LENGUAJE ENSAMBLADOR

RESULTADOS……………………………………………………

…………..…20FOTOS Y VIDEO

2 | P á g i n a

Page 3: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 3/22

 

CONCLUSIONES………………………………………………

………….……21

OBJETIVO

El objetivo de nuestro proyecto es la utilización y manejo de un display de siete

segmentos vía puerto paralelo de una computadora, dicho manejo de este

hardware se tendrá que lograr utilizando lenguaje ensamblador el cual hemos

aprendido en el transcurso del semestre, también mediante éste proyecto

queremos hacer notar el gran uso que puede tener el puerto paralelo de una

computadora, el cual cada vez está siendo menos utilizado e incluso eliminado

de las computadoras personales de hoy en día.

En cuanto al funcionamiento del display de siete segmentos, se pretende

utilizarlo para mostrar todas las letras posibles del alfabeto español, dichas

letras serán leídas de un archivo y mandadas al display vía el puerto paralelo,

con un pequeño retardo para mejorar la visualización de las letras leídas.

En lo que concierne a la lectura del archivo y el envío de los datos al display vía

el puerto paralelo, se pretenderá lograrlo mediante el uso del lenguaje

ensamblador utilizando los recursos necesarios para lograrlo, tales como el

manejo de archivos, macros, procedimientos, notación, sintaxis y lo que es másimportante el manejo de puertos.

Cabe hacer notar que entre la parte lógica y física de una computadora hay

una relación muy estrecha de la que haremos uso para lograr nuestro objetivo

y aprovecharla también para mostrar los conocimientos adquiridos durante el

3 | P á g i n a

Page 4: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 4/22

 

curso de Estructura y Programación de Computadoras para superar los

contratiempos que puedan resultar durante la elaboración del proyecto.

PLANTEAMIENTO DEL PROYECTODISPLAY DE 7 SEGMENTOS

Se había planteado en el equipo el trabajar en el montaje de un circuito queusara un mínimo de componentes y proporciona un test funcional de 8 bits.Cada bit de la entrada podía ser individualmente controlado y visualizado enlos LED de salida. Tomando en cuenta los diodos LED que actúan en unDisplay, estos se alimentan únicamente con la corriente proporcionada por laspropias salidas del puerto paralelo, por lo tanto se tendría que alimentar losLED y utilizar la corriente absorbida para iluminarlos, pero el conector noproporciona una señal de alimentación (Vcc) suficiente, de modo que se

necesitaría una fuente externa, ante tal necesidad se pensó en sustituir en losmontajes anteriores el sistema de visualización mediante 8 diodos LED por undisplay numérico de 7 segmentos más un punto decimal. El circuito resulta así más compacto y seguro en cuanto al cuidado del puerto paralelo y por lo tantode la tarjeta madre de nuestra computadora.

Figura 1.

Ahora bien tomando en cuenta, si se trata de un display de ánodo común hayque alimentar con Vcc= +5 V las dos líneas señaladas como comunes en lafigura, y es preciso poner a tierra la línea correspondiente al segmento que sequiere iluminar. Si se trata de un display de cátodo (que sería el objeto de

trabajo) común, hay que alimentar con +5 V el segmento que se deseailuminar y poner a tierra las dos líneas comunes.

Así, en un display  de cátodo común, las líneas 1-8 se pueden conectardirectamente a las líneas de datos del puerto (pines 2-9 del conector DB25), ylas dos líneas comunes se pueden conectar a cualquiera de las patillas detierra del conector, por ejemplo, la 25.

4 | P á g i n a

Page 5: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 5/22

 

MATERIAL

1.- Protoboard 

2.-Un cable extensión de puerto paralelo (opcional).

3.-Cable plano de 14 o 16 hilos

4.- Display de 7 segmentos de cátodo común.

5.- Opcional. (1)Conector de cableplano a protoboard, (1)conector macho DB25para cable plano.

5 | P á g i n a

Page 6: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 6/22

 

6.- Y por consiguiente la implementación del código en lenguaje ensamblador,el cual consta de leer un archivo y desplegar carácter por carácter a través deldisplay, tomando en cuenta que no se podría visualizar caracteres como “M”,“X”, etc.

CONSIDERACIONES PREVIAS

Hace años, IBM diseñó el puerto paralelo para manejar impresoras desde sugama de microcomputadores PC/XT/AT. Un conector estándar macho de 25pines aparecía en la parte trasera del PC con el solo propósito de servir de

interfaz con la impresora. El sistema operativo DOS cargado en dichos PCsoporta hasta tres puertos paralelos asignados a los identificadores LPT1, LPT2y LPT3, y cada puerto requiere tres direcciones consecutivas del espacio de E/S(entrada-salida) del procesador para seleccionar todas sus posibilidades.

Desde el punto de vista del hardware, el puerto consta de un conector hembraDB25 con doce salidas latch (poseen memoria/buffer intermedio) y cincoentradas, con ocho líneas de tierra.

Desde el punto de vista del software, el puerto paralelo consta de tres registros (datos, estado y control) de 8 bits cada uno, que ocupan tres direcciones deE/S (I/O) consecutivas de la arquitectura x86.

La función normal del puerto consiste en transferir datos a una impresoramediante 8 líneas de salida de datos, usando las señales restantes comocontrol de flujo. Sin embrago, puede ser usado como un puerto E/S depropósito general por cualquier dispositivo o aplicación que se ajuste a susposibilidades de entrada/salida.

Descripción del conector físico

La conexión del puerto paralelo al mundo exterior se realiza mediante unconector hembra DB25. Observando el conector de frente y con la parte que

tiene mayor número de pines hacia arriba, se numera de derecha a izquierda yde arriba a abajo, del 1 al 13 (arriba) y del 14 al 25 (abajo).

6 | P á g i n a

Page 7: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 7/22

 

En este conector:

• 8 líneas (pines) son para salida de datos (bits de DATOS). Sus valoresson únicamente modificables a través de software, y van del pin 2 (dato0, D0) al pin 9 (dato 7, D7).

• 5 líneas son de entrada de datos (bits de ESTADO), únicamentemodificables a través del hardware externo. Estos pines son: 11, 10, 12,13 y 15, del más al menos significativo.

• 4 líneas son de control (bits de CONTROL), numerados del mássignificativo al menos: 17, 16, 14 y 1. Habitualmente son salidas, aunquese pueden utilizar también como entradas y, por tanto, se puedenmodificar tanto por software como por hardware.

• las líneas de la 18 a la 25 son la tierra.

ACCESO ALPUERTO

7 | P á g i n a

Page 8: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 8/22

 

El puerto paralelo se identifica por su dirección de E/S (entrada/salida, I/O) basey se reconoce en sistemas MS-DOS por el número LPT (lp en Unix/Linux).Cuando arranca la máquina, la BIOS (Basic Input Output System) chequeadirecciones específicas de E/S en busca de puertos paralelos y construye unatabla de las direcciones halladas en la posición de memoria 40h:8h (o0h:0408h) .

Esta tabla contiene hasta tres palabras de 16 bits, cada palabra con el bytebajo primero seguido por el byte alto. Cada palabra es la dirección de E/Sbase del puerto paralelo (que denominaremos LPT_BASE en lo sucesivo). Laprimera corresponde a LPT1, la segunda a LPT2 y la tercera a LPT3. Hay queagregar que, en MS-DOS tenemos el dispositivo PRN que es un alias a uno delos dispositivos LPT (generalmente es LPT1, pero se puede cambiar con laorden MODE).

Las direcciones base estándar para los puertos paralelos son:

03BCh • 0378h • 0278h 

Checadas en este orden.

La siguiente tabla muestra, como ejemplo, la memoria en un PC con dospuertos paralelo instalados en las direcciones hexadecimales 378 y 278.

 

IdentificadorDOS

Dirección

Bytebajo

Bytealto

Hexadecimal

Decimal

LPT10000:040

8/978 03 378 888

LPT2 0000:040A/B

78 02 278 632

LPT3 (noinstalado)

0000:040C/D

00 00 0 0

Objeto de Estudio

Registro de datos (D)

El registro de estado se halla en LPT_BASE. Se puede leer y escribir. Escribir undato en el registro causa que dicho dato aparezca en los pines 2 a 9 del

8 | P á g i n a

Page 9: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 9/22

 

conector del puerto. Al leer el registro, se lee el último dato escrito (NO lee elestado de los pines; para ello hay que usar un puerto bidireccional).

.

DESARROLLO

Montaje del circuito

9 | P á g i n a

Page 10: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 10/22

 

El circuito se puede montar sobre una placa tipo "protoboard" y utilizar cableplano para realizar las conexiones necesarias entre los componentes.

Las entradas/salidas del circuito hacia el PC se pueden reunir en un conectorDB25 macho unido a la placa por líneas de cable rígido o de cable plano. A suvez, el conector macho se puede unir directamente al conector hembra del PCmediante un cable de extensión paralelo, lo que normalmente resulta máscómodo para acceder a la parte trasera del PC donde se sitúa el conector

hembra.

Para conectar el circuito al puerto apáguese en primer lugar la computadora.Conéctese el cable al puerto paralelo asegurándose que el conector esté firmeen su lugar. Aliméntese el circuito (si procede) y por último enciéndase lacomputadora. Por regla general, el circuito de restablecimiento de lacomputadora coloca inicialmente en las líneas de datos del puerto paralelo unvalor igual a 0x0h. Por tanto, todos los diodos deben estar apagados una vez

10 | P á g i n a

Page 11: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 11/22

 

que la computadora ha terminado su proceso de arranque. Sin embargo, sialgún diodo permanece encendido esto no indica necesariamente un fallo, y esresponsabilidad del software de control que se escriba inicializarlo con un valoradecuado antes de realizar cualquier otra operación.

Diagrama de Flujo

11 | P á g i n a

Page 12: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 12/22

 

Programa en Lenguaje Ensamblador

12 | P á g i n a

INICIO

PIDE NOMBRE DELARCHIVO

ABREARCHIVO

LEE ARCHIVO

DL=NUME

RO

DL=LETRA

MAYUSCUL

A

DL=LETR

AMINUSC

ULA

IMPRME:

NUM/MAY/MIN

DL=1AH FIN

LEE ARCHIVO

 

S

i

S

i

S

i

S

i

Page 13: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 13/22

 

 ;------------------------------------------------------------------------------;FILE: DISPLAY.ASM

;Programa en L. ensamblador que lee un archivo y

;despliega caracter a caracter en un display de 7 segmentos de cátodo común. .

;;ESTRUCTURA Y PROGRAMACION DE COMPUTADORAS

;GRUPO: 1

;

;INTEGRANTES:

;ARGUET A CORTES JAIRO I.

;GALICIA MENDOZA FCO. JAIVER

;RAMIREZ MORA SANDRA

;------------------------------------------------------------------------------

.MODEL SMALL ;Directiva, define el tamaño en memoria

.STACK ;Asigana tamaño al segmento de Pila

.DATA ;Reserva un espacio para DS

; _3

; 2 | _1 | 4

; 5 | _ | 7

; 6 ° 8

; DEclaracion de los segmentos para imprimir en display

; NUMERACION

; NOMBRE HEX. SEGMENTOS BIN.

CERO EQU 7EH ; ,7,6,5,4,3,2, ,: 01111110B

UNO EQU 48H ; ,7, , ,4, , , : 01001000B

DOS EQU 3DH ; , ,6,5,4,3, ,1: 00111101B

TRES EQU 6DH ; ,7,6, ,4,3, ,1: 01101101B

CUATRO EQU 4BH ; ,7, , ,4, ,2,1: 01001011B

CINCO EQU 67H ; ,7,6, , ,3,2,1: 01100111B

SEIS EQU 77H ; ,7,6,5, ,3,2,1: 01110111B

SIETE EQU 4EH ; ,7, , ,4,3,2,,: 01001110BOCHO EQU 7FH ; ,7,6,5,4,3,2,1: 01111111B

NUEVE EQU 6FH ; ,7,6, ,4,3,2,1: 01101111B

PUNTO EQU 80H ; 8, , , , , , ,,: 10000000B

APAGADO EQU 0H ; , , , , , ,,,,: 00000000B

; ABECEDARIO MAYUSCULAS

AM EQU 5FH ; ,7,,5,4,3,2,1: 01011111B

BM EQU 7FH ; ,7,6,5,4,3,2,1: 01111111B

CM EQU 36H ; ,,6,5,,3,2,,: 00110110B

EM EQU 37H ; ,,6,5,,3,2,1: 00110111B

FM EQU 17H ; ,,,5,,3,2,1: 00010111B

GM EQU 77H ; ,7,6,5,,3,2,1: 01110111B

HM EQU 5BH ; ,7,,5,4,,2,1: 01011011B

IM EQU 48H ; ,7,,,4,,,,: 01001000BJM EQU 68H ; ,7,6,,4,,,,: 01101000B

LM EQU 32H ; ,,6,5,,,2,,: 00110010B

OM EQU 7EH ; ,7,6,5,4,3,2,,: 01111110B

PM EQU 1FH ; ,,,5,4,3,2,1: 00011111B

SM EQU 67H ; ,7,6,,,3,2,1: 01100111B

TM EQU 16H ; ,,,5,,3,2,,: 00010110B

UM EQU 7AH ; ,7,6,5,4,,2,,: 01111010B

; ABECEDARIO MINUSCULAS

AMIN EQU 7DH ; ,7,6,5,4,3,,1: 01111101B

13 | P á g i n a

Page 14: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 14/22

 

BMIN EQU 73H ; ,7,6,5,,,2,1: 01110011B

CMIN EQU 31H ; ,,6,5,,,,1: 00110001B

DMIN EQU 79H ; ,7,6,5,4,,,1: 01111001B

EMIN EQU 3FH ; ,,6,5,4,3,2,1: 00111111B

GMIN EQU 6FH ; ,7,6,,4,3,2,1: 01101111B

HMIN EQU 53H ; ,7,,5,,,2,1: 01010011B

IMIN EQU 40H ; ,7,,,,,,,: 01000000B

LMIN EQU 12H ; ,,,5,,,2,,: 00010010BNMIN EQU 51H ; ,7,,5,,,,1: 01010001B

OMIN EQU 71H ; ,7,6,5,,,,1: 01110001B

RMIN EQU 11H ; ,,,5,,,,1: 00010001B

UMIN EQU 70H ; ,7,6,5,,,,,: 01110000B

NOMARCH DB ? ; A guardar nombre del archivo

HANDLE DW ? ; Manipulador

NOMBRE DB 'NOMBRE DEL ARCHIVO A LEER:',10D,13D,'$'

OEMSG DB 'NO SE PUEDE ABRIR$'

RFMSG DB 'NO SE PUEDE LEER$'

CFMSG DB 'NO SE PUEDE CERRAR$'

FBUFF DB ?

B DB ?

 

.CODE

DESP MACRO A ;Macro que despliega caracter en display

MOV DX,378H ;Direccion del puerto paralelO en DX

MOV AL,A ;Se posiciona en AL lo que se va enviar

OUT DX,AL ;Envio de datos a tráves OUT

CALL DELAY ;Temporizador

ENDM ;Fin de macro

 

INICIO: ;Define etiqueta de inicio

MOV AX,@DATA ;Referencia al registro de datos

MOV DS,AX ;Pasa de AX a DS

CALL PIDE ;Llamada al proceso para pedir nombre del archivo

JC FIN ;En caso de no poder pedir nombre salta a la etiqueta FIN

CALL ABREARCH ;Llamada al proceso para abrir archivo

JC FIN ;En caso de no poderse abrir salta a la etiqueta FIN

CALL LEEARCH ;Llamada al preoceso para leer archivo

JC FIN ;En caso de no poderse leer salta a la etiqueta FIN

CALL CIERRARCH ;Llamada al preoceso para cerrar archivo

JC FIN ;En caso de no poderse cerrar salta a la etiqueta FIN

FIN:

MOV AH,4CH ;Interrupcion, devuelve el control al usuario

INT 21H

DELAY PROC ;Temporizador

MOV CX,54C0H ;4FCOH

D1:

PUSH CX

D2:

LOOP D2

POP CX

LOOP D1

RET

DELAY ENDP

14 | P á g i n a

Page 15: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 15/22

 

 

PIDE PROC ;Proceso que pide el nombre del archivo a leer

LEA DX,NOMBRE ;Pasa a DX la direccion efectica del la cadena a imprimir

MOV AH,9H ;Mensaje que solicita ingresar el nombre del archivo a leer

INT 21H

MOV SI,0 ;Inicializa SI

NEXT:

MOV AH,1H ;Entrdada por tecladoINT 21H

MOV NOMARCH[SI],AL;Guarda caracter a caracter en la variable NOMARCH

INC SI ;Incrementa SI

CMP AL,13D ;Compara si AL es igual a [ENTER] ó 13D

JNE NEXT ;Si no es igual se repite el ciclo NEXT

DEC SI ;Decrementa SI

MOV NOMARCH[SI],0 ;Implementacion de cadena ASCII Z

RET ;Regresa a donde fue llamado el proceso

PIDE ENDP ;Fin de proceso PIDE

 

ABREARCH PROC ;Proceso que realiza la apertura del archivo

MOV AH,3DH ;Abre archivo. DS:DX;apunta al archivo.AL=0 (sólo lectura)

;1 (sólo escritura) ó 2 (escritura/lectura)

LEA DX,NOMARCH ;Da la direccion efecctia del archivo

MOV AL,0 ;Atributo del archivo: 0 = Archivo de sólo lectura

INT 21H

JC ERRORABR ;Salto en caso de no poderse abrir

MOV HANDLE,AX ;Uso del manipulador para guardar las propiedades del archivo

RET ;Regresa el control a donde fue llamdo el proceso

ERRORABR:

LEA DX,OEMSG ;Pasa a DX la direccion efectica del la cadena a imprimir

MOV AH,9H ;Mensage de error de apertura

INT 21H

RET ;Regresa a donde fue llamado el proceso

ABREARCH ENDP ;Fin del proceso ABREARCH

 

LEEARCH PROC ;Proceso que realiza la lectura de archivo especificado 

MOV AH,3FH ;Lectura desde archivo. BX:Manejador de archivo

;CX: numero de bytes a leer

;DS=DX=buffer a ser cargado AX:numero de bytes leidos

MOV BX,HANDLE ;Manejador de archivo

LEA DX,FBUFF ;Buffer a ser cragado

MOV CX,1 ;Numro de bytes a leer

INT 21H

JC ERRORLEE ;Salto para en caso de no poderse leer

CMP AX,0 ;Bytes leidos=0?

JZ EOFF ;Si es igual a cero salta la etiqueta EOFF

MOV DL,FBUFF ;Pasa a DL lo que hay en el bufer

CMP DL,1AH ;Verifica si es fin de archivo

JZ EOFF ;Si es igual salta la etiqueta EOFF 

MOV AH,2H ;Imprime caracteres leidos en pantalla

INT 21H

 

CALL COMPARANUM ;Llama al Proceso COMPARA

CALL COMPARAMAY ;Llama al Proceso COMPARA

CALL COMPARAMAY2

CALL COMPARAMIN ;Llama al Proceso COMPARA

CALL COMPARAMIN2

15 | P á g i n a

Page 16: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 16/22

 

JMP LEEARCH ;Repite el ciclo para pedir el siguiente caracter

ERRORLEE:

LEA DX,RFMSG

MOV AH,9H ;Mensaje de error de lectura

INT 21H

EOFF:

DESP APAGADO ;Lamada al MACRO DESP para apagar display

RET ;Regresa a donde fue llamado el procesoLEEARCH ENDP ;Fin del proceso LEEARCH

CIERRARCH PROC ;Proceso que cierra el archivo

MOV AH,3EH ;Cierra manejador de archivo. BX; manejador de archivos.

MOV BX,HANDLE ;Manipulador en BX

INT 21H

RET ;Regresa a donde fue llamado el proceso

CIERRARCH ENDP ;Fin del proceso CIERRARCH

 

COMPARANUM PROC

 

CMP DL,'9' ;Compara si el carater que hay en DL es igual a su

;correspondiente en el abecedario o numero decimal.

JE IMPRIME9 ;Si es igual Salta a la Etiqueta Correspondiente, si no

;sigue comparando

CMP DL,'8'

JE IMPRIME8

CMP DL,'7'

JE IMPRIME7

CMP DL,'6'

 JE IMPRIME6

CMP DL,'5'

 JE IMPRIME5

CMP DL,'4'

 JE IMPRIME4

CMP DL,'3'

 JE IMPRIME3

CMP DL,'2'

 JE IMPRIME2CMP DL,'1'

 JE IMPRIME1

CMP DL,'0'

 JE IMPRIME0

CMP DL,'.'

 JE IMPRIMEPUN

RET ;Regresa a donde fue llamado el proceso,solo

;en caso de no cumplirse ninguna comparacion

 

IMPRIME9:

DESP NUEVE ;Llamada al MACRO DESP para imprimir caracter en el dispaly

  JMP LEEARCH ;Salata para leer nuevo caracter

IMPRIME8:

DESP OCHO JMP LEEARCH

IMPRIME7:

DESP SIETE

 JMP LEEARCH

IMPRIME6:

DESP SEIS

 JMP LEEARCH

IMPRIME5:

DESP CINCO

 JMP LEEARCH

16 | P á g i n a

Page 17: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 17/22

 

IMPRIME4:

DESP CUATRO

 JMP LEEARCH

IMPRIME3:

DESP TRES

 JMP LEEARCH

IMPRIME2:

DESP DOS JMP LEEARCH

IMPRIME1:

DESP UNO

 JMP LEEARCH

IMPRIME0:

DESP CERO

 JMP LEEARCH

IMPRIMEPUN:

DESP PUNTO

 JMP LEEARCH

 

COMPARANUM ENDP

COMPARAMAY PROC

CMP DL,'A'

JE IMPRIMEA

CMP DL,'B'

JE IMPRIMEB

CMP DL,'C'

 JE IMPRIMEC

CMP DL,'E'

 JE IMPRIMEE

CMP DL,'F'

 JE IMPRIMEF

CMP DL,'G'

 JE IMPRIMEG

CMP DL,'H'

 JE IMPRIMEH

CMP DL,'I' JE IMPRIMEI

CMP DL,'J'

 JE IMPRIMEJ

CMP DL,'L'

JE IMPRIMEL

CMP DL,'O'

JE IMPRIMEO

RET

IMPRIMEA:

DESP AM

JMP LEEARCH

IMPRIMEB:

DESP BM JMP LEEARCH

IMPRIMEC:

DESP CM

JMP LEEARCH

IMPRIMEE:

DESP EM

 JMP LEEARCH

IMPRIMEF:

DESP FM

JMP LEEARCH

17 | P á g i n a

Page 18: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 18/22

 

IMPRIMEG:

DESP GM

 JMP LEEARCH

IMPRIMEH:

DESP HM

JMP LEEARCH

IMPRIMEI:

DESP IM JMP LEEARCH

IMPRIMEJ:

DESP JM

JMP LEEARCH

IMPRIMEL:

DESP LM

 JMP LEEARCH

IMPRIMEO:

DESP OM

JMP LEEARCH

 

COMPARAMAY ENDP

COMPARAMAY2 PROC

CMP DL,'P'

 JE IMPRIMEP

CMP DL,'S'

 JE IMPRIMES

CMP DL,'T'

 JE IMPRIMET

CMP DL,'U'

 JE IMPRIMEU

RET

IMPRIMEP:

DESP PM

 JMP LEEARCH

IMPRIMES:DESP SM

JMP LEEARCH

IMPRIMET:

DESP TM

 JMP LEEARCH

IMPRIMEU:

DESP UM

JMP LEEARCH

COMPARAMAY2 ENDP

COMPARAMIN PROC

CMP DL,'a'

JE IMPRIMEamCMP DL,'b'

JE IMPRIMEbm

CMP DL,'c'

 JE IMPRIMEcm

CMP DL,'d'

 JE IMPRIMEdm

CMP DL,'e'

 JE IMPRIMEem

CMP DL,'g'

 JE IMPRIMEgm

18 | P á g i n a

Page 19: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 19/22

 

CMP DL,'h'

 JE IMPRIMEhm

CMP DL,'i'

 JE IMPRIMEim

CMP DL,'l'

 JE IMPRIMElm

CMP DL,'n'

JE IMPRIMEnmCMP DL,'o'

JE IMPRIMEom

 

RET

IMPRIMEam:

DESP AMIN

JMP LEEARCH

IMPRIMEbm:

DESP BMIN

 JMP LEEARCH

IMPRIMEcm:

DESP CMIN

JMP LEEARCH

IMPRIMEdm:

DESP DMIN

 JMP LEEARCH

IMPRIMEem:

DESP EMIN

JMP LEEARCH

IMPRIMEgm:

DESP GMIN

 JMP LEEARCH

IMPRIMEhm:

DESP HMIN

JMP LEEARCH

IMPRIMEim:

DESP IMIN JMP LEEARCH

IMPRIMElm:

DESP LMIN

JMP LEEARCH

IMPRIMEnm:

DESP NMIN

 JMP LEEARCH

IMPRIMEom:

DESP OMIN

JMP LEEARCH

 

COMPARAMIN ENDP

COMPARAMIN2 PROC

CMP DL,'r'

 JE IMPRIMErm

CMP DL,'u'

 JE IMPRIMEum

RET

IMPRIMEum:

DESP UMIN

19 | P á g i n a

Page 20: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 20/22

 

JMP LEEARCH

IMPRIMErm:

DESP RMIN

 JMP LEEARCH

COMPARAMIN2 ENDP

 

END INICIO ;Fin etiqueta

 

RESUSTADOSFOTOS Y VIDEO.

Supongamos que en el archivo se encuentra la palabra “HOLA”. Una vezcompilado y ejecutado el programa se observara lo siguiente;

C:\>tasm DISPLAY.ASM

C:\>tlink DISPLAY

C:\>DISPLAY

NOMBRE DEL ARCHIVO A LEER:

20 | P á g i n a

Page 21: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 21/22

 

HOLA.TXT

HOLA

Esta es una lista de los caracteres que se pueden imprimir en el display:

0123456789.ABCEFGHIJLOPSTU.abcdeghilnoru...

PARA VER LOS CARATERES ANTERIORES VER EL SIGUIENTE LINK:

VIDEO DISPLAY.3gp

CONCLUSIONES

Al trabajar con un display de 7 segmentos, nos pudimos percatar de la

importancia de tener un buen nivel de conocimiento en lenguaje ensamblador,

ya que para la realización del proyecto hicimos uso de importantes conceptosdel lenguaje, como fueron el manejo de archivos, macros, procedimientos,

notación, y sobre todo del manejo de puertos.

Para el proyecto, también se requirió trabajar con la parte física, esta consistió

en las conexiones necesarias entre la tarjeta, el display y el puerto paralelo.

Durante la realización del proyecto, se presentaron algunos pequeños

inconvenientes. Tal fue el caso de la declaración de las letras del alfabeto, ya21 | P á g i n a

Page 22: Proyecto Display-7seg (3)

5/10/2018 Proyecto Display-7seg (3) - slidepdf.com

http://slidepdf.com/reader/full/proyecto-display-7seg-3 22/22

 

que debido a la forma del display, no fue posible implementar la declaración

para todas las letras, tanto minúsculas como mayúsculas.

En cuanto al código en ensamblador, nos pudimos percatar de que al momento

de hacer la comparación entre las letras leídas del archivo y las declaradas por

los segmentos, para mandarlas a imprimir en el display, no era posible haceruso de un gran número de saltos, por lo cual se decidió fragmentar el

procedimiento de comparación en varios procedimientos más pequeños que

involucraran menos comparaciones.

Dentro del aspecto físico, resultó un poco desfavorable trabajar con el puerto

paralelo, ya que algunas computadoras no lo poseen, por lo cual, fue necesario

trabajar con un equipo que contara con ésta característica.

A pesar de los inconvenientes dados, fue muy interesante trabajar con un

display en el proyecto, ya que resultó muy productivo observar e implementar

un trabajo que involucrara la parte lógica (lenguaje ensamblador) y la parte

física (el display), ya que nos percatarnos de la gran relación y dependencia

que existe entre estas dos partes.

  También es importante señalar que durante la realización este proyecto

pudimos utilizar gran parte de los conocimientos adquiridos durante el curso de

estructuras y programación de computadoras, los cuales, son de gran utilidad

en muchas otras áreas.

22 | P á g i n a


Recommended