Detectando el Mundo Exterior

50
Exper imento 2 Detectando el Mundo Exterior Desafios Por: Ramiro Aduviri Velasco

Transcript of Detectando el Mundo Exterior

Page 1: Detectando el Mundo Exterior

Experimento 2

Detectando el Mundo Exterior

Desafios

Por: Ramiro Aduviri Velasco

Page 2: Detectando el Mundo Exterior

Desafio

1. Escriba un programa (completo, con comentarios) que haga titilar al LED P0 (cada 1/2 segundo), mientras esté presionado el pulsador P2. Cuando el botón no está presionado, el LED P1 está encendido, pero se apaga cuando el LED P0 está titilando.

Page 3: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1 Solo si presionamos

el pulsador…

Page 4: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1 … el LED titilea

Page 5: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1

Page 6: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1

Page 7: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1

Page 8: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1

Page 9: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1

Page 10: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1

Si no presionamos, este LED esta

permenentemente encendido.

Page 11: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 ' hace P0 una salida OUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entrada revisar: ' etiqueta 1OUT0=1 ' LED P0 apagadoOUT1=0 ' LED P1 encendidoIF IN2=0 THEN titilar ' se fija si P2 esta presionado, si lo esta el LED titileaGOTO revisar ' regresa al principio titilar: ' etiqueta 2OUT1=1 ' LED P1 apagadoLOW 0 ' LED P0 encendidoPAUSE 500 ' espera 1/2 segundosHIGH 0 ' LED P0 apagadoPAUSE 500 ' espera 1/2 segundosGOTO revisar ' regresa a la etiqueta 1 FIN

Page 12: Detectando el Mundo Exterior

Desafio

2. Escriba un programa que haga titilar ambos LED (cada 1.2 segundos) cuando cualquier pulsador es presionado. Si ningún pulsador es presionado, los LED están encendidos y si ambos pulsadores son presionados, ambos LED están apagados.

 

Page 13: Detectando el Mundo Exterior

'{$STAMP BS2}x VAR Bity VAR Bit OUTPUT 0 ' Hace P0 una salidaOUTPUT 1 ' Hace P1 una salida OUT0=0 ' LED P0 encendidoOUT1=0 ' LED P1 encendido INPUT 2 ' Hace P2 una entradaINPUT 3 ' Hace P3 una entrada ciclo1: ' Etiquetax=IN2 ' "x" es ahora el pulsador P2y=IN3 ' "y" es ahora el pulsador P3 IF x+y=0 THEN pulso ' se fija si los pulsadores

P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosSi presionamos

cualquier pulsador …

Page 14: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los pulsadores

P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta ciclo2

… los LED titilean

Page 15: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta

ciclo2

Page 16: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta

ciclo2

Page 17: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta

ciclo2

Page 18: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta

ciclo2

Page 19: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los pulsadores

P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta ciclo2

Page 20: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta

ciclo2

Page 21: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta

ciclo2

Page 22: Detectando el Mundo Exterior

IF IN2=0 THEN titilar ' se fija si el pulsador P2 esta presionado

IF IN3=0 THEN titilar ' se fija si el pulsador P3 esta presionado

GOTO ciclo1 ' regresa al principioIF Ix+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionadosIF x+y=1 THEN no_pulso ' se fija si los

pulsadores P2 y P3 no están presionadosGOTO ciclo2 titilar: ' etiquetaHIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundos

LOW 0 ' LED P0 encendidoLOW 1 ' LED P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo2 ' regresa a la etiqueta

ciclo2

Page 23: Detectando el Mundo Exterior

'{$STAMP BS2}x VAR Bity VAR Bit OUTPUT 0 ' Hace P0 una salidaOUTPUT 1 ' Hace P1 una salida OUT0=0 ' LED P0 encendidoOUT1=0 ' LED P1 encendido INPUT 2 ' Hace P2 una entradaINPUT 3 ' Hace P3 una entrada ciclo1: ' Etiquetax=IN2 ' "x" es ahora el

pulsador P2y=IN3 ' "y" es ahora el

pulsador P3 IF x+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionadosSi ambos estanPresionados …

Page 24: Detectando el Mundo Exterior

IF x+y=0 THEN pulso ' se fija si los pulsadores P2 y P3 están presionados

IF x+y=1 THEN no_pulso ' se fija si los pulsadores P2 y P3 no están presionados

GOTO ciclo2 Ciclo2: ' etiquetaIF IN2=0 THEN titilar ' se fija si el pulsador

P2 esta presionadoIF IN3=0 THEN titilar ' se fija si el

