Şimdi Ara

pic12f675 eeprom sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
599
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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

    ROLEAC :
    PAUSE 100
    HIGH ROLE
    SAYAC=0
    END







  • önce programınız ne yapıyor ona bakalım...

    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 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.