Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

pic gecikme hesabı

Başlatan ido2323, 29 Aralık 2014, 18:17:59

ido2323

8 mhz de çalışan pic18f4550'nin bir saykılı (4*1/8)= 0.5 mikrosaniye eder o zaman aşağıdaki gecikme 3*40+1=121 saykıl yapar o da 121*0,5 =60,5 mikrosaniye gecikme sağlar bu hesap doğru mudur? Emin olamadım.

BEKLE60MIKSN   MOVLW   0x28    ;(decimal olarak 40'a eşit) 
               MOVWF   SAYAC4
               DONGU4        
               DECFSZ   SAYAC4
               GOTO     DONGU4
               RETURN

sayment

#1
+2 cycle da MOVLW ve MOVWF komutları için yazman lazım. Ayrıca RETURN için de +2 cycle eklemen gerek. Toplamda 125 yapar. Genel olarak formül:
Toplam_gecikme = döngü_dışı+(döngü_içi*sayaç)+1

Mplab kullanıyorsan Watch ekranından toplam geçen süreyi görebilirsin. MikroC'de de benzer bir özellik vardı diye hatırlıyorum.

mesaj birleştirme:: 29 Aralık 2014, 19:13:11

Düzeltme: RETURN için +2'ye gerek yok. O zaten hesaba dahilmiş.

RaMu

Yanlış hesaplamadıysam 3(x+1)
40 için 3(41)=123 cycle olmalı.

BEKLE60MIKSN   MOVLW   .40     ;                             1 defa 1 cycle
               MOVWF   SAYAC4  ;                             1 defa 1 cycle
 
 DONGU4        DECFSZ   SAYAC4 ;atlamazsa 1, atlarsa 2 cycle (40-1)defa 1 cycle +1 defa 2 cycle
               GOTO     DONGU4 ;her seferinde 2 cycle        (40-1)defa 2 cycle
               RETURN          ;                             1 defa 2 cycle

1 + 1 + (40-1)*1 + 1*2 + (40-1)*2 + 1*2
1+1+39+2+78+2
123

genel formül
x sayaca yüklenen değer ise 
(x+1)*2 + x+1

3(x+1)
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

ido2323

Mplab X ide programında simulasyon gibi birşey var mı acaba? Mesela değer atanan değişkenin belli saykıl ve ya belli noktadan sonra hangi değeri aldığını görmek için bir yol var mı?

RaMu

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

ido2323


yilmaz_kk

  Daha önce forumdan aldığım bir internet sitesi. Çok başarılı. Osiloskopta test etmiştim.

http://www.piclist.com/cgi-bin/delay.exe