Merhaba Arkadaşlar,
12F675 de buton ile led kontrolü gibi asm dilinde basit bir program yazmaya çalışıyorum fakat sonuç alamadım. yazdığım program aşağıdadır hata yı gören arkadaşların yardımını istiyorum.
;LED
LIST P=12F675
INCLUDE "P12F675.INC"
SAYAC1 EQU H'0C' i
SAYAC2 EQU H'0D'
CLRF GPIO
BCF STATUS,RP0
CLRF GPIO
MOVLW 07h
MOVWF CMCON
BSF STATUS,RP0
CLRF ANSEL
MOVLW H'01'
MOVWF TRISIO
BCF STATUS,RP0
BASLA
BTFSS GPIO,0
GOTO BASLA
BSF GPIO,1
BSF GPIO,2
CALL TIMER
CLRF GPIO
CLRF GPIO
GOTO BASLA
TIMER
MOVLW H'FF'
MOVWF SAYAC1
TIMER1
MOVLW H'FD'
MOVWF SAYAC2
TIMER2
DECFSZ SAYAC2,F
GOTO TIMER2
DECFSZ SAYAC1,F
GOTO TIMER1
RETURN
END
Sayac1 ve sayac2 için atadığın adreslere bir bak.
veri kağıtlarında 20h'dan başlıyor görünüyor... (sayfa 8)
pullup'ları açar isen gpio,0 'a direnç koymaya gerek kalmaz
ram bölgesinide macro'layarak kullanabilirsin
config satırını eklemwyi sakın ihmal etme
__CONFIG _CPD_OFF & _CP_OFF & _BODEN_OFF &_PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF
list p=12f675 ;list directive to define processor
Errorlevel,-302
#include "p12f675.inc" ;processor specific variable definitions
;-------------------------------------------------------------------
CBLOCK H'20'
SAYAC1
SAYAC2
ENDC
;-----------------------------------------------------------------------
CLRF GPIO
BCF STATUS,RP0
CLRF GPIO
MOVLW 07h
MOVWF CMCON
BSF STATUS,RP0
;----------------------------------------------------------
movwf WPU ; Select Weak Pull-up Enabled
bcf OPTION_REG,7 ; Enable all Weak Pull-up
movlw b'00000001'
;----------------------------------------------------------
CLRF ANSEL
MOVLW H'01'
MOVWF TRISIO
BCF STATUS,RP0
BASLA
BTFSS GPIO,0
GOTO BASLA
BSF GPIO,1
BSF GPIO,2
CALL TIMER
CLRF GPIO
CLRF GPIO
GOTO BASLA
TIMER
MOVLW H'FF'
MOVWF SAYAC1
TIMER1
MOVLW H'FD'
MOVWF SAYAC2
TIMER2
DECFSZ SAYAC2,F
GOTO TIMER2
DECFSZ SAYAC1,F
GOTO TIMER1
RETURN
END
yazdığınızı aynı şekilde kopyalayıp yapıştırdım fakat çalışmadı acaba hatamı var bi yerde ?
__CONFIG _CPD_OFF & _CP_OFF & _BODEN_OFF &_PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF
list p=12f675 ;list directive to define processor
Errorlevel,-302
#include "p12f675.inc" ;processor specific variable definitions
;-------------------------------------------------------------------
CBLOCK H'20'
SAYAC1
SAYAC2
ENDC
;-----------------------------------------------------------------------
CLRF GPIO
BCF STATUS,RP0
CLRF GPIO
MOVLW 07h
MOVWF CMCON
BSF STATUS,RP0
;----------------------------------------------------------
movwf WPU ; Select Weak Pull-up Enabled
bcf OPTION_REG,7 ; Enable all Weak Pull-up
movlw b'00000001'
;----------------------------------------------------------
CLRF ANSEL
MOVLW H'01'
MOVWF TRISIO
BCF STATUS,RP0
BASLA
BTFSS GPIO,0
GOTO BASLA
BSF GPIO,1
BSF GPIO,2
CALL TIMER
CLRF GPIO
CLRF GPIO
GOTO BASLA
TIMER
MOVLW H'FF'
MOVWF SAYAC1
TIMER1
MOVLW H'FD'
MOVWF SAYAC2
TIMER2
DECFSZ SAYAC2,F
GOTO TIMER2
DECFSZ SAYAC1,F
GOTO TIMER1
RETURN
END
hemen isis'ledim start verilince gpio2 ve 3 led bağladım yanıyorlar gpio0 'da buton var basınca sönüyor.