Uzun zaman gecikmesi

Başlatan bodrum48, 28 Haziran 2008, 00:09:11

bodrum48

Arkadaşlar PIC kullanarak örneğin 2 saatlik aralıklarla portlardan çıkışlar almak istiyorum. Belirttiğim zaman gecikesini nasıl sağlayabilirim. Yardımcı olursanız sevinirim.

Maxim

daha önce picbasic altında konuşulmuştu ,
şöyle yapılıyordu ,mantık aynı nasılsa .

örnek:
1000 ne kadar sayma yaptırıyoruz her saymanın arasına 10 saniye bekleme koyarsak rakam 1000 olduğunda kabaca 10.000 saniye geçmiş olur ,bu da 10000 / 60 = 166.6 dakika eder o da 2.7 saat eder ,

tabiki çok kabaca ama buna benzer birşey yapılabilir .

avignon

çalışma frekansı nedir?

erkan06

Çalışma Frekansı 4 Mhz. olduğunu var sayıyorum. PIC için 4/4=1 uS dahili komut saykılı...
2 saat=120 dk.=7200 sn.=7,200,000,000 uS dir.
İstenilen yerde çağrılan Gecikme Rutini ise ;

DONGU1
         MOVLW H'254'
         MOVWF SAYAC1
DONGU2
         MOVLW H'251'
         MOVWF SAYAC2
DONGU3
         MOVLW '250'
         MOVWF SAYAC3
DONGU4
        MOVLW H'32'
        MOVWF SAYAC4
DONGU5
        DECFSZ SAYAC4,F
        GOTO DONGU5
        DECFSZ SAYAC3,F
        GOTO DONGU4
        DECFSZ SAYAC2,F
        GOTO DONGU3
        DECFSZ SAYAC1,F
        GOTO DONGU2


İstenilen değere çok yakın bir gecikme sağlıyor. Ufak tefek hatalar varsa affola yılardır assembly'den uzağım..
Ne mutlu Türküm diyene!