Video: Elektronika Dasar 011 Transistor 03 Universitas Jember 2024
PBASIC FOR loop akan membuat Stamp BASIC dalam proyek elektronik Anda melakukan loop beberapa kali. Ini juga merupakan alat pemrograman yang bagus untuk melakukan tindakan pada beberapa pin I / O. Jadi, loop FOR adalah cara ideal untuk menerapkan program Flasher LED.
Struktur dasar loop FOR terlihat seperti ini:
FOR counter = nilai awal TO nilai akhir Pernyataan … NEXT
Berikut adalah contoh yang memancarkan LED pada pin 0 sepuluh kali:
X VAR BYTE UNTUK X = 1 TO 10 HIGH 0 PAUSE 500 LOW 0 PAUSE 500 NEXT
Dalam contoh ini, loop dijalankan sepuluh kali. Nilai variabel X dinaikkan 1 setiap kali melalui loop.
Dalam contoh sebelumnya, program tidak benar-benar menggunakan variabel counter. Itu biasa terjadi pada loop FOR; Terkadang satu-satunya tujuan untuk variabel counter adalah mengendalikan berapa kali loop dijalankan. Tapi Anda bisa menggunakan variabel counter di dalam loop. Sebagai contoh, inilah sebuah loop yang membuat setiap pin I / O di Stamp HIGH untuk sepersepuluh detik:
IO_Pin VAR BYTE UNTUK IO_Pin = 0 TO 15 HIGH IO_Pin PAUSE 100 LOW IO_Pin NEXT
Biasanya, variabel counter meningkat satu di setiap celah melalui loop. Anda dapat menggunakan kata kunci LANGKAH untuk menentukan nilai langkah yang berbeda jika Anda mau. Bila Anda menggunakan kata kunci LANGKAH, struktur dasar pernyataan FOR terlihat seperti ini:
FOR counter = nilai awal TO nilai akhir LANGKAH step-value Statements … NEXT
Misalnya, Anda bisa menyalakan LED hanya pada pin genap seperti ini:
Led VAR Byte UNTUK Led = 0 TO 10 LANGKAH 2 HIGH Led PAUSE 100 LOW Led NEXT
Fitur menarik lainnya dari FOR loop adalah bahwa mereka dapat menghitung mundur. Yang harus Anda lakukan adalah menentukan nilai awal yang lebih besar dari nilai akhir, seperti ini:
Led VAR Byte UNTUK Led = 10 TO 0 LANGKAH 2 HIGH Led PAUSE 100 LOW Led NEXT
Versi Flasher LED Program menggunakan sepasang loop FOR untuk menyalakan LED terlebih dahulu dalam satu arah, dan kemudian ke arah yang berlawanan. Loop FOR pertama memancarkan LED pada pin 0, 2, 4, 6, dan 8. Kemudian, loop FOR kedua memancarkan LED pada pin 10, 8, 6, 4, dan 2. Kedua loop FOR terdapat dalam DO loop yang membuat LED terpental bolak-balik tanpa batas waktu.
Bila loop ON disarangkan, loop terdalam menyelesaikan seluruh siklusnya setiap kali melalui loop luar. Jika loop FOR yang berulang sepuluh kali ditempatkan di dalam lingkaran luar yang berulang sepuluh kali, pernyataan di dalam lingkaran terdalam akan melakukan total 100 kali - sepuluh kali untuk masing-masing dari sepuluh pengulangan lingkaran luar.
'Program Flasher LED' Doug Lowe '10 Juli 2011 "Program ini memancarkan LED yang terhubung ke pin 0, 2, 4, 6, 8, dan 10' bolak-balik, seperti mata Cylon." Versi program ini menggunakan nested FOR-NEXT loops untuk memperlambat 'gerakan menyapu LEDs. '{$ STAMP BS2}' {$ PBASIC 2. 5} Kecepatan VAR Byte VAR Word FOR Speed = 10 TO 1000 LANGKAH 10 UNTUK Led = 0 sampai 8 LANGKAH 2 HIGH PLAY PULUH LOW TERTINGGI BERIKUTNYA UNTUK Led = 10 SAMPAI 2 LANGKAH 2 HIGH Led PAUSE Speed LOW BERKEMBANG BERIKUTNYA