18f452 tmr0 16 bit sorunu

Başlatan tarum31, 01 Kasım 2014, 00:49:52

tarum31

mrb arkadaşlar
ben 18f452 de tmr0 intertturp kullanarak 1000 ms bir süre yapmaya çalışıyorum bunu için
tmr0
16 bit
bölme oranı 1:28
ve tmr0H=$67
    tmr0L=$69
ayarladım...
buraya kadar sorun yok sorun isiste  yaptım similasyonda sadece tmr0L degerin değiştiğni tmr0H degerin değişmediği ve tmr0L degerin FF değerine ulaştığında kesme meydana geldini gördüm..
neden TMR0H değeri değişmiryor.....
ACİL YARDIM

Device = 18F452
XTAL = 20


INTCON.7=1 'TÜM KESMELER AÇMA-KAPAMA
INTCON.6=1 'TÜM KESMELER AÇMA-KAPAMA
T0CON.7=0    'TMR0 KESMESİ AÇMA   
T0CON.6=0    'tmr0 16 bit ayarlandı
T0CON.5=0    'tmr0 dahili clock
T0CON.3=1
T0CON.2=1    ' \
T0CON.1=1    '  |-> prescale degeri 1/128 ayarlandı
T0CON.0=0    ' /

Output PORTB.0
Symbol TMR0_START=T0CON.7
Symbol KESME_ON=INTCON.5
Dim puls_say As Byte
Dim puls_bos_say As Byte
On Interrupt GoTo KESME   'kesme oluşursa KESME adlı etikete git.
TMR0H=$67   '1000 ms için tmr0 değeri $6769 -->26473
TMR0L=$69   '

PORTB.0=0

Clear

KESME_ON=1


puls_say=0
puls_bos_say=0
PORTB.0=1
TMR0_START=1

den:
nop
GoTo den

Disable       
KESME:
       
        If INTCON.2=1 Then
          TMR0H=$67
          TMR0L=$69
          If puls_say<57 Then
               If PORTB.0=0 Then
                    PORTB.0=1
               Else
                    If PORTB.0=1 Then
                    PORTB.0=0
                    EndIf
               EndIf
                  If PORTB.0=1 Then
                    puls_say=puls_say+1
                  End If
          Else
            PORTB.0=0
            puls_bos_say=puls_bos_say+1
            If puls_bos_say>2 Then
                puls_say=0
                puls_bos_say=0
            EndIf
          EndIf   
        EndIf
CIK:     
        INTCON.2=0  'TMR0 Kesme bayrağı sıfırlanıyor
         Resume
         Enable
End     

F.T

TMR0=26473 tanımlayıp denermisin.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

tarum31

mrb f.t söyledğin yöntemi denedim proton program "variable 'TMR0' not not found (pwm deneme.bas) hatası veriyor dostum..

tarum31

tmr0 yerine TMR0LH=24673 kullanılması gerekiyor onu denedim aynıs
sadece TMR0L FF kadar sayıyor ve kesme oluşuyor