Video: Thorium. 2025
DO-løkken i PBASIC kan gjøre programmeringen av BASIC Stamp i elektronikkprosjektet litt mer kompakt. DO-løkken er en spesiell PBASIC-setning som utfører i hovedsak samme funksjon som en etikett og en GOTO-setning. For eksempel, vurder følgende:
Hoved: HØY 0 PAUSE 500 LAV 0 PAUSE 500 GOTO Hoved
Den samme funksjonen kan oppnås uten hovedetiketten eller GOTO-setningen ved å plassere linjene som slår lysdioden på og av mellom DO og LOOP uttalelser, slik:
DO HIGH 0 PAUSE 500 LOW 0 PAUSE 500 LOOP
Linjene mellom DO og LOOP-setningene vil bli utført om og om igjen på ubestemt tid.
'LED Flasher Program' Doug Lowe '10. juli 2011 "Dette programmet blinker LEDene koblet til pinnene 0, 2, 4, 6, 8 og 10' i rekkefølge." Denne versjonen av programmet bruker en DO-krets. '{$ PBASIC 2. 5}' {$ STAMP BS2} Hastighet VAR BYTE Led VAR BYTE Hastighet = 50 Led = 0 DO HIGH Led PAUSE Speed LOW Led PAUSE Hastighet IF Led <10 tHEN Led = Led + 2 ELSE Led = 0 ENDIF LOOP
Du kan legge til en betinget test for LOOP-setningen for å gjøre kretsen betinget. For eksempel:
Led = 0 DO HIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LØP TIL LED> 10
Denne koden vil blinke LEDene på pinnene 0, 2, 4, 6, 8 og 10. Etter at lysdioden på tapp 10 blinker, setter neste til siste linje Led-variablen til 12. Da ser LOOP UNTIL-setningen at Led er større enn 10, slik at den stopper looping.
I stedet for ordet UNTIL, kan du bruke ordet WHILE for å markere tilstanden i en DO-løkke. Det er en betydelig forskjell mellom UNTIL og WHILE, og forskjellen er akkurat som ordene antyder. Når du bruker ordet UNTIL, vil løkken utføres til tilstanden tester sant. Når du bruker ordet WHILE, vil løkken utføres til tilstanden tester feil.
Merk at du også kan inkludere tilstandstesten på DO-setningen eller på LOOP-setningen. Hvis du legger tilstandstesten på DO-setningen, testes tilstanden før hver utførelse av sløyfen. Hvis du legger den på LOOP-setningen, testes tilstanden etter ferdigstillelsen av hver sløyfe.
Det er vanlig å sette WHILE-tester på DO-setningen og UNTIL-tester på LOOP-setningen.
Led = 0 GJØR MED LED <11 HIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP
Her testes verdien av Led før hver utføring av sløyfen. Sløyfen utføres så lenge Led er mindre enn 11.
DO-sløyfer kan være nestet , noe som betyr at en DO-sløyfe kan inneholde en annen DO-sløyfe.Når IKKE sløyfene er nestet, må indre sløyfen ha en betinget test. Ellers vil det sløyfe for alltid, og den ytre sløyfen vil aldri ha en sjanse til å fullføre.
I dette programmet blinker den innerste DO-kretsen de seks lysdiodene en gang. Den bruker en UNTIL-tilstand for å stoppe sløyfen etter at den siste LED-lampen har blinket. Den ytre DO-løkken fortsetter uendelig, og den blinkende sekvensen fortsetter på ubestemt tid.
'LED Flasher Program' Doug Lowe '10. juli 2011 "Dette programmet blinker lysdioder som er koblet til pins 0, 2, 4, 6, 8 og 10' i rekkefølge." Denne versjonen av programmet bruker nestede DO-sløyfer. '{$ PBASIC 2. 5}' {$ STAMP BS2} Hastighet VAR BYTE Led VAR BYTE Hastighet = 50 DO Led = 0 DO HIGH Led PAUSE Speed LOW Led PAUSE Speed Led = Led +