pulsador P3 esta presionadoGOTO ciclo1 ' regresa al principio pulso: ' etiquetaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagadoGOTO ciclo1 ' regresa al principio no_pulso: ' etiquetaOUT0=0 ' LED P0 encendidoOUT1=0 ' LED P1 encendidoGOTO ciclo1 ' regresa al principio

… los LED se apagan.

Page 25: Detectando el Mundo Exterior

IF x+y=1 THEN no_pulso ' se fija si los pulsadores P2 y P3 no están presionados

GOTO ciclo2 Ciclo2: ' etiquetaIF IN2=0 THEN titilar ' se fija si el pulsador

P2 esta presionadoIF IN3=0 THEN titilar ' se fija si el

pulsador P3 esta presionadoGOTO ciclo1 ' regresa al principio pulso: ' etiquetaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagadoGOTO ciclo1 ' regresa al principio no_pulso: ' etiquetaOUT0=0 ' LED P0 encendidoOUT1=0 ' LED P1 encendidoGOTO ciclo1 ' regresa al principio

Si ningun pulsador es presionado, los dos led quedan encendidos.

Page 26: Detectando el Mundo Exterior

'{$STAMP BS2}x VAR Bity VAR Bit OUTPUT 0 ' Hace P0 una salidaOUTPUT 1 ' Hace P1 una salida OUT0=0 ' LED P0 encendidoOUT1=0 ' LED P1 encendido INPUT 2 ' Hace P2 una entradaINPUT 3 ' Hace P3 una entrada ciclo1: ' Etiquetax=IN2 ' "x" es ahora el

pulsador P2y=IN3 ' "y" es ahora el

pulsador P3 IF x+y=0 THEN pulso ' se fija si los

pulsadores P2 y P3 están presionados FIN

Page 27: Detectando el Mundo Exterior

Desafio

3. Escriba un programa que haga titilar alternadamente los LED cada 1/2 segundo, pero solamente después de que P2 haya sido presionado y liberado, y luego de que P3 sea presionado. Luego, escriba comentarios en su programa mostrando que cambios haría para invertir el orden en que presionaría los interruptores.

Page 28: Detectando el Mundo Exterior

'{$STAMP BS2}OUTPUT 0 'Hace P0 una salidaOUTPUT 1 'Hace P1 una salidaINPUT 2 'entrada por P2INPUT 3 'entrada por P3OUT0=1 'LED P0 apagadoOUT1=1 'LED P1 apagado revisar: 'etiquetaIF IN2=0 THEN espera 'se fija si P2 es presionado, espera que presionen P3GOTO revisar 'regresa a revisar espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoLOW 1 'LED P1 encendido

Espera hasta que P2sea presionado

Page 29: Detectando el Mundo Exterior

revisar: 'etiquetaIF IN2=0 THEN espera 'se fija si P2 es presionado, espera que presionen P3GOTO revisar 'regresa a revisar espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoHIGH 1 'LED P1 apagadoPAUSE 200 'pausa de 0.2 segundosHIGH 0 'LED P0 apagadoLOW 1 'LED P1 encendidoPAUSE 200 'pausa de 0.2 segundos IF IN3=1 THEN revisar 'se fija se P3 no esta presionado, regresa a revisarGOTO espera 'regresa a la etiqueta espera

Ahora espera hastaque P3 sea

presionado tambien.

Page 30: Detectando el Mundo Exterior

revisar: 'etiquetaIF IN2=0 THEN espera 'se fija si P2 es presionado, espera que presionen P3GOTO revisar 'regresa a revisar espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoLOW 1 'LED P1 encendidoPAUSE 200 'pausa de 0.2 segundosHIGH 0 'LED P0 apagadoHIGH 1 'LED P1 apagadoPAUSE 200 'pausa de 0.2 segundos IF IN3=1 THEN revisar 'se fija se P3 no esta presionado, regresa a revisarGOTO espera 'regresa a la etiqueta espera

Los LED se enciendenalternativamente.

Page 31: Detectando el Mundo Exterior

revisar: 'etiquetaIF IN2=0 THEN espera 'se fija si P2 es presionado, espera que presionen P3GOTO revisar 'regresa a revisar espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoLOW 1 'LED P1 encendidoPAUSE 200 'pausa de 0.2 segundosHIGH 0 'LED P0 apagadoHIGH 1 'LED P1 apagadoPAUSE 200 'pausa de 0.2 segundos IF IN3=1 THEN revisar 'se fija se P3 no esta presionado, regresa a revisarGOTO espera 'regresa a la etiqueta espera

Los LED se enciendenalternativamente.

Page 32: Detectando el Mundo Exterior

