Elektrotekno.com Ana Sayfa || Programlanabilir Cihaz ve Elemanlar


Pic ile Eprom Kullanımı Yardım!!

Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Kod Paylaşım ve Soru Cevap Alanı kategorisi içerisindeki Programlanabilir Cihaz ve Elemanlar forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "Pic ile Eprom Kullanımı Yardım!!" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!
Kayıt: 06 Ksm 2007
Mesajlar: 17

Offline
SOVALYE
Tarih: 13 11 2007 17:57

PIC 16f877 ile bir devre yapıyorum ancak yazdığım program dahili eproma sığmıyor.
sorunumu çözecek 24c256 eprom kullanmak olacak.
Yazdığım programın bir kısmını eproma atıp oradan çağırıp nasıl çalıştırabilirim ?..
Mesela LCD ye saat ve tarih yazan programı buraya atıp gerektiğinde çağırıp çalıştırılabilirmi ?
(saati DS13B02 ile yaptım)
Kayıt: 15 Arl 2006
Mesajlar: 15
Konum: istanbul / ikitelli
Offline
Cemal1975
Tarih: 13 11 2007 21:08

Writing to the FLASH Program


pic16f877'nin program memory'si dahili eeprom gibi kullanılabilir. mesela yazdığın program 2000 satır uzunluğunda ise kalan 6192 satırı eeprom gibi kullanabilirsin.

Kolay gelsin.
Başa dön
Kayıt: 06 Ksm 2007
Mesajlar: 17

Offline
SOVALYE
Tarih: 13 11 2007 23:13

Harici bir eepromu dahili bir eeprom gibi kullanmak istiyorum...
Yazdığım program 877 nin 8K lık eeproma sığmadı...
24c32 gibi 32k lık bir epromu picin kendi epromu gibi nasıl kullanırım?
eeproma yazma ve okuma yapabiliyorum..
Programı pic BasicPro ile yazıyorum ve yetersiz bellek hatısı vermeye başladı..
ilgilenenlere şimdiden teşekkürler...
Başa dön
Kayıt: 22 Nis 2006
Mesajlar: 381

Offline
ete
Tarih: 14 11 2007 09:32

Kullandığınız terimleri biraz değiştirmek gerek. Pic in içinde bir flash ROM bir de Eeprom mevcut. Flash Rom'a program yerleştiriliyor. Eeproma ise data bilgisi koyulabiliyor. Her ikisinden birbirlerine geçiş mümkün olabiliyor.
Şimdi Sovalye arkadaşın isteği anladığım kadarı ile harici bir eeprom kullanarak program hafızasını genişletmek.
Öncelikle, harici bir eeprom kullanarak oraya program bilgisi depolayabilirsin. Bu bilgiyi oradan alıp pic in program hafızasınada yazabilirsin. Ancak pic daima çalıştıracağı programı kendi rom'unda ister. Bu durumda şayet sen program hafıza limitini aşıyor isen eepromdan aldığın program bir öncekinin üzerine yazılacak demektir. Bu durumda önceki programın bozulacak demek oluyor. Bütün bunları organize edebilecekmisin. O kadar ince hesap ve ayarlama gerektirirki bu işlem muhtemelen ilk denemede pic kilitlenecektir. Ben hiç denemedim lazımda olmadı. Kısa işlemler için bu alternatifi deneyebilirsin. Ama uzunbir program parçası için bir şey diyemiyorum. Dene ve gör demek daha doğru galiba.

Kod (program) hafızasına bilgi aktarmak için Basic de (PBP) WRITECODE adres,bilgi (16Bit) komutu ile yapılır. Ayrıca POKE adres,bilgi , komutuda kullanılabilir sanırım. Yapılacak iş hangi adresten itibaren kod yazacağını tespit etmek ve sonra ilgili kodu harici eepromdan okuyup kod hafızasına yukarıdaki komut ile yazmaktan ibaret. Word tipinde bir değişken kullanılacığını görüyorsunuz. Eepromdan 8 bitlik bilgide okusanız bu 16 bitlik değişkene aktarılacak ve sonuçta bu bilgi ilgili adrese yazılacaktır.

Bu arada 877 de hafıza blokları mevcuttur. Bunu aynı bölgeyi kullanan birden fazla hafıza entegresi gibi düşünün. Normal olarak Basic bu blok kullanımını otomatik ayarlamaktadır. Ancak ASM kullanıyorsanız her bir değişkeninizin hangi blokta yer aldığını sizin takip etmeniz gerekir. Bu yüzden uzun programlarda şayet ilk blok aşılmış ise "code crosses boundary" ikazı verilir. Başına da Warning! ifadesi koyulur. BU bir ikaz dır sizi uyarmak için. Pek çok arkadaş bunu hata zannetmekte ve hafızanın tükendiğini düşünmektedirler. Halbuki böyle bir şey yok. Hafıza geçildiği zaman "1fff exceed" gibi bir şey çıkması gerek.
Şayet Basic kullanıyorsanız ve Micro Code Studio'yu da birlikte kullanıyorsanız, hafıza bloğu aşımları ile ilgili ikazları kaldırabilirsiniz. Bunun için View menüsünden Editor Options ları seçin. Orta yerde alt alta dizilmiş opsiyonlar ve başlarında kutucuklar vardır. En altta Disable 'code crosses boundary' şeklinde bir seçenek var bu seçeneğin kutucuğuna bir check işareti koyun olsun bitsin.

