En sonunda... PORTB.0 Kesmesi

Başlatan solidus, 13 Aralık 2006, 20:54:59

Lütfi AYYILDIZ

i var byte
GECIKME:
FOR i=0 TO 1000
PAUSEUS 100
NEXT
RETURN

Buradaki pausesus ve 1000 değerleriyle oynayarak istediğin kadar gecikme sağlayabilirsin. Bu şekilde kesmelerde bir sıkıntı olmayacaktır.

XX_CİHAN_XX

Bence pauses komutunuda kullanmayın.Tamam belki 100mikrosaniye çok fazla bir zaman kaybı degıl ama sonucta ölü bir bekleme oluşacaktır.
Bence birkaç tane iç içe döngü kurarak zaman gecıkmesı olusturarak kesme kullanıldıgında en ıyı verimi elde edebilirsin.Arkadaşın niye kesme kullandıgını bilmiyoruz belki 100us nın altında bir surede kesmeye gıtmesı gerekır(şimdi olmasa bile ilerde)
Dolayısıyla daha yuksek hız elde etmek varken programı yavaşlatmak bence pek doğru degıl.
Ama sanırım cok hızlı kesmeye gıtmesı gerkmıyorsa bu programda fazlasıyla iş görecktir.Çok çok yaklaşık 100us lik(biraz daha fazla) bir gecikme ile kesme ye gidersin.Saygılarımla...
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

OG

i var byte ise 1000 değerini alamaz. word olması lazım.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

solidus

Sevgili XX_CİHAN_XX,
Kesme kullanmamın sebebi sadece lcd ekran aydınlatmasının belli bir süre yanık kalarak istenen süre sonunda sönmesini sağlamak..Örneğin adet kumanda tuşlarından herhangi birine bastığımız anda aydınlatma "1" olacak 5 sn sonra "0" olacak gibi...Bi de OG üstad söylemiş ama i var byte  yerine i var word denilmesi gerekiyor..
Kimine göre kralım kimine göre yalanım… Herkes rahatına baksın, ben adamına göre adamım..

Lütfi AYYILDIZ

i var word olması gerekiyor, kopyala yapıştır yanılgısı...

mytap

For ... Next  dongulerde PAUSE yerine kullanılabilir hassas zaman işlerinde pause komudu PIC i devre dışı bırakır yani işlemci pausenin değeri kadar orda saymaya başlar.
Dongunun kullanılması:

DIM SAYI AS WORD
SAYI=0
.
FOR SAYI = 1 TO 10 ; SAYI değişkeni işlmecinin hızına bağlı olarak 1 artırılır 10 olduğunda işlemci işlerine devam eder.  
.
.
.
NEXT SAYI
For Next Döngü sarasındaki işlemler işlemcinin hızına bağlı olarak sayı max olana kadar tekrarlanır. Halbuki Pause komudunda işlemci bekler sonra işlemleri gerçekleştirir.
-------------------------------------------------------- hayırlı günler, iyi çalışmalar..  --------------------------------------------------------