teamarh
Üye
- Katılım
- 6 Eki 2010
- Mesajlar
- 1
- Puanları
- 1
- Yaş
- 42
Abilerim iyi günler pic 16f628a bir buton ile 3 çıkış kontrol etmek için program yazmaya çalıştım ama bir yerlerde hata yapıyorum yardımcı olurmusunuz calışmasını istediğim program porta,1 deki butona basınca portb,0 biti 1 verip sonra 0 olacak sonra tekrar basınca portb,1 biti 1 verip sonra 0 olacak tekrar basınca portb,2 biti 1verip sonra 0 olacak ve butona basınca portb,1 1 verip sonra 0 olacak bu şekilde sürekli döngü oluşacak butana basılı tutulduğu sürece sürekli çıkış 1 de kalacak teşekkür ederim
LIST P=16F628A
INCLUDE "P16F628A.INC"
__config _CP_OFF & _CP_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_ON & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT
;----------------------------------------------------------
SAYAC1 EQU H'20'
SAYAC2 EQU H'21'
SAYAC3 EQU H'22'
ORG h'00'
CLRF PORTB
BANKSEL TRISB
CLRF TRISB
MOVLW H'FF'
MOVWF TRISA
BANKSEL PORTB
MOVLW h'07'
MOVWF CMCON
BUTON
BTFSC PORTA, 1
GOTO BUTON
AC
BSF PORTB, 0
CALL GECIKME
BTFSC PORTA, 1
GOTO AC
BCF PORTB, 0
BUTON1
BTFSC PORTA, 1
GOTO BUTON1
DUR
BSF PORTB, 1
CALL GECIKME
BTFSC PORTA, 1
GOTO DUR
BCF PORTB,1
BUTON2
BTFSC PORTA, 1
GOTO BUTON2
KAPA
BSF PORTB, 2
CALL GECIKME
BTFSC PORTA, 1
GOTO KAPA
BCF PORTB,2
BUTON3
BTFSC PORTA, 1
GOTO BUTON3
DURA
BSF PORTB, 1
CALL GECIKME
BTFSS PORTA, 1
GOTO DURA
GOTO BUTON
BCF PORTB,1
GECIKME
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2
DONGU3
MOVLW h'FF'
MOVWF SAYAC3
DONGU2
DECFSZ SAYAC3, F
GOTO DONGU3
DECFSZ SAYAC2, F
GOTO DONGU2
DECFSZ SAYAC1, F
GOTO DONGU1
RETURN
END
;-----------------------------------------------------------
LIST P=16F628A
INCLUDE "P16F628A.INC"
__config _CP_OFF & _CP_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_ON & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT
;----------------------------------------------------------
SAYAC1 EQU H'20'
SAYAC2 EQU H'21'
SAYAC3 EQU H'22'
ORG h'00'
CLRF PORTB
BANKSEL TRISB
CLRF TRISB
MOVLW H'FF'
MOVWF TRISA
BANKSEL PORTB
MOVLW h'07'
MOVWF CMCON
BUTON
BTFSC PORTA, 1
GOTO BUTON
AC
BSF PORTB, 0
CALL GECIKME
BTFSC PORTA, 1
GOTO AC
BCF PORTB, 0
BUTON1
BTFSC PORTA, 1
GOTO BUTON1
DUR
BSF PORTB, 1
CALL GECIKME
BTFSC PORTA, 1
GOTO DUR
BCF PORTB,1
BUTON2
BTFSC PORTA, 1
GOTO BUTON2
KAPA
BSF PORTB, 2
CALL GECIKME
BTFSC PORTA, 1
GOTO KAPA
BCF PORTB,2
BUTON3
BTFSC PORTA, 1
GOTO BUTON3
DURA
BSF PORTB, 1
CALL GECIKME
BTFSS PORTA, 1
GOTO DURA
GOTO BUTON
BCF PORTB,1
GECIKME
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2
DONGU3
MOVLW h'FF'
MOVWF SAYAC3
DONGU2
DECFSZ SAYAC3, F
GOTO DONGU3
DECFSZ SAYAC2, F
GOTO DONGU2
DECFSZ SAYAC1, F
GOTO DONGU1
RETURN
END
;-----------------------------------------------------------
Son düzenleme: