nasıl yaparım

Başlatan styx75, 05 Nisan 2013, 17:19:22

styx75

selam arkadaşlar ...
örnek olarak 6 adet ledi sıra ile (gecikme) ms ile yakıp söndüreceksiniz ve bu gecikme süresini 2 adet butonla ayarlayabiliyorsunuz ayrıca sistemde onoff butonu var..şimdi sorum....
diyelim gecikme süresi 300 ms, toplam da programın sonuna kadar 3600 ms başka bir işlem yapamıyor
diger açma kapama ve gecikme süresinin butonlarını benim yazdıgım programda kontrolu anlamsız oluyor..
yani gecikme süresinde etkilenmeden.hızlı bir şekilde sistem nasıl açılır kapatılır ve hız ayarı nasıl yapıluır...
saygılar.........

ete

İki türlü gecikme yaratılır. Birincisi Pasue gibi bir gecikme ile programı bekletirsin gecikme yaparsın ancak aynı anda başka kontroller yapamazsın. Yada kısıtlı imkanla yaparsın.

İkinci gecikme tipinde ana programdan bağımzı olarak geri planda zamanlayıcı çalıştırırsın. Bu arada sen kendi işine bakarsın. Zaman dolunca kesme oluşur sende sürenin bittiğini anlayıp süre sonunda ne yapman gerekiyorsa onu yaparsın.

Timer kesmelerine çalış.

Ete


İlyas KAYA

Bu gibi durumlarda ben şu şekilde kullanıyorum.


Zaman var word

clear


BASLA:

pause 50


zaman=zaman+1

IF ZAMAN =40 THEN LAMBAYAK        '40*50ms = 2000 ms yani 2 sn sonra lambayı yak
IF ZAMAN =80 THEN LAMBASONDUR '80*50ms = 4000 ms yani 4 sn sonra lambayı söndür

'/diğer işlemler.


goto basla


Yukarıdaki kodda gördüğünüz gibi her 50 ms veya isterseniz 100 ms isterseniz 10 ms de bir hızlı çalışan bir kod yapabilirsiniz.

Pause komutuna verdiğimiz değer zamanlamayı değiştireceği için en baştan bu süreye kesin karar vermiş olmalısınız. Standart olarak 50 ms yeterli.

Eğer programda başka alanlarda bekleme söz konusu ise bu beklemeleri de hesaba katmalısınız.

Şuan word değişkeninde bir zaman söz konusu. Yani 65535*50ms demektir.
Eğer süreniz çok uzun aralıklarda olmayacak ise yani son led yandığında
zaman =0 yaparak zamanlamayı kontrol altında tutmuş olursunuz. Aksi takdirde saatlerce beklemeniz gerekir.

Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

Powered by EzPortal