Video: C Programming Tutorial for Beginners 2025
Buclele DO din PBASIC pot face programarea ștampilei BASIC în proiectarea electronică mai compactă. Ciclul DO este o declarație PBASIC specială care execută în esență aceeași funcție ca o etichetă și o declarație GOTO. De exemplu, luați în considerare următoarele:
Principal: HIGH 0 PAUSE 500 LOW 0 PAUSE 500 GOTO Principal
Aceeași funcție poate fi realizată fără eticheta principală sau cu instrucțiunea GOTO plasând liniile care pornesc și opresc LED-ul între declarațiile DO și LOOP, astfel:
DO HIGH 0 PAUSE 500 LOW 0 PAUSE 500 LOOP
Linii între instrucțiunile DO și LOOP vor fi executate de nenumărate ori.
"Programul de lumini LED" Doug Lowe "10 iulie 2011" Acest program luminează LED-urile conectate la pinii 0, 2, 4, 6, 8 și 10 'în ordine. "Această versiune utilizează o buclă DO. '{$ PBASIC 2. 5}' {$ STAMP BS2} Viteză VAR BYTE Led VAR BYTE Viteză = 50 Led = 0 DO HIGH Led PAUSE Viteză LOW Led PAUSE Viteză IF Led <10 LED Led = Led + 2 ELSE Led = 0 ENDIF LOOP
Puteți adăuga un test condiționat la instrucțiunea LOOP pentru a face ca bucla să fie condiționată. De exemplu:
Led = 0 PORNIRE LUMINĂ Led PAUZĂ 500 LOW Led PAUSE 500 Led = Led + 2 LOOP UNTIL Led> 10
Acest cod va lumina LED-urile pe pinii 0, 8 și 10. După ce LED-ul de pe știftul 10 este strălucit, următoarea linie stabilește variabila Led la 12. Apoi, instrucțiunea LOOP UNTIL vede că LED-ul este mai mare de 10, astfel încât acesta se oprește din buclă.
În loc de cuvânt PÂNĂ, puteți folosi cuvântul WHILE pentru a marca starea într-o buclă DO. Există o diferență substanțială între UNTIL și WHILE, iar diferența este exact așa cum sugerează și cuvintele. Când utilizați cuvântul UNTIL, bucla va executa până când testarea condiției este adevărată. Când utilizați cuvântul WHILE, bucla va executa până când testarea condiției este falsă.
Rețineți că puteți include testul de condiție în instrucțiunea DO sau în instrucțiunea LOOP. Dacă plasați testul de condiție pe instrucțiunea DO, condiția este testată înainte de fiecare execuție a buclă. Dacă plasați-o pe instrucțiunea LOOP, condiția este testată după completarea fiecărei buclă.
Este obișnuit să se efectueze teste WHILE privind declarația DO și teste UNTIL pe instrucțiunea LOOP.
Led = 0 DO WHILE Led <11 Led Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP
Aici Ledul este testat inainte de fiecare executie a buclei. Buclele sunt executate atâta timp cât LED-ul este mai mic de 11.
Buclele DO pot fi imbricate , ceea ce înseamnă că o buclă DO poate conține o altă buclă DO.Când buclele DO sunt imbricate, bucla interioară trebuie să aibă un test condițional. În caz contrar, se va rupe pentru totdeauna, iar bucla exterioară nu va avea niciodată șansa de a finaliza.
În acest program, cea mai interioară buclă DO luminează odată cele șase LED-uri. Utilizează o condiție UNTIL pentru a opri buclele după ce ultima LED a aprins. Cea mai exterioară buclă DO continuă fără sfârșit, determinând secvența intermitentă să continue pentru o perioadă nedeterminată.
"Programul de lumini LED" Doug Lowe "10 iulie 2011" Acest program luminează LED-urile conectate la pinii 0, 2, 4, 6, 8 și 10 'în ordine ". '{$ PBASIC 2. 5}' {$ STAMP BS2} Viteză VAR BYTE Led VAR BYTE Viteză = 50 DO Led = 0 DO HIGH Led PAUSE Viteză LOW Led PAUSE Viteză Led = Led + 2 LOOP PÂNĂ Led> 10 LOOP
