Eproom daki değişkene göre

Başlatan elektroombank, 20 Eylül 2005, 12:12:16

elektroombank

RBSDEGERI VAR BYTE
RBSADRESI VAR BYT
SCL VAR PORTA.6 ' 24C16 asenkron iletişim için bağlanana clok portu
SDA VAR PORTB.7 ' 24C16 asenkron iletişim data gönderme portu
KONTROL CON %10100000

      rbsadresi = $1
      I2CWRITE SDA, SCL, KONTROL, RBSADRESI,[RBSDEGERI]


YUKARIDAKİ KODU PROTEUSTA DENİYORUM.ama eeprom'a yazma filan yapmıyo...Ayrıca birşeylermi ınclude etmem gerekiyor.Yardımcı olursanız sevinirim.

HEXF2

Seri Eeprom pinlerini 4.7K ile pull-up yapmalısın

elektroombank

arkadaşlar ben 24c01'e yazmaktan vazgeçtim.pıc16f84'ün  eeprom'una yazıyorum. WRITE ile okumayı READ ile yapıyom...

 Ama bilmediğim nokta bu veriler kaydedildikten sonra PIC elektriği kesilince veya mclr ile reset yaptığımda bu veriler silinirmi...
Birde en son eklemelerim ile program baya bi uzadı.micro code ile derlediğimde

 adress limit of 3fffh exerded
hatası veriyo..Herhale pıc1f84 yetmiyor artık.
hafızası daha yüksek olan bir pıc önerrimisiniz.Ama yazılımda değişiklik yapmak istemiyorum mümkünse.Minumum değişiklikle başka bir PIC'e geçmek istiyorum

elektroombank

bu seferki biraz merak.

lcdout komutu ne kadar zaman geçirir.
BEn bunu zaman döngüsünü içinde kulandığımdan.Zaman döngümün süresi sapabilir.Bu komutların zamanın gösteren bir liste varmı?

CaFFeiNe

hassas zamanlama istiyorsan kesme kullanmalısın
daha çok kapasite için kurtarıyorsa 16F628 olabilir

elektroombank

MANUALRBSCALISTIR:
      PAUSE 500
      LCDOUT $fe,1, "   YUKARI"
      LCDOUT $fe, $C0, "   ASAGI"
MBTESTET:
        IF YUKARITUSU=0 THEN 
        HIGH MOTORILERI
        GOTO BEKLE
        ENDIF
        IF  ASAGITUSU=0 THEN 
        HIGH MOTORGERI
        LCDOUT $fe,1, "   YUKARI"
        LCDOUT $fe, $C0, " X ASAGI"
        ENDIF
        PAUSE 2  
        GOTO MBTESTET




 Yukarıdaki kodda yapmak isdeğim.LCd ekranda

     LCDOUT $fe,1, "   YUKARI"
                LCDOUT $fe, $C0, "   ASAGI"


yazsın.Sonra YUKARITUSU ve ASAGITUSU kontrol edilsin.Eğer YUKARUTUSU na basılı tutulursa basılı olduğu süre boyunca
HIGH MOTORILERI olsun ve LCD ye

       
             LCDOUT $fe,1, "   X YUKARI"
             LCDOUT $fe, $C0, "   ASAGI"

olsunki YUKARITUSU na bastığını görsün..
.Bıraktığında ise hemen
LOW MOTORILERI olsun



Eğer ASAGITUSU na basılı tutulursa basılı olduğu süre boyunca
HIGH MOTORGERI olsun ve LCD ye

       
            LCDOUT $fe,1, "     YUKARI"
             LCDOUT $fe, $C0, "  x  ASAGI"

olsunki ASAGITUSU na bastığını görsün..
Bıraktığında ise hemen
LOW MOTORGERI olsun