Video: Elektronika Dasar 011 Transistor 03 Universitas Jember 2024
Lingkaran DO di PBASIC dapat membuat pemrograman Stamp BASIC dalam proyek elektronik Anda sedikit lebih ringkas. Lingkaran DO adalah pernyataan PBASIC khusus yang melakukan fungsi dasarnya sama seperti label dan pernyataan GOTO. Misalnya, pertimbangkan yang berikut ini:
Utama: HIGH 0 PAUSE 500 LOW 0 PAUSE 500 GOTO Main
Fungsi yang sama dapat dilakukan tanpa label Utama atau pernyataan GOTO dengan menempatkan garis yang menghidupkan dan mematikan LED. antara DO dan LOOP pernyataan, seperti ini:
DO HIGH 0 PAUSE 500 LOW 0 PAUSE 500 LOOP
Garis antara pernyataan DO dan LOOP akan dieksekusi berulang-ulang tanpa batas waktu.
'Program Flasher LED' Doug Lowe '10 Juli 2011 "Program ini memancarkan LED yang terhubung ke pin 0, 2, 4, 6, 8, dan 10' secara berurutan." Versi program ini menggunakan loop DO. '{$ PBASIC 2. 5}' {$ STAMP BS2} Kecepatan VAR BYTE Led VAR BYTE Speed = 50 Led = 0 DO HIGH Led PAUSE Kecepatan LOW Dipimpin PAUSE Speed IF Led <10 tHEN Led = Led + 2 ELSE Led = 0 ENDIF LOOP
Anda dapat menambahkan tes kondisional ke pernyataan LOOP untuk membuat loop bersyarat. Misalnya:
10Kode ini akan menggerakkan LED pada pin 0, 2, 4, 6, 8, dan 10. Setelah LED pada pin 10 dililitkan, baris berikutnya ke terakhir menetapkan variabel Led ke 12. Kemudian, pernyataan LOOP UNTIL melihat bahwa Led lebih besar dari 10, sehingga berhenti berputar.
Alih-alih kata UNTIL, Anda bisa menggunakan kata WHILE untuk menandai kondisinya dalam loop DO. Ada perbedaan substansial antara UNTIL dan WHILE, dan bedanya sama seperti kata-kata yang disarankan. Bila Anda menggunakan kata UNTIL, loop akan mengeksekusi sampai kondisi tes benar. Bila Anda menggunakan kata WHILE, loop akan mengeksekusi sampai kondisi tes salah.
sebelum setiap eksekusi loop. Jika Anda menempatkannya pada pernyataan LOOP, kondisinya diuji setelah selesainya setiap loop. Sudah umum untuk melakukan tes WHILE pada pernyataan DO dan tes UNTIL pada pernyataan LOOP.
Led = 0 DO WHILE Led <11 hIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP
Di sini, nilai Led diuji sebelum setiap eksekusi loop. Loop dijalankan selama Led kurang dari 11.
DO loops dapat
nested , yang berarti bahwa satu loop DO dapat berisi loop DO yang lain.Ketika DO loop bersarang, lingkaran dalam harus memiliki tes kondisional. Jika tidak, ia akan berputar selamanya, dan lingkaran luar tidak akan pernah memiliki kesempatan untuk menyelesaikannya. Dalam program ini, loop DO terdalam mengedipkan enam LED sekali. Ini menggunakan kondisi UNTIL untuk menghentikan loop setelah LED terakhir berkelebat. Lo loop terluar terus berlanjut tanpa henti, menyebabkan urutan berkedip terus berlanjut tanpa batas waktu.
'Program Flasher LED' Doug Lowe '10 Juli 2011 "Program ini memancarkan LED yang terhubung ke pin 0, 2, 4, 6, 8, dan 10' secara berurutan." Versi program ini menggunakan loop DO bersarang. '{$ PBASIC 2. 5}' {$ STAMP BS2} Kecepatan VAR BYTE Led VAR BYTE Kecepatan = 50 DO Led = 0 DO HIGH Led PAUSE Kecepatan LOW Led PAUSE Speed Led = Led + 2 LOOP SAMPAI Led> 10 LOOP