Elektronische Projekte: Wie FOR-Schleifen in PBASIC Code zu verwenden,

Die PBASIC FOR-Schleife wird die BASIC Stamp in Ihrer Elektronik-Projekt machen eine Schleife eine bestimmte Anzahl von Malen auszuführen. Es ist auch eine große Programmierwerkzeug für eine Aktion auf mehrere I / O-Pins durchführen. Somit wird ein FÜR Schleife ist der ideale Weg, um eine LED Flasher Programm zu implementieren.

Die Grundstruktur eines FÜR Schleife sieht wie folgt aus:

FÜR Zähler = Start-Wert NACH End-WertAnweisungen ...NÄCHSTER

Hier ist ein Beispiel, das die LED an Pin 0 zehnmal blinkt:

X VAR BYTEFOR X = 1 TO 10HIGH 0PAUSE 500LOW 0PAUSE 500NEXT

In diesem Beispiel wird die Schleife zehnmal ausgeführt. Der Wert der Variablen X wird jedes Mal um 1 durch die Schleife erhöht.

Im vorhergehenden Beispiel, hat das Programm nicht tatsächlich die Zählervariable verwenden. Das ist üblich in FÜR loops- manchmal der einzige Zweck für die Zählervariable zu steuern, wie oft die Schleife ausgeführt wird. Aber Sie können die Zählervariablen innerhalb der Schleife verwenden. Zum Beispiel, hier ist eine Schleife, die jeden I / O-Pin auf dem Stempel HIGH ein Zehntel einer Sekunde macht:

IO_Pin VAR BYTEFOR IO_Pin = 0 TO 15HIGH IO_PinPAUSE 100LOW IO_PinNEXT

Normalerweise wird die Zählvariable um eins bei jedem Durchlauf durch die Schleife erhöht. Sie können die Verwendung SCHRITT Stichwort einen anderen Schrittwert angeben, wenn Sie möchten. Wenn Sie die STEP-Schlüsselwort verwenden, sieht die grundlegende Struktur der FOR-Anweisung wie folgt aus:

FÜR Zähler = Start-Wert NACH End-Wert SCHRITT Schritt-WertAnweisungen ...NÄCHSTER

Zum Beispiel könnten Sie LEDs auf nur die geradzahligen Stifte wie diese blinken:

Led VAR ByteFOR Led = 0 bis 10 STEP 2High LedPAUSE 100LOW LedNEXT

Ein weiteres interessantes Merkmal FÜR Schleifen ist, dass sie rückwärts zählen können. Alles, was Sie tun müssen, ist einen Startwert angeben, der größer als der Endwert ist, wie folgt aus:

Led VAR ByteFOR Led = 10 bis 0 STEP 2High LedPAUSE 100LOW LedNEXT

Diese Version des LED-Flasher-Programm verwendet ein Paar FÜR Lßt die LEDs zuerst in einer Richtung und dann in die entgegengesetzte Richtung zu blinken. Der Erste FÜR Schleife blinkt die LEDs auf den Pins 0, 2, 4, 6 und 8. Dann wird der zweite FÜR Schleife blinkt die LEDs an den Stiften 10, 8, 6, 4, und 2. Beide FÜR Schleifen sind in einem enthalten sind MACHEN Schleife, die die LEDs Prellen hin und her auf unbestimmte Zeit hält.

'LED-Flasher-Programm' Doug Lowe '10. Juli 2011' 'Dieses Programm blinkt LEDs mit den Pins 0, 2, 4, 6, 8 und 10' hin und her, wie Zylon Augen. "" Diese Version des Programms Anwendungen FOR-Schleifen. ' {$ STAMP BS2} {$ PBASIC 2.5} Led VAR ByteMain: für LED = 0 bis 8 STEP 2High LedPAUSE 100LOW LedNEXTFOR Led = 10 zu Schritt 2 2High LedPAUSE 100LOW LedNEXTGOTO Haupt

Wann FÜR Schleifen verschachtelt sind, wird die innerste Schleife (n) vervollständigen den gesamten Zyklus jedes Mal durch die äußere Schleife. Wenn ein FÜR Schleife, die zehnmal wiederholt wird innerhalb einer äußeren Schleife gesetzt, die zehnmal wiederholt, die Anweisungen innerhalb der innersten Schleife wird insgesamt 100mal ausführen - zehnmal für jede der zehn Wiederholungen der äußeren Schleife.

Dieses verwendet einen äußeren FÜR Schleife, die die Verzögerungszeit für die variiert PAUSE Aussagen. Das Ergebnis ist, dass die LEDs zunächst sehr schnell fegen, aber langsam von 10 ms bei jeder Wiederholung der äußeren Schleife, bis die Verzögerung eine Sekunde pro LED erreicht.

'LED-Flasher-Programm' Doug Lowe '10. Juli 2011' 'Dieses Programm blinkt LEDs mit den Pins 0, 2, 4, 6, 8 und 10' hin und her, wie Zylon Augen. "" Diese Version des Programms Anwendungen FOR-NEXT Schleifen verschachtelt die zu verlangsamen "Sweep-Bewegung der LEDs. ' {$ STAMP BS2} {$ PBASIC 2.5} Led VAR ByteSpeed ​​VAR WordFOR Geschwindigkeit = 10 bis 1000 STEP 10Denn Led = 0 bis 8 STEP 2High LedPAUSE SpeedLOW LedNEXTFOR Led = 10 zu Schritt 2 2High LedPAUSE SpeedLOW LedNEXTNEXT

Menü