Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

eeprom

Başlatan erginkavakci, 09 Ocak 2006, 13:17:49

erginkavakci

fsan kardeş sağol ben devreyi yaptım ama lcd kullanmadım bana lcd siz lazım ben biraz değiştirdim denedim çalıştı ama kopyalamanın bittiğinde bir led yakmak istiyorum ama yapamadım benim yaptığımı yollayım düzeltip bir led baplarsan sevinirim
kod:

cont  con %10100000 '$A0

addr  var byte
iveri var byte
overi var byte

Adat   var porta.0  ' okunacak eeprom
Aclk   var porta.1

Bdat   var porta.2  ' Yazdirilacak eeprom
Bclk   var porta.3

cnt   var byte      

TrisA = 00101 'porta.0,2 pinler giris digerleri cikis
PortA = 0

TrisB = 0 ' portb pinler, hepsi cikis
PortB = 0

clear

Main:

   
   
   

   for cnt = 0 to 15
       addr = cnt
       i2cread Adat,Aclk,cont,addr,[iveri]
        lcdout $fe,$c0,"ADDR:",dec Addr," OKU:",hex2 iveri
       low portb.7
       pause 500
       
       overi = iveri
       i2cwrite Bdat,Bclk,cont,addr,[overi]
        lcdout $fe,$c0,"ADDR:",dec Addr," YAZ:",hex2 overi
       
   next
   
               
   

 
   
goto main
 
end
yardımlarınız için tşekkürler
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]

fsan

Alıntı yapılan: "erginkavakci"fsan kardeş teşekkür ederim  ben yaptım lcd siz olarak bazı yerlerini sildim ama işlem bitince bir led in yanmasını istiyorum nasıl yapabilirim kodlar

kardes birde su asagidaki yöntemi uygula, neticeyi bildir ;)

EEPROM KOPYALAYICI


@ device pic16F84, xt_osc, wdt_off, pwrt_on, protect_off

cont  con %10100000 '$A0

addr    var byte
iveri   var byte
overi   var byte

Adat    var porta.0  ' okunacak eeprom
Aclk    var porta.1

Bdat    var porta.2  ' Yazdirilacak eeprom
Bclk    var porta.3

StartSW var porta.4 ' Kopyalama baslat button
LED1    var portb.6 ' Kopyalama islem tamam LED
LED2    var portb.7 ' Kopyalama islem hatali LED
Cnt     var byte     

TrisA = 10101 'porta.0,2,4 pinler giris digerleri cikis 
PortA = 0

TrisB = 0 ' portb pinler, hepsi cikis
PortB = 0

high led1
high led2

Main:
    if StartSW = 1 then Main ' Start button basik ise devam et..
    for cnt = 0 to 32
        addr = cnt
        i2cread Adat,Aclk,cont,addr,[iveri],Error
        overi = iveri
        i2cwrite Bdat,Bclk,cont,addr,[overi],Error
        toggle led1 'LED yanip, sönüyor..   
        pause 100
    next
    low led1 ' islem tamam!
goto main

Error:
    high led1
    low led2  ' Kopyalama islem hatali !!
Goto Main
 
end


Proteus isis *.dsn ve pbp *.bas dosyalar:
http://home.no/fsan/projects/Diverse/EEPROM%20KOPYALAYICI

Kolay gelsin

erginkavakci

kardeş teşekkür ederim msn mi veriyorum eklersen konuşuruz
mucit_ergin@hotmail.com
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]

erginkavakci

kardeş proteus aldatıyor gerçekte yaptım kırmızı led hata ledi güzel çalışıyor ama işlemin bittiğini gösteren led in aslıyok hemen sönüyor
o kadar çabuk kopyalama olmaz epromu eksik kopyalıyor
ilk lcd li kodda: for  ve to komutunun karşısında 15 yazıyordu bunda 35 yazı yor bu neden
ben bunu şöyle deniyorum bir analog recivir in kanal durumunu ayarlayıp eeproma kaydedip başka bir eeproma atıyorum ama bazen zaman tutuyor oluyor bazen zaman sorunundan eksik oluyor programın kopyalama işlemi bitince otomatik olarak program kapanıp bir led i yakması lazım bende araştırıyorum  bilgilerinizi bekliyorum...............
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]

fsan

Alıntı yapılan: "erginkavakci"kardeş proteus aldatıyor gerçekte yaptım kırmızı led hata ledi güzel çalışıyor ama işlemin bittiğini gösteren led in aslıyok hemen sönüyor
merhaba,
kardes TV icerisinde monte edilmis haliyle kopyalamaya calisiyorsan belki sorun o yüzdendir? Mümkün ise eeprom'un I2C hattini TV den izole edip birde öyle dene. Bunun icin bir Analog CMOS switch (4052 veya benzeri PIC tarafindan kontrol edilebilir) belki asagidaki sema sana bu konuda bir fikir verebilir.
Programming Pin Isolation Schematic.

veya kopyalama sirasinda manuel olarak mekanik bir switch kullan. TV kapaliyken kopyalamak istersen eeproma baglayacagin kabloda eeproma enerji vermek icin +5V hatti bulunsun.
(+5V, GND, SCK, SDA)