Ete
Başa dön
Kayıt: 06 Ksm 2007
Mesajlar: 17

Offline
SOVALYE
Tarih: 14 11 2007 10:04

"1fff exceed" uyarısı alıyorum..
Programı MicroCode Studio ile yazıyorum. ve dediğiniz gibi program belleği yetmedi ve program yarım kaldı..
şöyle bişey düşünüyorum...diyelim ki ekrana saat-tarih ve derece yazan bi programım var. ben bir tuşa basınca ekran değişiyor ve benim programın menüsü ekrana geliyor.saat ve tarih programını program hafızasında yer açmak için harici bir eeproma (24cxx) gibi bi yere atayım ekranda saati göstereceğim zaman program eeprom okuma yapıp ekrana yazsın ve program hafızasında yer işgal etmesin.Daha önce harici eeprom kullanmadım nasıl yaparım bilmiyorum..
Yada program hafızası yerine harici bri 24cxx serisi eeprom kullanarak programı direk oraya yazsam aslında hiçbir sorun kalmayacak ve yer sıkıntımda olmayacak ama nasıl yapılır bilmiyorum..
Biraz araştırdım sanırım böyle bişey yapan yok.Yardımlarınızı bekliyorum..
Şimdiden Teşekkürler....
Başa dön
Kayıt: 22 Nis 2006
Mesajlar: 381

Offline
ete
Tarih: 14 11 2007 10:41

Bu yapmak istediğin hiç de kolay bir şey değil. Biliyorsun pic hex formatına çevrilmiş program kodları ile çalışıyor.
Dolayısıyla kod hafızasından slip üzerine yazacağın program parçasının nereden başlayıp nerede bittiğini bilmen gerekiyor.
Başladığı yerden itibaren silip diğerini yerleştirmen lazımki bu seferde yeni ile eskinin bir birine uyum meselesi ortaya çıkacak. Uyumdan kastım basic derleyicisi ilk program parçası için kendine bir takım registerler set edecek, bu registerler silinmeden sen yerine yenilerini set etmen yada eski registerlerinin üzerine yenilerinis et etmen gerekir. Bunları nasıl yapacaksın.
Ben iyi derecde ASMbilmeme rağmen bunu yapacak cesareti kendimde görmüyorum. Bu iş zaten cesaret meseleside değil işin seni ne kadar uğraştıracağını düşününce vaz geçme meselesi. Sana tavsiyem 18F452 gibi bir şey kullan. Kısaca Program hafızası 32 K olan 18F serisinden pic ler var. Onlardan birinikullan olsun bitsin. Yoksa bu düşündüğünle posteki sayarsın.
Yapmayı istediğin işi şayet programın tamamı ASM de yazılırsa çok zor değil ama Basic de yazılan bir program için bunun uygulanabilirliği bence %1 gibi bir oranda.

Ete
Başa dön
Kayıt: 06 Ksm 2007
Mesajlar: 17

Offline
SOVALYE
Tarih: 14 11 2007 11:46

18F452 Donanım olarak hiçbir değişiklik yapmadan yazılımınızda küçük değişiklikler ile bu entegreye uyarlayabiliyor.
evet 32k fazlasıyla işimi görecek.. 18F452 iyi ve kolay bir çözüm olacak...
İlginize ve Yardımlarınıza Teşekkürler...

(Yaptığım çok kapsamlı ev otomasyon sistemi.Sistemin hem software hemde hardware ni kendim yapıyorum.Şimdilik Hafıza sorunu dışında bir problemim yok. 18F452 ile de bu sorunu çözmüş olacağım.)
Başa dön
Kayıt: 22 Nis 2006
Mesajlar: 381

Offline
ete
Tarih: 14 11 2007 12:18

Başarılar dilerim.

Kolay gelsin

ete
Başa dön



Pic ile Eprom Kullanımı Yardım!!


Benzer Konular

- Fırçasız D.A Motoru FUZZY Kontrol ACİLLL Yardım

- iki ayrı trafo merkezinden gelen iki hat - yardım
- MOSFET ile Dimmer (Yardım)
- Proteus ve USB kullanımı hakkkında yardım.
- 8051 robot projesi yardım!!
- Generatör talep gücü hesaplama - yardım
- Ustalardan Acil yardım Lazım (step motor daha çok elektronikle ilgili)
- PİC 16F73 kullananlardan yardım lazım
- sd card okuma yardım ????

- Matlab da histogram,yardım

- PIC16F84 Haftaya perşembeye kadar Yardım!!!(çok Önemli)

Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72