Video: Arduino ile Servo Motor Kontrol 2024
PBASIC FOR döngüsü elektronik projenizdeki BASIC Pul'u belirli sayıda tekrarlayacaktır. Aynı zamanda çoklu G / Ç pinleri üzerinde bir işlem yapmak için mükemmel bir programlama aracıdır. Dolayısıyla, bir FOR döngüsü, bir LED Flaşör programını uygulamak için ideal bir yoldur.
FOR döngüsünün temel yapısı şu şekilde görünür:
FOR sayaç = başlangıç-değeri TO bitiş-değeri Tablolar … SONRAKİ
İşte on numara üzerindeki LED'i yanıp sönen bir örnek:
X VAR BYTE FOR X = 1 - 10 YÜKSEK 0 DURAKLAT 500 DÜŞÜK 0 DURAKLAT 500 SONRAKİ
Bu örnekte, döngü on defa yürütüldü. X değişkeninin değeri döngü boyunca her biri 1 arttırılır.
Yukarıdaki örnekte, program aslında sayaç değişkenini kullanmadı. FOR döngülerinde yaygın olan; Bazen sayaç değişkeninin tek amacı, döngünün kaç kere çalıştırıldığını kontrol etmektir. Ancak döngü içinde sayaç değişkenini kullanabilirsiniz. Örneğin, Damga Üzerindeki her I / O iğnesini saniyenin onda biri kadar YÜKSEK yapar bir döngü:
IO_Pin için VAR BYTE IO_Pin için = 0 TO 15 YÜKSEK IO_Pin DURAKLAT 100 DÜŞÜK IO_Pin SONRAKİ
Normalde, sayaç değişkeni her geçişte döngüden birer birer artar. İsterseniz STEP anahtar kelimesini farklı bir adım değeri belirlemek için kullanabilirsiniz. STEP anahtar kelimesini kullandığınızda, FOR ifadesinin temel yapısı şöyledir:
FOR sayaç = başlangıç değeri TO bitiş değeri ADIM kademe değeri Beyannameler … SONRAKİ
Örneğin, çift sayılı pimlerdeki LED'leri şöyle flaşlayabilirsiniz:
Led VAR Bayt FOR Led = 0 TO 10 DÖRT 2 YÜKSEK Led DURAKLAT 100 LOW Led NEXT
FOR döngülerinin ilginç bir başka özelliği geri geriye gidebilmeleri. Tek yapmanız gereken, bitiş değerinden daha büyük bir başlangıç değeri belirlemektir:
Led VAR Bayt FOR Led = 10 TO 0 ADIM 2 YÜKSEK Led DURAKLAT 100 LOW Led SONRAKİ
LED Flaşörünün bu sürümü programı, LED'leri önce bir yönde yanıp ters yönde yanıp sönmek için bir çift FOR döngüsü kullanır. İlk FOR döngüsü LED'leri 0, 2, 4, 6 ve 8 numaralı pimlerde yanıp söner. Sonra ikinci FOR döngüsü LED'leri 10, 8, 6, 4 ve 2 pimlerinde yanıp söner. Her iki FOR döngüsü bir DO LED'leri sonsuza kadar ileri geri sarsıntısız tutan bir döngü.
'LED Flaşör Programı' Doug Lowe 'Temmuz 10, 2011 "Bu program Cylon gözleri gibi ileri geri, 0, 2, 4, 6, 8 ve 10 pinlerine bağlı LED'leri yanıp sönüyor. "Programın bu sürümü FOR döngülerini kullanıyor.Led = 0 TO 8 STEP 2 YÜKSEK Led DURAKLAT 100 DÜŞÜK Led İLERİ LED = 10 TO 2 DÖNÜŞ 2 YÜKSEK Led DURAKLAT 100 DÜŞÜK Led GELDİ İLERİ GOTO Main
FOR döngüleri iç içe geçmişken, en iç döngüler her döngünün tamamı dış döngü aracılığıyla tamamlanır. On kez tekrar eden bir FOR döngüsü, on kere tekrar eden bir dış döngüye yerleştirilirse, en içteki döngü içindeki ifadeler dış döngünün on tekrarının her biri için on kez toplam 100 kez gerçekleşir.
Bu, PAUSE ifadelerinin gecikme süresini değiştiren bir dış FOR döngüsünü kullanır. Sonuç, LED'lerin ilk başta çok hızlı süpürülmesi, ancak gecikme LED başına bir saniyeye ulaşıncaya kadar dış döngünün her tekrarında 10 ms yavaştır.
'LED Flaşör Programı' Doug Lowe 'Temmuz 10, 2011 "Bu program, Cylon gözleri gibi ileri geri, 0, 2, 4, 6, 8 ve 10 numaralı pimlere bağlı LED'leri yanıp sönüyor." Programın bu sürümü LED'lerin süpürme hareketini yavaşlatmak için iç içe geçmiş FOR-NEXT döngüler kullanıyor. '{$ STAMP BS2}' {$ PBASIC 2. 5} Led VAR Bayt Hızı VAR Word FOR Hız = 10 TO 1000 ADIM 10 İÇİN Led = 0 TO 8 STEP 2 YÜKSEK Led DURAKLATMA Hız LOW Led İLERİ Led = 10 TO 2 ADIM 2 YÜKSEK Led DURAKLATMA Hız LOW Led SONRAKİ İLERİ Sonraki