pbp komut süreleri

Başlatan calicadnus, 03 Ağustos 2007, 21:48:32

calicadnus

arkadaşlar pbp nin biraz hantal olduğunu düşünüyorum. komutların örn 4 Mhz sürate göre kaç mili yada microsaniyede yapıldığını biliyor musunuz?
örn bir if komutu kaç micro saniyede yada lcdout komutu kaç mili saniyede gerçekleştiriilebilir?
saygılar

OG

Maalasef öyle bir imkan yok. PBP nun ürettiği asm dosyasından zor da olsa hesap yapma imkanı vardır.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

files

çok az bir hata ile de olsa bunu anlam aimkanı var.
ben bu gibi şler için şöyle yapıyorum
her türlü pbp kod bloğu için düşünebilirsiniz.
aşağıdaki örnekteki gibi projemizi çalıştırıyoruz. Proteusta logic analizer ile hassas şekilde yapılan işin süresini ölçüyoruz. pin1 den çıkan dalgayı ölçecez.  gerçek devre üzerinde skop  ile de bakılaiblir. hatta toggle yerine bloun başına high sonuna low yazılır. neredeyse tam olarak  işin süresidir.
high pin1

loop:


if (a > 5) and (t<128) then 
c= z+3
else
q=6+a
endif
toggle pin1
goto loop


pbp hantal filan değil. okadar hızlı ne iş yapıyorsunuz merak ettim. genelde hantallık kendi beceriksizliğimizden oluyor. Adamlar güzel yapmış. kendimiz ne yapacaksak  orda hazırı var.

files

high ve lowun  kendi süresini de bulmak isterseniz benzer bir program yazıp oradan bulursunuz. kesin süreyi anlrsınz

loop:
high pin1
low pin1
goto loop

Gotonun süresini anlamak da mümkün dür..Adım adım simulasyon yapılacak. geçen zamana bakılacak.

calicadnus

faz kontrolu yapıyorum 50 hz içinde 1 alternans 20 msn oluyor . bütün işi 10 msn 'de yapmak zorundasınız. 10 msn içinde adc çalışacak,adc den alınan değerler karşılaştırılacak, butonlar kontrol edilecek, sonuçlar lcd'e gösterilecek,triac uygun yerde ateşlenecek.bu kadar iş 4-5msn'de olduğu için bazı alternansları pic yakalayamıyor.

XX_CİHAN_XX

Bu gibi yüksek hız gereken durumlarda ya basic kullanmıyacaksın(en uygunu asm) yada daha yüksek hızlı bir pic kullanıcaksın ama picin hızı ne olursa olsun derleyicinin lcd ye yazarken yada adc yi çalıştırırken beklediği süre sabittir.Bu sadece diğer işlemleri hızlı yapmanı sağilar bununda çok fazla bir etkisi olmaz tavsiyem asm biliyorsan bu işi en hızlı asm ile çözersin.
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.

files

Alıntı yapılan: "calicadnus"faz kontrolu yapıyorum 50 hz içinde 1 alternans 20 msn oluyor . bütün işi 10 msn 'de yapmak zorundasınız. 10 msn içinde adc çalışacak,adc den alınan değerler karşılaştırılacak, butonlar kontrol edilecek, sonuçlar lcd'e gösterilecek,triac uygun yerde ateşlenecek.bu kadar iş 4-5msn'de olduğu için bazı alternansları pic yakalayamıyor.
interrupt , komparatör kullanabilirsin.  ADC ile okumak şart değil. İstersen adc yi okumak için 1,6uS süre ile çalıştırabilirsin. Melabs sitesinde picbasic ile dimmer uygulaması olması lazım. Sıfır  dedektörü vs var.

ADCyi bu iş için kullanmanı önermiyorum.

tyildizak

Hassas zamanlama gerektiren uygulamalarda pbasic programı içine asm komutları eklenebiliyor.10 ms süresinde a-d çevrimi , rakamsal karşılaştırmalar, buton testleri ve daha pek çok şey kolaylıkla yapılabilir.
A-d çevrimini pb komutuyla yapsanız bile  sampling süresini kendiniz belirleyebiliyorsunuz(ortalama 50 us) 10ms'de bir lcd güncellemek de anlamsız olur.Bu hızdaki değişimleri ne lcd'nin fiziksel yapısı yakalayabilir ne de gözün algılama yeteneği.

OG

Alıntı yapılan: "calicadnus"faz kontrolu yapıyorum 50 hz içinde 1 alternans 20 msn oluyor . bütün işi 10 msn 'de yapmak zorundasınız. 10 msn içinde adc çalışacak,adc den alınan değerler karşılaştırılacak, butonlar kontrol edilecek, sonuçlar lcd'e gösterilecek,triac uygun yerde ateşlenecek.bu kadar iş 4-5msn'de olduğu için bazı alternansları pic yakalayamıyor.
LCD hariç diğerlerini 10msn içinde sayısız diyebileceğimiz çoklukta rahat işlersin. LCD'nin yapısından kaynaklanan gecikmesini engelleyemezsin.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.