revisar: 'etiquetaIF IN2=0 THEN espera 'se fija si P2 es presionado, espera que presionen P3GOTO revisar 'regresa a revisar espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoLOW 1 'LED P1 encendidoPAUSE 200 'pausa de 0.2 segundosHIGH 0 'LED P0 apagadoHIGH 1 'LED P1 apagadoPAUSE 200 'pausa de 0.2 segundos IF IN3=1 THEN revisar 'se fija se P3 no esta presionado, regresa a revisarGOTO espera 'regresa a la etiqueta espera

Los LED se enciendenalternativamente.

Page 33: Detectando el Mundo Exterior

revisar: 'etiquetaIF IN2=0 THEN espera 'se fija si P2 es presionado, espera que presionen P3GOTO revisar 'regresa a revisar espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoLOW 1 'LED P1 encendidoPAUSE 200 'pausa de 0.2 segundosHIGH 0 'LED P0 apagadoHIGH 1 'LED P1 apagadoPAUSE 200 'pausa de 0.2 segundos IF IN3=1 THEN revisar 'se fija se P3 no esta presionado, regresa a revisarGOTO espera 'regresa a la etiqueta espera

Los LED se enciendenalternativamente.

Page 34: Detectando el Mundo Exterior

revisar: 'etiquetaIF IN2=0 THEN espera 'se fija si P2 es presionado, espera que presionen P3GOTO revisar 'regresa a revisar espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoLOW 1 'LED P1 encendidoPAUSE 200 'pausa de 0.2 segundosHIGH 0 'LED P0 apagadoHIGH 1 'LED P1 apagadoPAUSE 200 'pausa de 0.2 segundos IF IN3=1 THEN revisar 'se fija se P3 no esta presionado, regresa a revisarGOTO espera 'regresa a la etiqueta espera

Los LED se enciendenalternativamente.

Page 35: Detectando el Mundo Exterior

revisar: 'etiquetaIF IN2=0 THEN espera 'se fija si P2 es presionado, espera que presionen P3GOTO revisar 'regresa a revisar espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoLOW 1 'LED P1 encendidoPAUSE 200 'pausa de 0.2 segundosHIGH 0 'LED P0 apagadoHIGH 1 'LED P1 apagadoPAUSE 200 'pausa de 0.2 segundos IF IN3=1 THEN revisar 'se fija se P3 no esta presionado, regresa a revisarGOTO espera 'regresa a la etiqueta espera

Hasta que dejamos de

presionar el pulsador.

Page 36: Detectando el Mundo Exterior

espera: 'etiquetaIF IN3=0 THEN titilar 'se fija si P3 es presionado también, para titilar el LEDGOTO espera 'regresa a espera titilar: 'etiquetaLOW 0 'LED P0 encendidoLOW 1 'LED P1 encendidoPAUSE 200 'pausa de 0.2 segundosHIGH 0 'LED P0 apagadoHIGH 1 'LED P1 apagadoPAUSE 200 'pausa de 0.2 segundos

IF IN3=1 THEN revisar 'se fija se P3 no esta presionado, regresa a revisarGOTO espera 'regresa a la etiqueta espera

Espera que se presione nuevamente P2, y el ciclo se repite.

FIN

Page 37: Detectando el Mundo Exterior

Desafio

4. Escriba un programa que haga titilar los LED (cada 0.2 segundos) cada vez que el pulsador P2 es presionado. Luego, mientras el pulsador P2 está presionado, el LED P1 es apagado cuando el pulsador P3 es presionado (pero el LED P0 aún sigue titilando).

Page 38: Detectando el Mundo Exterior

'{$STAMP BS2}x VAR Bit ' x variable con magnitud de un bity VAR Bit ' y variable con magnitud de un bit OUTPUT 0 ' hace P0 una salidaOUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entradaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagado ciclo: ' etiquetaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagadoIF IN2=0 THEN titilar' se fija si P2 es presionado, siesta hace parpadear el LEDGOTO get ' regresa al principio solo_P3: ' etiquetaOUT1=1 ' LED P1 apagado Si P2 es presionado…

Page 39: Detectando el Mundo Exterior

solo_P3: ' etiquetaOUT1=1 ' LED P1 apagadoHIGH 0 ' LED P0 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' LED P0 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio titilar: ' etiquetaIF IN3=0 THEN solo_P3 ' se fija si P3 es presionado, si esta hace parpadear el LED HIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' hace P0 encendidoLOW 1 ' hace P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio

Los LED titilan

Page 40: Detectando el Mundo Exterior

'{$STAMP BS2}x VAR Bit ' x variable con magnitud de un bity VAR Bit ' y variable con magnitud de un bit OUTPUT 0 ' hace P0 una salidaOUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entradaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagado ciclo: ' etiquetaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagadoIF IN2=0 THEN titilar' se fija si P2 es presionado, siesta hace parpadear el LEDGOTO get ' regresa al principio solo_P3: ' etiquetaOUT1=1 ' LED P1 apagado

