Sei sulla pagina 1di 5

Hamilton Acosta Pineda Rubn Castilla Romero Proyecto integrador 1

En el siguiente proyecto se desea crear un programa con el cual podamos simular el lanzamiento de un cohete, con estndares y pautas dadas, entre las cuales se requiere que el programa maneje los tiempos necesarios (en minutos) para cada una de las secuencias del procedimiento de lanzamiento. Para esto se creara un programa de Z-80 en el cual utilizaremos todas las herramientas dadas en la clase, para realizar su diseo; este se har en el Simulador ide del Z-80 y debe cumplir con los tiempos estipulados as como tambin mostrar al usuario en que momento del proceso se encuentra el lanzamiento.

Planteamiento del problema:


se pide desarrollar un dispositivo temporizador para el conteo regresivo de lanzamiento de un cohete, este debe ser desarrollado en el software de simulacin Z80 IDE, el algoritmo a desarrollar debe cumplir con los siguientes requisitos: Emita una seal en los instantes:

10:00:00 07:00:00 06:00:00 04:00:00 03:00:00 02:00:00 00:00:00

Minutos: Empieza la cuenta. Minutos: Se transfiere potencia al cohete. Minutos: Se activa enfriamiento de a bordo. Minutos: Transferencia a la computadora de a bordo. Minutos: Empieza la cuenta de disparo del fusible. Minutos: Se quita el cable externo. Minutos: Disparo.

Luego de esto el algoritmo debe ser capaz de contar por lo menos 20 minutos ms adems debe mostrar el temporalizado con el siguiente formato: mm:ss.ds.

Planteamiento de alternativas de solucin:


Para resolver el problema se plantearon diversas maneras en las cuales se podra realizar dicho lanzamiento pero despus de realizarlas y comprobar su ineficiencia o lo ajadas que estaban de los propuestos planteados al principio se decidi realizar una serie de bucles y subrutinas las cuales controlaran el tiempo y las banderas necesarias para mostrar dicho desempeo, en el proceso de

todo esto nos dimos cuenta que no siempre es la opcin ms compleja o la ms ligera la que al final es la ms efectiva.

Diagramas de bloques

INICIO

B=7 C=3 Subrutina 1 minuto CALL Subrutina 1 minuto DEC B C=2

NO

C=0?
CALL Subrutina 1 minuto

SI
DEC B

NO

C=0?

CALL Subrutina 1 minuto LD E=0 C=C8 H=00

DEC B C=2

CALL Subrutina decima de minuto CALL Subrutina 1 minuto INC E DEC C

NO

C=0?

DEC B

NO

C=0?

Fin

CALL Subrutina 1 minuto

Subrutina 1 minuto

Subrutina decima de minuto L=15

L=D4

DEC L

DEC L

NO NO L=0? L=0?

Fin

Fin

Algoritmo de solucin:
org 0000h LD B,07H; Indica la ultima accion realizada LD C,03H; LA PRIMERA FASE DURA 3 MINUTOS EMPIEZA: CALL unminuto DEC C JR NZ, EMPIEZA ; este es el condicional si C es diferente de 00h vuelve a empieza y arranca la subrutina de 1 minutos DEC B

PCOHETE:

CALL unminuto ; potencia al cohete dura un solo minuto LD C,02H ; DOS MINUTOS DEC B

ENFRIAMIENTO: CALL unminuto; COMIENZA ENFRIAMIENTO DEC C JR NZ, ENFRIAMIENTO DEC B TRANSFER: CALL unminuto DEC B CUENTADISPARO: CALL unminuto DEC B LD C,02H CABLEEXTER: CALL unminuto DEC C JR NZ, CABLEEXTER DEC B DISPARO: LD E,00H LD C,0C8H a 20 min LD H,00H VEINTEMIN: CALL decimminuto ;C8 equivale a 200, premite realizar deciminuto 200 veces que equivale

INC E DEC C JR NZ, VEINTEMIN end

unminuto: LD L, 0D4H ;UN CONTADOR DE 202 INSTRUCCION EQUIVALANTES A UN MINUTO conteo: DEC L JR NZ, conteo RET end decimminuto: LD L, 015H ;UN CONTADOR DE 21 INSTRUCCION EQUIVALANTES A UNA DECIMA DE MINUTO conteo1: DEC L JR NZ, conteo RET

Potrebbero piacerti anche