PIC16F628A sayac komutu yardim...

Başlatan mabool, 20 Aralık 2010, 23:02:02

mabool

kitabin kendiniz deneyiniz isimli baslik altinda prog8.asm uzerinde degisiklik yaparak portb nin 5. bitindeki ledin yaksalis 1 saniye araliklarla 10 defa yakip sondurdukten sonra yanar bicimde birakan programin akis diyagramini cizip programi yaziniz. ipucu:ledin 1 saniye aralikli olarak yanmasi icin prog6.asm deki gecikme dongusunu programin icerisinde uygun yere yerlestiriniz (burada decfsz komutundan bahsediyor). malesef cok ugrastim ama yapamadim simdiden cok tesekkurler yardimlariniz icin.

PROG8.asm ise su

LIST         P=16F628A
INCLUDE         "P16F628A.INC"
__CONFIG _RC_OSC_CLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF
   
SAYAC   EQU      H'20'
   BANKSEL      TRISB
   CLRF      TRISB
   BANKSEL      PORTB
   CLRF      PORTB
BASLA
   CLRF      PORTB
   CLRF      SAYAC
TEKRAR
   MOVF      SAYAC,W
   MOVWF      PORTB
   INCF      SAYAC,F
   MOVLW      H'F5'
   SUBWF      SAYAC,W
   BTFSS      STATUS,2
   GOTO      TEKRAR
DONGU
   GOTO      DONGU
   END            

kudretuzuner

Merhaba
Çok sağlıklı olmamakla birlikte yanıp sönen bir led.Bana sorarsanız yazılmış ve de karıştırılmış programı toparlamak daha zor.1 saniye ara ile yanan sönen led programı çok daha basit yazılabilir.Kolay gelsin.
http://www.4shared.com/file/x4efGACH/Yeni_Klasr.html
Amatör

Tagli

Bence bekleme döngülerini kendin yazmaya çalışma. Buradaki hesap makinesi bu iş için çok kullanışlı.

decfsz komutu, F ile birlikte kullanıldığında adresteki değeri 1 azaltır, eğer 0 bulduysa kendinden sonraki komutu atlayarak bir alttakine geçer. Bir sayaca 10 yükleyerek döngünün sonunda bu komutla kontrol edebilir, 0 olmuşsa yukarıya giden bir goto komutunu atlayarak döngüden çıkabilirsin.

Verdiğin kodda sayac değişkeni programın başında sıfırlanmamış, ama 0 olduğu varsayılmış. Benim anlattığımdan farklı bir yöntem izliyor ancak elektrik verildiğinde register'ların değeri belirsiz olduğundan bu şekliyle çalışmayabilir.
Gökçe Tağlıoğlu

mabool

yanitlar icin tesekkurler arkadaslar