PIC 16F877A TIMER HATASI

yusufburak

Üye
Katılım
13 Kas 2011
Mesajlar
142
Puanları
1
Yaş
33
Merhaba
Assembly dilinde yazdığım programda ayrı ayrı TIMER0 ve TIMER1 kesmelerinde ledlerin yanması gerekiyo ancak programı derlediğimde her komut için hata alıyorum size zahmet bi bakabilir misiniz ?

list P=16F877A
include <16F877A.inc>


SAYAC0 EQU 0X21
SAYAC1 EQU 0X23
ORG 0X00
GOTO BASLA
ORG 0X04
GOTO KESME


BASLA:
BANKSEL TRISD
MOVLW 0X00
MOVWF TRISD
MOVLW 0X01
MOVWF PIE1
MOVLW 0XE0
MOVWF INTCON
MOVLW 0X02
MOVWF OPTION_REG
BANKSEL PORTD
CLRF PORTD
MOVLW 0X31
MOVWF T1CON
CLRF PIR1
MOVLW D'6'
MOVWF TMR0
MOVLW 0X0B
MOVWF TMR1H
MOVLW 0XDC
MOVWF TMR1L
GOTO BASLA


KESME:
BANKSEL PIR1
BTFSC INTCON,2
CALL KESME0
BTFSC PIR1,0
CALL KESME1
RETFIE


KESME0:
BCF INTCON,2
INCF SAYAC0,1
MOVLW D'200'
SUBWF SAYAC0,0
BTFSS STATUS,2
RETURN
CLRF SAYAC0
MOVLW 0X01
BANKSEL TMR0
MOVLW D'6'
MOVWF TMR0
XORWF PORTD,0
MOVWF PORTD
RETURN


KESME1:
BANKSEL PIR1
BCF PIR1,0
INCF SAYAC1,1
MOVLW D'16'
SUBWF SAYAC1,0
BTFSS STATUS,2
RETURN
CLRF SAYAC1
MOVLW 0X0B
MOVWF TMR1H
MOVLW 0XDC
MOVWF TMR1L
MOVLW 0X01
XORWF PORTD,1
MOVWF PORTD
RETURN




END
 
Teşekkürler assembly dilinde yazmak zorundayım bu kodları hatalarımı az çok buldum sayılır düzeltmeyi bitirdikten sonra yeniden sorabilirim.
 
Çalışan kodlar aşağıdaki gibidir...

include <P16F877A.inc>
list P=16F877A


SAYAC0 EQU 0X21
SAYAC1 EQU 0X23
ORG 0X00
GOTO BASLA
ORG 0X04
GOTO KESME


BASLA:
CALL ATAMALAR
BASLA1:
BANKSEL TRISD
MOVLW 0X00
MOVWF TRISD
MOVLW 0X01
MOVWF PIE1
MOVLW 0XE0
MOVWF INTCON
MOVLW 0X02
MOVWF OPTION_REG
BANKSEL PORTD
CLRF PORTD
MOVLW 0X01
MOVWF T1CON
CLRF PIR1
GOTO BASLA1


ATAMALAR:
MOVLW D'6'
MOVWF TMR0
MOVLW 0X0B
MOVWF TMR1H
MOVLW 0XDC
MOVWF TMR1L
RETURN


KESME:
BTFSC INTCON,2
CALL KESME0
BTFSC PIR1,0
CALL KESME1
RETFIE


KESME0:
BCF INTCON,2
INCF SAYAC0,1
MOVLW D'200'
SUBWF SAYAC0,0
BTFSS STATUS,2
RETURN
CLRF SAYAC0
BANKSEL TMR0
MOVLW D'6'
MOVWF TMR0
MOVLW 0X01
XORWF PORTD,0
MOVWF PORTD
RETURN


KESME1:
BANKSEL PIR1
BCF PIR1,0
INCF SAYAC1,1
MOVLW D'16'
SUBWF SAYAC1,0
BTFSS STATUS,2
RETURN
CLRF SAYAC1
MOVLW 0X0B
MOVWF TMR1H
MOVLW 0XDC
MOVWF TMR1L
MOVLW 0X02
XORWF PORTD,0
MOVWF PORTD
RETURN




END
 

Forum istatistikleri

Konular
127,956
Mesajlar
913,904
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Çevrimiçi üyeler

Geri
Üst