Elektronik Projekter: Sådan bruges efter sløjfer i PBASIC Code

Den PBASIC FOR løkke vil gøre BASIC Stamp i din elektronik projekt udføre en løkke et vist antal gange. Det er også en stor programmering værktøj til at udføre en handling på flere I / O-ben. Således er en for-løkke er den ideelle måde at gennemføre en LED Flasher program.

Den grundlæggende struktur i en for-løkke ser sådan ud:

FOR tæller = start-værdi til ultimo værdi
Udtalelser ...
NÆSTE

Her er et eksempel, der blinker LED på pin 0 ti gange:

X VAR BYTE
For x = 1 til 10
HIGH 0
PAUSE 500
LAV 0
PAUSE 500
NÆSTE

I dette eksempel udføres løkken ti gange. Værdien af ​​den variable X øges med 1 hver gang gennem løkken.

I det foregående eksempel, har programmet ikke faktisk bruger tællervariablen. Det er almindeligt i efter sløjfer; undertiden det eneste formål for tællervariablen er at kontrollere, hvor mange gange løkken udføres. Men du kan bruge tællervariablen i løkken. For eksempel, her er en løkke, der gør hver I / O-pin på frimærket høj for en tiendedel af et sekund:

IO_Pin VAR BYTE
FOR IO_Pin = 0 til 15
HIGH IO_Pin
PAUSE 100
LOW IO_Pin
NÆSTE

Normalt tællervariablen øges med én på hver passage gennem løkken. Du kan bruge STEP søgeord for at angive en anden skridt værdi, hvis du ønsker. Når du bruger STEP søgeord, den grundlæggende struktur i FOR-sætningen ser sådan ud:

FOR tæller = start-værdi til ultimo værdi STEP trin-værdi
Udtalelser ...
NÆSTE

For eksempel kan du blinke lysdioder på bare de lige ben som denne:

Led VAR Byte
FOR Led = 0 til 10 TRIN 2
HIGH Led
PAUSE 100
LOW Led
NÆSTE

Et andet interessant træk ved efter sløjfer, er, at de kan regne baglæns. Alt du skal gøre er at angive en startværdi, der er større end slutværdien, sådan her:

Led VAR Byte
FOR Led = 10 til 0 TRIN 2
HIGH Led
PAUSE 100
LOW Led
NÆSTE

Denne version af LED flasher program anvender et par af efter sløjfer at blinke lysdioder først i den ene retning og derefter i den modsatte retning. Den første for-løkke blinker lysdioderne på ben 0, 2, 4, 6, og 8. Derefter den anden for-løkke blinker LED'erne på tappe 10, 8, 6, 4 og 2. Både efter sløjfer er indeholdt i en DO loop der holder LED'erne hoppen frem og tilbage på ubestemt tid.

»LED Flasher Program
'Doug Lowe
'Jul 10, 2011
'
Denne program blinker lysdioder er forbundet til ben 0, 2, 4, 6, 8 og 10
'Frem og tilbage, ligesom Cylon øjne.
'
»Denne version af programmet bruger til loops.
'{$ STAMP BS2}
'{$ PBASIC 2.5}
Led VAR Byte
Main:
FOR Led = 0 til 8 TRIN 2
HIGH Led
PAUSE 100
LOW Led
NÆSTE
FOR Led = 10 til 2 TRIN 2
HIGH Led
PAUSE 100
LOW Led
NÆSTE
GOTO Main

Når efter sløjfer er indlejret, den inderste løkke (r) fuldføre hele deres cyklus hver gang gennem den ydre løkke. Hvis en for-løkke, der gentager ti gange placeres i en ydre sløjfe, der gentager ti gange, vil redegørelser i den inderste sløjfe udføre alt 100 gange - ti gange for hver af de ti gentagelser af den ydre sløjfe.

Denne ene bruger en ydre for-løkke, der varierer forsinkelsestiden for PAUSE udsagn. Resultatet er, at lysdioderne feje meget hurtigt i starten, men langsomt med 10 ms på hver gentagelse af den ydre løkke, indtil forsinkelsen ud på en sekund pr LED.

»LED Flasher Program
'Doug Lowe
'Jul 10, 2011
'
Denne program blinker lysdioder er forbundet til ben 0, 2, 4, 6, 8 og 10
'Frem og tilbage, ligesom Cylon øjne.
'
»Denne version af programmet bruger indlejret FOR-NEXT loops til at bremse
»Fejende bevægelse af LED'erne.
'{$ STAMP BS2}
'{$ PBASIC 2.5}
Led VAR Byte
Speed ​​VAR Word
For Speed ​​= 10 til 1000 TRIN 10
FOR Led = 0 til 8 TRIN 2
HIGH Led
PAUSE Speed
LOW Led
NÆSTE
FOR Led = 10 til 2 TRIN 2
HIGH Led
PAUSE Speed
LOW Led
NÆSTE
NÆSTE


© 2020 Zajacperrone.com | Contact us: webmaster# zajacperrone.com