p16f628a tum ledleri belirli araliklarla yakip sonduren program yardimi.

Başlatan mabool, 22 Aralık 2010, 13:56:40

mabool

kitaptaki ornekte cift dongulu olan orengi yaptiktan sonra gerektigi gibi calisti daha sonra kendiniz deneyin bolumu altinda programa kendiniz 3. bir dongu ekleyiniz diyordu ve asagidaki gibi yaptim fakat ledler hic calismadi nerede hata yaptim acaba?

LIST      P=P16F628A
INCLUDE      "P16F628A.INC"
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF

   SAYAC1   EQU      H'20'
   SAYAC2   EQU      H'21'
   SAYAC3   EQU      H'22'
   CLRF         PORTB
   BANKSEL         TRISB
   CLRF         TRISB
   BANKSEL         PORTB
TEKRAR
   MOVLW         H'00'
   MOVWF         PORTB
   CALL         GECIKME
   MOVLW         H'FF'
   MOVWF         PORTB
   CALL         GECIKME
   GOTO         TEKRAR
GECIKME
   MOVLW         H'FF'
   MOVWF         SAYAC1
DONGU1
   MOVLW         H'FF'
   MOVWF         SAYAC2
DONGU2
   MOVLW         H'FF'
   MOVWF         SAYAC3
DONGU3
   DECFSZ         SAYAC3,F
   GOTO         DONGU3
   DECFSZ         SAYAC2,F
   GOTO         DONGU2
   DECFSZ         SAYAC1,F
   GOTO         DONGU1
   RETURN
   END            

programin cift dongulu hali ise asadaki gibi

LIST      P=P16F628A
INCLUDE      "P16F628A.INC"
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF

   SAYAC1   EQU      H'20'
   SAYAC2   EQU      H'21'
   CLRF         PORTB
   BANKSEL         TRISB
   CLRF         TRISB
   BANKSEL         PORTB
TEKRAR
   MOVLW         H'00'
   MOVWF         PORTB
   CALL         GECIKME
   MOVLW         H'FF'
   MOVWF         PORTB
   CALL         GECIKME
   GOTO         TEKRAR
GECIKME
   MOVLW         H'FF'
   MOVWF         SAYAC1
DONGU1
   MOVLW         H'FF'
   MOVWF         SAYAC2
DONGU2
   DECFSZ         SAYAC2,F
   GOTO         DONGU2
   DECFSZ         SAYAC1,F
   GOTO         DONGU1
   RETURN
   END            

X-Fi

biraz yüksek bir bekleme bu 4mhz lik bir pic için sabırlı olmanızı tavsiye ediyorum veya SAYAC1 değeriyle oynayın :)
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Andromeda

bu program sanırım portb deki ledleri yakıp söndürüyor.
2 döngü max. 197 ms sağlıyor.
3 döngü  256x197  >  50 saniye falan sürer!
" Tanrı, iradesini hakim kılmak için yeryüzündeki iyi insanları kullanır, yeryüzündeki kötü insanlar ise kendi iradelerini hakim kılmak için Tanrı'yı kullanırlar." ..." Tanrı'dan mesaj gelmiyor, biz Tanrı'ya mesaj gönderiyoruz"

Tagli

Daha önce de yazmıştım galiba, hazır gecikme hesaplayıcıları varken bu tür kodlar üzerinde kafa patlatmak zaman kaybı. Ama daha da önemlisi bence hiç eğlenceli değil (bu belki kişiden kişiye değişir).
Gökçe Tağlıoğlu

X-Fi

hocam aynı ödev lise yıllarımda banada verilmişti pic16F84 e 3 lü zaman döngüsü yazmak!!  :)

burada öğreticinin amacı döngünün çalışması değil öğrencinin programlama kabiliyetini geliştirmek diye düşünüyorum biraz akıl yoran bir iş cünkü yeni başlayanlar için.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

kudretuzuner

Merhaba
PIC'in pinlerini de test etmek için uyguladığım şablon bir çalışma.asm dosyasını dikkatle incelerseniz ne kadar basit olduğunu ve mantığını anlayabilirsiniz.Buyrun.
http://www.4shared.com/file/PTK2sm39/test_small.html
Amatör

mabool

yardimlar icin tesekuler ben gecikmeyi hesaplamadigim icin calismadigini sanmisim degerlerle oynayinca haloldu peki bu gecikme hesaplayicilari nerden bulabilirim

edihan

arkadaşlar daha çokk çokk yeniyim ve hoca 3butonlu 3 ledden bahsetti ama ben daha 1 tanesini yeni yakmaya başladım. bunun pic programını nasıl yazıcam. lütfen yardım edermisini...

tazmania

Alıntı yapılan: edihan - 22 Aralık 2010, 21:07:27
arkadaşlar daha çokk çokk yeniyim ve hoca 3butonlu 3 ledden bahsetti ama ben daha 1 tanesini yeni yakmaya başladım. bunun pic programını nasıl yazıcam. lütfen yardım edermisini...
yeni konu açarsan daha yardımcı olabilecekler çıkacaktır. isteğine gelince hangi dilde istiyorsun.