Timer'i butonla başlatamıyorum?

Başlatan AKP, 17 Eylül 2009, 16:02:11

AKP

iyi günler timer'i istediğim zaman butonla başlatmak istiyorum ama buton kontrol edemiyorum. boton kontrol döngüsü içinde intcon.2=0 yazsamda olmuyor

ON INTERRUPT GoTo KESME    'kesme oluşursa KESME adlı etikete git.
OPTION_REG=%10000101       'Pull up dirençleri İPTAL- Bölme oranı 1/64.
INTCON=%10100000           'Kesmeler aktif ve TMR0 kesmesi aktif
TMR0=0
CMCON=7                    '16F628 de komparatör pinleri iptal hepsi giriş çıkış

X           VAR WORD  
Y           VAR BYTE  
SAYI        VAR BYTE   
SAYAC       VAR BYTE
SN          VAR BYTE
DAK         VAR BYTE
SAAT        VAR BYTE
GUN         VAR BYTE

symbol buton=porta.0

buton_kontrol:
if buton=1 then goto basla
goto buton_kontrol

basla:
...
..
goto basla

DISABLE
KESME:
SAYAC=SAYAC+1              'kesme sayacı  1 sn= 61(sayac) x 256 (Tmr0) x 64 (bölme)
IF SAYAC=58 then           '61 adet kesme olunca 1 sn. süre geçiyor.(999424 us)
SAYAC=0                    'sayaç sıfırlanıyor
SN=SN+1 
Y=Y+1                      'saniye değeri bir artırılıyor
IF SN=60 THEN              'saniye 60 olmuş ise 1 dakika süre geçti ohalde
SN=0                       'saniye sıfırlanıyor
DAK=DAK+1                  'dakika değeri bir artırılıyor
IF DAK=60 then             'dakika 60 olmuş ise 1 saat süre geçti
DAK=0                      'dakika sıfırlanıyor
endif                      'gün sıfırlanıyor 1 yıl geçti
ENDIF 
ENDIF
INTCON.2=0                 'TMR0 Kesme bayrağı sıfırlanıyor
RESUME
ENABLE

selvi

butonla tmr0 kesmesini aktifleyecek sekilde ayarla.(intcon.5=1)ilk tanimlarda tmr0 kesmesini kapat.
Yaşam anlamlandırıldıkça kutsaldır....

Ruzgarbey

Alıntı yapılan: "AKP"iyi günler timer'i istediğim zaman butonla başlatmak istiyorum ama buton kontrol edemiyorum. boton kontrol döngüsü içinde intcon.2=0 yazsamda olmuyor

ON INTERRUPT GoTo KESME    'kesme oluşursa KESME adlı etikete git.
OPTION_REG=%10000101       'Pull up dirençleri İPTAL- Bölme oranı 1/64.
CMCON=7                    '16F628 de komparatör pinleri iptal hepsi giriş çıkış

X           VAR WORD  
Y           VAR BYTE  
SAYI        VAR BYTE   
SAYAC       VAR BYTE
SN          VAR BYTE
DAK         VAR BYTE
SAAT        VAR BYTE
GUN         VAR BYTE

symbol buton=porta.0

buton_kontrol:
if buton=1 then goto basla
goto buton_kontrol

basla:
INTCON=%10100000           'Kesmeler aktif ve TMR0 kesmesi aktif
TMR0=0
INTCON.5=1 'TEKRAR EDELİM GARANTİ OLSUN
...
..
goto basla

DISABLE
KESME:
SAYAC=SAYAC+1              'kesme sayacı  1 sn= 61(sayac) x 256 (Tmr0) x 64 (bölme)
IF SAYAC=58 then           '61 adet kesme olunca 1 sn. süre geçiyor.(999424 us)
SAYAC=0                    'sayaç sıfırlanıyor
SN=SN+1 
Y=Y+1                      'saniye değeri bir artırılıyor
IF SN=60 THEN              'saniye 60 olmuş ise 1 dakika süre geçti ohalde
SN=0                       'saniye sıfırlanıyor
DAK=DAK+1                  'dakika değeri bir artırılıyor
IF DAK=60 then             'dakika 60 olmuş ise 1 saat süre geçti
DAK=0                      'dakika sıfırlanıyor
endif                      'gün sıfırlanıyor 1 yıl geçti
ENDIF 
ENDIF
INTCON.2=0                 'TMR0 Kesme bayrağı sıfırlanıyor
RESUME
ENABLE


Saygılarımla kolay gelsin
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK