Tekil Mesaj gösterimi
Alt 15. May 2010, 04:54 AM   #2 (permalink)
jungersol
Amatör
 
Üyelik tarihi: Jun 2009
Mesajlar: 2
Standart Cevap: deneme kartı üzerinde pic uygulamaları

buna benzer bi programla bende uğraşıyorum.RA0 butonuna 10 defa basıca PORTB nin 0. bitindeki ledi yakmaya çalışyorum ancak düzgün olarak çalışmıyor.kodlarım şunlar.
Kod:
LIST P=16F628A
INCLUDE "P16F628A.INC"
__CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_ON & _LVP_OFF & _DATA_CP_OFF & _CP_OFF

CLRF PORTB
SAYAC EQU h'20'
BANKSEL TRISB
MOVLW b'11111110'
MOVWF TRISB
MOVLW b'11111111'
MOVWF TRISA
BANKSEL PORTB
MOVLW h'07'
MOVWF CMCON
BASLA
MOVLW d'10'
MOVWF SAYAC
TEST
BTFSC PORTA 0
GOTO TEST
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ SAYAC F
GOTO TEST
BSF PORTB 0
DONGU
GOTO DONGU 
END
devreyi oluşturdum.biraz araştırdıktan sonra sorunun butona basıldığında oluşan arktan dolayı meydana geldiğini öğrendim.bunu önlemek için yazılımdaki NOP komutlarının sayısını arttırarak(gerekirse 100 veya daha fazla) döngü gecikmesi yapmak yada donanımsal olarak butonun uçlarına kondansatör bağlamak gerekiyomuşAncak her iki şekildede isatedğim tutarlılık çalıştıramadaım.Butona basılış süresine ve sayısına göre farklı tepkiler veriyo.Yardımcı olursanız sevinirm
jungersol isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla