Sayın arkadaşlar,pic12f675 için yazdığım yazılım elektrikler kesildiğinde kaldığı yerden devam etsin istiyorum. Aşağıda yazdığım yazılım doğrumudur. Yardımlarınız için şimdiden teşekkürler. Saygılarımla.
'**************************************************************** CMCON = %00000111 ANSEL= 0 ' a/d converter iptali için. TRISIO = %111011 ' 2. bit çıkış-- diğerleri giriş. '------------------------------------------------------------------------------- @ device pic12f675 @ device pic12f675, wdt_on @ device pic12f675, protect_on @ device pic12f675, mclr_off @ device pic12f675, intrc_osc_noclkout '------------------------------------------------------------------------------- SAYAC VAR WORD SYMBOL ROLE = GPIO.2 SAYAC=0
BASLA : PAUSE 10000 SAYAC=SAYAC+1 IF SAYAC=40 THEN GOTO ROLEAC write 0, SAYAC.highbyte write 1, SAYAC.lowbyte GOTO BASLA
BASLA : PAUSE 10000 ' 10 sn bekle SAYAC=SAYAC+1 ' sayacı 1 arttır IF SAYAC=40 THEN GOTO ROLEAC ' sayac=40 ise ROLEAC'a git dönerken sayacı sıfırla write 0, SAYAC.highbyte ' sayacın üst baytını 0 nolu eprom adresine yaz write 1, SAYAC.lowbyte ' sayacın üst baytını 0 nolu eprom adresine yaz GOTO BASLA 'başa dön
BU programı incelersek gereksiz yere epromun ilk iki baytına 10 sn de bir değer yazıyoruz. zaten sınırlı olan eprom ömrünü tüketimine katkıda bulunuyoruz.
Bunların yerine elektrik kesildiğinde bunu algılayacak bir ek devre ve algılamayı yaptıktan sonra eproma yazdıracak süre boyunca devreyi besleyecek ek devreye ihtiyaç var. " Kesme" konusu ile ilgilenerek yapabilirsin.
ROLEAc ı inceleyelim
ROLEAC : PAUSE 100 ' buraya geldik 100 ms bekleyelim HIGH ROLE ' role olarak tanımladığımız pini high yapalım peki ne zaman sıfır yapıyoruz? SAYAC=0 'sayacı sıfırla , dönmek istediğimiz yere de dönemedik...... ( Go to yerine gosub kullanın ve gosub için dönüş komutunu yazın) END ' program bitti.....
< Bu mesaj bu kişi tarafından değiştirildi ferit -- 2 Mart 2015; 10:46:42 >
elektrikler kesildiğinde kaldığı yerden devam etsin istiyorum.
Aşağıda yazdığım yazılım doğrumudur.
Yardımlarınız için şimdiden teşekkürler.
Saygılarımla.
'****************************************************************
CMCON = %00000111
ANSEL= 0 ' a/d converter iptali için.
TRISIO = %111011 ' 2. bit çıkış-- diğerleri giriş.
'-------------------------------------------------------------------------------
@ device pic12f675
@ device pic12f675, wdt_on
@ device pic12f675, protect_on
@ device pic12f675, mclr_off
@ device pic12f675, intrc_osc_noclkout
'-------------------------------------------------------------------------------
SAYAC VAR WORD
SYMBOL ROLE = GPIO.2
SAYAC=0
BASLA :
PAUSE 10000
SAYAC=SAYAC+1
IF SAYAC=40 THEN GOTO ROLEAC
write 0, SAYAC.highbyte
write 1, SAYAC.lowbyte
GOTO BASLA
ROLEAC :
PAUSE 100
HIGH ROLE
SAYAC=0
END