tmr0 kesmesi hatası.

ulker_29

Üye
Katılım
5 Eki 2011
Mesajlar
1
Puanları
1
arkadaşlar merhaba,
bir pic 16f628a programı yazdım. tmr0 kesmesiyle bir saniye aralıklarla saniyeleri artırıp bunu 7 seg displayda göstericek. fakat tmr0 file registerine müdahale edemiyorum. program aşağıda ben detaylı incelememe rağmen bir hata bulamadım. bir hata bulan varsa yardımcı olursa sevinirim.

;===========DENEY-4.ASM==========26/12/2011=============BY TAHA ÜLKER=============
LIST P=16F628A
INCLUDE "P16F628A.INC"
;-----PROGRAMI BAŞLAMAYA HAZIRLA--------------------------------------------------
BIRLER EQU H'20' ;birler basamağı h'20' adresinde
S_10MS EQU H'21' ;10 ms sayıcı h'21 adresinde
ORG H'000'
GOTO PROG_BASLA
ORG H'004'
GOTO KESME_ALT_PROG
;---------------------------------------------------------------------------------
PROG_BASLA
CLRF BIRLER ;birler bas temizle
CLRF PORTB ;portb'yi temizle
BSF STATUS,5 ;bank1'e git
CLRF TRISB ;port'nin tüm uçlarını çıkış yap
MOVLW B'00000111' ;W=b?00000111? 1/256
MOVWF OPTION_REG ;OPTION_REG=W
BCF STATUS,5 ;bank0'a git
MOVLW B'10100000'
MOVWF INTCON
MOVLW H'D9' ;tmr0 ı burda kuruyorum ama nedense kurulmuyor!! movwf tmr0 ı da denedim.
MOVWF H'01'
;---------------------------------------------------------------------------------
DISP_GOSTER
MOVF BIRLER,0
ANDLW B'00001111'
MOVWF PORTB
GOTO DISP_GOSTER
;---------------------------------------------------------------------------------
KESME_ALT_PROG
BCF INTCON,2
MOVWF H'D9'
MOVWF H'01'
INCF S_10MS,F ;10 ms'leri tutan sayıcıyı 1 arttır
MOVLW H'64' ;w=d'100'
SUBWF S_10MS,W ;w=s_10ms-w
BTFSS STATUS,Z ;s_10ms 100 oldu mu
GOTO KESME_SONU ;hayır ana programa git
CLRF S_10MS ;evet, 10 ms'leri tutan sayıcıyı sıfırla
INCF BIRLER,F ;birler basamağını 1 arttır
KESME_SONU
RETFIE ;ana programa dön
;---------------------------------------------------------------------------------
END
 
C kullanımına geç çok faydasını görürsün. Bu senin yaptığın zor iş.
 

Forum istatistikleri

Konular
128,212
Mesajlar
915,856
Kullanıcılar
449,990
Son üye
alpersirakaya

Yeni konular

Geri
Üst