Alıntı yapılan: "erginkavakci"
o kadar çabuk kopyalama olmaz epromu eksik kopyalıyor
ilk lcd li kodda: for  ve to komutunun karşısında 15 yazıyordu bunda 35 yazı yor bu neden
Bunun nedeni söyle olabilir:
Burdaki asil amac "100% complete code" yazip sunmak değil, sadece kisa örnekler sunarak yönlendirmek, yardimci olmak ;)

Daha öncede belirttigim gibi, 24C08 eeprom'un tamamini kopya edebilmek icin  "for ve to komutu" icerisinde (Eeprom Control Word) block adressing bitler (b1 ve b0) 255 sonrasi adresler icin degistirilecek.

Saygilar, sevgiler..

kolay gelsin

erginkavakci

kardeş sğol ama yanlış anlamışsın eepromu söküpte kopya cihazına takıyorum  birde bu dün akşam sorunu çözdüm hata lcd li kodlarda okuma ile yazma arasında pause 500   var  bu lcdsizde yoktu ben okuma ile yazma arasına pause 100 ve birkaç ekleme daha yaptım sorunu çözdüm güzel çalışıyor teşekkür ederim yardımların için
yalnız bir sorum olacak tanımlamaları byte  yerine word yapsam bütün eepromları kopyalarmı=?
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]

fsan

Alıntı yapılan: "erginkavakci"dün akşam sorunu çözdüm hata lcd li kodlarda okuma ile yazma arasında pause 500   var  bu lcdsizde yoktu ben okuma ile yazma arasına pause 100 ve birkaç ekleme daha yaptım sorunu çözdüm
merhaba,
asil bu konuyu actigin icin sen sağol, bizde senin sayende 2 tane I2C hattini Tek PIC üzerinde denemis olduk  + calistirabildiysen ne güzel, tebrikler !! :)

Normalde I2CRead sonrasi pause\bekleme gerektigini sanmiyorum,  sadece I2CWrite sonrasi 10ms felan bekleme tavsiye ediliyordu sanirim.

Alıntı Yapyalnız bir sorum olacak tanımlamaları byte  yerine word yapsam bütün eepromları kopyalarmı=?
Kopyalanacak Eepromlarin datasheet'lerini tek, tek  incelemek gerekir.  Belki bir kismini o sekilde kopyalarsin? ama büyük bir ihtimal soruna hayir cevabi gelecektir cünkü bir sürü farkli eeprom var ;)

Petek

Alıntı yapılan: "SpeedyX"evet bendede öyle görünüyor, nasıl düzeltiriz bunu?
önce bir hata mesajı veriyor ..... fontları yüklü değil diye, sonra yazılar kırmızı oluyor ve çöz çözebilirsen :)
Bugün Mozilla Firefoxtan ve tabi ki ie den çok daha güzel bir browser keşfettim. http://www.maxthon.com/tr/index.htm

Özellikleri saymakla bitmez :) Kapatırken en son görünen sayfayı açılışta tekrar yükletebiliyorsunuz, shockwave dosyalarını saklayabiliyorsunuz, bağlantıları yeni sekmede açabiliyorsunuz,...

Bir de şu dolar işareti problemi de ortadan kalkıyor  ;)

Kurarken beraberinde hava tahminlerine bağlanan bir şey var. İsterseniz kurmayabilirsiniz.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

OG

Banka hesapları gibi işler için kullanacağınız browserlara dikkat ediniz arkadaşlar.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Lütfi AYYILDIZ

Arkadaşlar bu eeprom işi beni delirtti diyebilirim. Programım aşağıda . Aslında bu bir test programı eeproma bilgi yazılıp okunduğunu görmek için. Simülasyonda herşey gayet güzel çalışıyor fakat gerçekte veriler görünmüyor. Devrende hata var diyeceksiniz maalesef yok keşke olsada çalışmasa.işte kodlarım;
include "modedefs.bas"
SCL VAR PORTA.0
SDA VAR PORTA.1
KONTROL CON $A0
IO var PORTB.7
A var byte
c var byte
d var byte
adres_x var byte
adres_r var byte
reset:
PAUSE 1000
SEROUT2 IO,16780,["Seri eeprom test",10,13]
adres_x=0
adres_r=0
Tx:
SerIn2 IO,16780,[c]
if C=$D then OKU 
I2Cwrite SDA,SCL,KONTROL,adres_x,[c]
pause 10
adres_x=adres_x+1
goto Tx          

oku:
FOR A=0 TO adres_x-1 
I2Cread SDA,SCL,KONTROL,adres_r,[d]
pause 10
adres_r=adres_r+1

serout2 IO,16780,[d,10,13]
NEXT 
GOTO reset

Lütfi AYYILDIZ

Arkadaşlar yazma işlemi tamamda eepromu okuttuğumda verilerin yazıldığını görebiliyorum, okuma işlemi niye olmuyor bu WP ile ilgili birşeymi acaba. WP bende şeseye bağlı.Kitaplarda da okuma ve yazma işlemini yapmak için bu pin sürekli şasede.