Sunteți pe pagina 1din 9

[REPORTE DE PRACTICA] 28 de mayo de 2012

INSTITUTO TECNOLGICO SUPERIOR DE LERDO


Prctica: SEMAFORO

Datos del equipo Integrantes: Rosario Jimnez Aguijo Viviana Montelongo Karla Romo Garca 10231021 10231649 10231161

Grupo: Carrera: Materia: Titular de la materia:

4B Ingeniera en Informtica Arquitectura de computadoras M.C. Luis Enrique Zapata Valenzuela

[REPORTE DE PRACTICA] 28 de mayo de 2012

OBJETIVO:
DISEAR UN SEMAFORO.

Material

Cantidad 1 1 8

Material Tablilla de pruebas (Protoboard) Cable Paralelo (LPT) Leds

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.

[REPORTE DE PRACTICA] 28 de mayo de 2012

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

[REPORTE DE PRACTICA] 28 de mayo de 2012


push ax mov ax,dato mov ds,ax mov es,ax ;<----------PRINCIPIA EL PROGRAMA--------------------------------------> mov cx,00 ;Se inicia cx con cero seg0: mov ah,00 ;modo de video mov al,12h ;grafico 640*480 int 10h ;funcino 10h, servicio och push ax push dx inc cx mov ah,00 mov al,161 decimal mov dx,378h out dx,al ;se define la direccion del puerto ;se envia el dato por el puerto ;Se guarda el valor de ax en pila ;se guarda el valor de dx en pila ; se incrementa el registro cx

;dato que se enviara por el puerot en

;----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

[REPORTE DE PRACTICA] 28 de mayo de 2012


push dx inc cx mov ah,00 mov al,160 mov dx,378h out dx,al mov cont,cl cmp cont, 033h je reinicio3 pop dx pop ax mov cl, cont jmp seg3 reinicio3: mov cx, 00 jmp seg4 seg4: mov ah,00 mov al,12h int 10h push ax push dx inc cx mov ah,00 mov al,161 mov dx,378h out dx,al mov cont,cl cmp cont, 033h je reinicio4 pop dx pop ax mov cl, cont jmp seg4 reinicio4: mov cx, 00 jmp seg5 seg5: mov ah,00 mov al,12h int 10h push ax push dx inc cx

[REPORTE DE PRACTICA] 28 de mayo de 2012

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

[REPORTE DE PRACTICA] 28 de mayo de 2012


mov al,82 mov dx,378h out dx,al mov cont,cl cmp cont, 099h je reinicio7 pop dx pop ax mov cl, cont jmp seg7 reinicio7: mov cx, 00 jmp seg10 seg10: mov ah,00 mov al,12h int 10h push ax push dx inc cx mov ah,00 mov al,80 mov dx,378h out dx,al mov cont,cl cmp cont, 033h je reinicio10 pop dx pop ax mov cl, cont jmp seg10 reinicio10: mov cx, 00 jmp seg11 seg11: mov ah,00 mov al,12h int 10h push ax push dx inc cx mov ah,00 mov al,82 mov dx,378h

[REPORTE DE PRACTICA] 28 de mayo de 2012


out dx,al

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

[REPORTE DE PRACTICA] 28 de mayo de 2012


mov cont,cl cmp cont, 033h je reinicio13 pop dx pop ax mov cl, cont jmp seg13 reinicio13: mov cx, 00 jmp seg0 salir: pop dx pop ax

mov ah,00 mov al,03 int 10h ;<---------TERMINA EL PROGRAMA-----------------------------------------> ret inicio endp codigo ends end inicio

S-ar putea să vă placă și