Documente Academic
Documente Profesional
Documente Cultură
Datos del equipo Integrantes: Rosario Jimnez Aguijo Viviana Montelongo Karla Romo Garca 10231021 10231649 10231161
OBJETIVO:
DISEAR UN SEMAFORO.
Material
Cantidad 1 1 8
Marco terico
Un semforo es un circuito que realizaba las combinaciones con nmero binario este utilizaba led de colores dos verdes, dos rojos, dos amarillos y dos peatonales.
Desarrollo
Esta prctica se realizo por medio del puerto paralelo y en una tabla protoboard, en esta prctica tambin se utilizo cdigo el cual se ejecuto en la computadora.
La foto va aqu
CONCLUCCIONES: En esta prctica realizamos operaciones en nmeros binarios en los cuales cambiaban los colores de los led y utilizamos el cdigo el cual se ejecutaba en la computadora para poder realizar las combinaciones de los led.
Cdigo:
Page 60,132 Title salidas ;<---------------------------------------------------------------------> pila segment para stack 'stack' db 32 dup('pilapila') pila ends ;<---------------------------------------------------------------------> dato SEGMENT para 'data' cont db 00 dato ends ;<---------------------------------------------------------------------> codigo segment para 'code' assume cs:codigo, ds:dato, es:dato, ss:pila .386 inicio proc far push ds sub ax,ax
;----la comparacion se realiza con un numero equivalente que equivale al tiempo deseado para que los focos esten encendidos ; la comparacion con 99 hexadecimal equivale a 3 segundos de duracion, con 33 hexadecimal equivale a 1 segundo de duracion mov cont,cl cmp cont, 099h 99 en hexadecimal je reinicio0 reinicio0 pop dx pop ax mov cl, cont jmp seg0 ;se mueve el contenido del registro a cont ;se efectua una comparacion de contador con ;en caso cumplirse la comparacion brinca al bloque
;se recupera el valor de dx en pila ;se recupera el valor de ax en pila ;se guarda cnt en el regitro c ;se repite el ciclo
;se reinicia el conteo y pasa al siguiente bloque reinicio0: mov cx, 00 jmp seg3
;-----Todos los bloques son similares, solo cambia el dato que se enviara y el lapso del conteo ;--------Usando ;--------mov ah,00 ;--------mov al,161 dato que se enviara por el puerot en decimal ;--------mov dx,378h se define la direccion del puerto ;--------out dx,al seg3: mov ah,00 mov al,12h int 10h push ax
mov ah,00 mov al,36 mov dx,378h out dx,al mov cont,cl cmp cont, 033h je reinicio5 pop dx pop ax mov cl, cont jmp seg5 reinicio5: mov cx, 00 jmp seg6 seg6: mov ah,00 mov al,12h int 10h push ax push dx inc cx mov ah,00 mov al,164 mov dx,378h out dx,al mov cont,cl cmp cont, 033h je reinicio6 pop dx pop ax mov cl, cont jmp seg6 reinicio6: mov cx, 00 jmp seg7 seg7: mov ah,00 mov al,12h int 10h push ax push dx inc cx mov ah,00
mov cont,cl cmp cont, 033h je reinicio11 pop dx pop ax mov cl, cont jmp seg11 reinicio11: mov cx, 00 jmp seg12 seg12: mov ah,00 mov al,12h int 10h push ax push dx inc cx mov ah,00 mov al,24 mov dx,378h out dx,al mov cont,cl cmp cont, 033h je reinicio12 pop dx pop ax mov cl, cont jmp seg12 reinicio12: mov cx, 00 jmp seg13 seg13: mov ah,00 mov al,12h int 10h push ax push dx inc cx mov ah,00 mov al,88 mov dx,378h out dx,al
mov ah,00 mov al,03 int 10h ;<---------TERMINA EL PROGRAMA-----------------------------------------> ret inicio endp codigo ends end inicio