proyecto display-7seg (3)
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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