Proyectos electrónicos: Cómo utilizar bucles do en el Código PBASIC

April 12

El bucle DO en PBASIC puede hacer la programación del BASIC Stamp en su electrónica proyectan un poco más compacto. El bucle DO es una declaración PBASIC especial que realiza esencialmente la misma función como una etiqueta y una declaración GOTO. Por ejemplo, considere lo siguiente:

Principal:
ALTA 0
PAUSE 500
BAJO 0
PAUSE 500
GOTO Principal

La misma función se puede lograr sin la etiqueta principal o la sentencia GOTO mediante la colocación de las líneas que convierten el LED encendido y apagado entre las declaraciones DO y LOOP, así:

HACER
ALTA 0
PAUSE 500
BAJO 0
PAUSE 500
LAZO

Las líneas entre las declaraciones DO y LOOP se ejecutarán una y otra vez indefinidamente.

'Programa Flasher LED
"Doug Lowe
"10 de julio 2011
'
'Este programa parpadea LEDs conectados a los pines 0, 2, 4, 6, 8 y 10
'En secuencia.
'
"Esta versión del programa utiliza un bucle DO.
'{$ PBASIC 2.5}
'{$ STAMP BS2}
Velocidad VAR BYTE
Liderados BYTE VAR
Velocidad = 50
Led = 0
HACER
ALTA Led
Velocidad PAUSA
BAJO Led
Velocidad PAUSA
SI Led <10 ENTONCES
Led = Led + 2
ELSE
Led = 0
ENDIF
LAZO

Usted puede agregar una prueba condicional a la sentencia LOOP para hacer el bucle condicional. Por ejemplo:

Led = 0
HACER
ALTA Led
PAUSE 500
BAJO Led
PAUSE 500
Led = Led + 2
LOOP UNTIL Led> 10

Este código parpadeará el LED en los pines 0, 2, 4, 6, 8 y 10. Después de que el LED en el pin 10 se destella, la penúltima línea establece la variable Dirigido a 12. Entonces, la frase LOOP UNTIL ve que Led es mayor que 10, por lo que deja de bucle.

En lugar de la palabra hasta, puede utilizar la palabra MIENTRAS para marcar la condición en un bucle DO. Thereâ € ™ sa diferencia sustancial entre HASTA y tiempo, y la diferencia es igual de las palabras sugieren. Cuando se utiliza la palabra hasta, el bucle se ejecutará hasta que la condición prueba verdadera. Cuando se utiliza la palabra MIENTRAS, el bucle se ejecutará hasta que la condición prueba falsa.

Recuerde que también puede incluir la prueba de condición en la sentencia DO o en la sentencia LOOP. Si coloca la prueba de condición en la sentencia DO, la condición se comprueba antes de cada ejecución del bucle. Si lo coloca en la sentencia LOOP, la condición se comprueba después de la finalización de cada bucle.

Ita € ™ s común colocar pruebas, mientras que en la sentencia DO y hasta que las pruebas sobre la sentencia LOOP.

Led = 0
HACER MIENTRAS Led <11
ALTA Led
PAUSE 500
BAJO Led
PAUSE 500
Led = Led + 2
LAZO

En este caso, el valor de Led es probado antes de cada ejecución del bucle. El bucle se ejecuta mientras Led es menos de 11.

NO bucles pueden anidarse, lo que significa que uno hace bucle puede contener otra DO bucle. Cuando se anidan los bucles DO, el bucle interno debe tener una prueba condicional. De lo contrario, se repetirá siempre, y el bucle externo nunca tendrá la oportunidad de completar.

En este programa, el más interior DO bucle parpadea los seis LEDs una vez. Utiliza una HASTA condición para detener el bucle después de que el último LED haya parpadeado. El bucle más externo DO continúa sin cesar, haciendo que la secuencia de parpadeo para continuar indefinidamente.

'Programa Flasher LED
"Doug Lowe
"10 de julio 2011
'
'Este programa parpadea LEDs conectados a los pines 0, 2, 4, 6, 8 y 10
'En secuencia.
'
"Esta versión del programa utiliza HACER bucles anidados.
'{$ PBASIC 2.5}
'{$ STAMP BS2}
Velocidad VAR BYTE
Liderados BYTE VAR
Velocidad = 50
HACER
Led = 0
HACER
ALTA Led
Velocidad PAUSA
BAJO Led
Velocidad PAUSA
Led = Led + 2
LOOP UNTIL Led> 10
LAZO