Page 41: Detectando el Mundo Exterior

'{$STAMP BS2}x VAR Bit ' x variable con magnitud de un bity VAR Bit ' y variable con magnitud de un bit OUTPUT 0 ' hace P0 una salidaOUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entradaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagado ciclo: ' etiquetaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagadoIF IN2=0 THEN titilar' se fija si P2 es presionado, siesta hace parpadear el LEDGOTO get ' regresa al principio solo_P3: ' etiquetaOUT1=1 ' LED P1 apagado

Page 42: Detectando el Mundo Exterior

'{$STAMP BS2}x VAR Bit ' x variable con magnitud de un bity VAR Bit ' y variable con magnitud de un bit OUTPUT 0 ' hace P0 una salidaOUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entradaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagado ciclo: ' etiquetaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagadoIF IN2=0 THEN titilar' se fija si P2 es presionado, siesta hace parpadear el LEDGOTO get ' regresa al principio solo_P3: ' etiquetaOUT1=1 ' LED P1 apagado

Page 43: Detectando el Mundo Exterior

'{$STAMP BS2}x VAR Bit ' x variable con magnitud de un bity VAR Bit ' y variable con magnitud de un bit OUTPUT 0 ' hace P0 una salidaOUTPUT 1 ' hace P1 una salidaINPUT 2 ' hace P2 una entradaINPUT 3 ' hace P3 una entradaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagado ciclo: ' etiquetaOUT0=1 ' LED P0 apagadoOUT1=1 ' LED P1 apagadoIF IN2=0 THEN titilar' se fija si P2 es presionado, siesta hace parpadear el LEDGOTO get ' regresa al principio solo_P3: ' etiquetaOUT1=1 ' LED P1 apagado

Page 44: Detectando el Mundo Exterior

solo_P3: ' etiquetaOUT1=1 ' LED P1 apagadoHIGH 0 ' LED P0 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' LED P0 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio titilar: ' etiquetaIF IN3=0 THEN solo_P3 ' se fija si P3 es presionado, si esta hace parpadear el LED HIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' hace P0 encendidoLOW 1 ' hace P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio

Si presionamos P3 …Solo un LED parpadea

Page 45: Detectando el Mundo Exterior

solo_P3: ' etiquetaOUT1=1 ' LED P1 apagadoHIGH 0 ' LED P0 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' LED P0 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio titilar: ' etiquetaIF IN3=0 THEN solo_P3 ' se fija si P3 es presionado, si esta hace parpadear el LED HIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' hace P0 encendidoLOW 1 ' hace P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio

Page 46: Detectando el Mundo Exterior

solo_P3: ' etiquetaOUT1=1 ' LED P1 apagadoHIGH 0 ' LED P0 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' LED P0 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio titilar: ' etiquetaIF IN3=0 THEN solo_P3 ' se fija si P3 es presionado, si esta hace parpadear el LED HIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' hace P0 encendidoLOW 1 ' hace P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio

Page 47: Detectando el Mundo Exterior

solo_P3: ' etiquetaOUT1=1 ' LED P1 apagadoHIGH 0 ' LED P0 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' LED P0 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio titilar: ' etiquetaIF IN3=0 THEN solo_P3 ' se fija si P3 es presionado, si esta hace parpadear el LED HIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' hace P0 encendidoLOW 1 ' hace P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio

Page 48: Detectando el Mundo Exterior

solo_P3: ' etiquetaOUT1=1 ' LED P1 apagadoHIGH 0 ' LED P0 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' LED P0 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio titilar: ' etiquetaIF IN3=0 THEN solo_P3 ' se fija si P3 es presionado, si esta hace parpadear el LED HIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' hace P0 encendidoLOW 1 ' hace P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio

Page 49: Detectando el Mundo Exterior

solo_P3: ' etiquetaOUT1=1 ' LED P1 apagadoHIGH 0 ' LED P0 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' LED P0 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio titilar: ' etiquetaIF IN3=0 THEN solo_P3 ' se fija si P3 es presionado, si esta hace parpadear el LED HIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' hace P0 encendidoLOW 1 ' hace P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio

Page 50: Detectando el Mundo Exterior

solo_P3: ' etiquetaOUT1=1 ' LED P1 apagadoHIGH 0 ' LED P0 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' LED P0 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio titilar: ' etiquetaIF IN3=0 THEN solo_P3 ' se fija si P3 es presionado, si esta hace parpadear el LED HIGH 0 ' LED P0 apagadoHIGH 1 ' LED P1 apagadoPAUSE 200 ' espera 0.2 segundosLOW 0 ' hace P0 encendidoLOW 1 ' hace P1 encendidoPAUSE 200 ' espera 0.2 segundosGOTO ciclo ' regresa al principio

FIN