Picproje Elektronik Sitesi

DERLEYİCİLER => Proton+ => Konuyu başlatan: yuppi - 10 Nisan 2005, 15:40:37

Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: yuppi - 10 Nisan 2005, 15:40:37
Herkese kolay gele.
Proton kullanıyorum.Ve program içinde sabit bir yer varmı dataları yazıp derlenen hex dosyasının gerekli adresinde olsun ve programlıyacagım programda oradan okusun.
Bundan kastım ewrite komutu değil pic programlarken pic in eepromuna  aktarılmasını istiyorum.
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: ete - 11 Nisan 2005, 09:42:08
Anladığım kadarı ile Pic'in Data hafızasında belirli adresleri kendi işlerin için kullanmak istiyorsun. Buralara bilgi yazıp sonradan bunları eeproma aktarmak istiyorsun.

Bu iş için kullanabileceğin komut    <POKE adres,Data>  datayı okumak için ise   Peek adres,data  şekilinde. Peki direkt eeproma yazıp ordan kullanmayı neden istemiyorsun. Mutlaka bir sebebin vardır.

Pic Basic Pro da değişken tanımlayıp bunu istediğin bir adreste tutabiliyorsun. Proton'da bu iş yapılırmı bilmiyorum. Olsa idi bana göre tam istediğin seçenek olacak idi. Zira bir adresi kullandığın zaman pic'in aynı adresi data depolamak içinde kullanmaması gerekir. Bunun yolu programın başında bunu tanımlamak.

ETE
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: yuppi - 11 Nisan 2005, 11:43:17
Aslında cevabını okuyunca, sormak istedigimle alakalı bir soru sormadıgımı fark ettim.Aslında yapmak istedigim seninde dedigin gibi pic eepromuna bunları direk yazmak.Ama Bu data ları programın neresine koyacagımı bulamadım.Yani programı hazırlarken data ve  ewrite komutu ile bunları programla eeproma yazıp ordan da okuta biliyorum ama bu dataların eeproma yazılma işini programa yaptırmak istemiyorum.pic programlarken yazmak istiyorum.Umarım anlatabilmişimdir derdimi.
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: ete - 11 Nisan 2005, 12:01:31
Bu gibi durumlarda ben genelde programın en başına yani normal program döngüsünün dışına bu komutu yazıyorum. DOlayısıyla pic'i çalıştırdığın zaman yalnızca bir kere bu komut çalıştırılıyor ve datalar eeproma yazılıyor.  Tabiiki program içinde bu dataları değiştiriyor isen ve pic'i durdurup sonradan yeniden çalıştırıyor isen ve her çalıştırdığında yeniden bir önceki dataları kullanmak istiyor isen bunun çözümü yok veya şöyle bir çözüm var. Yalnızca bir kere bu dataları eWrite ile program başında ver ve pic'e kayıt et. Daha sonra programda tadilat yapıp ewrite bölümünü picden çıkart ve yalnızca programı pic'e kayıt et. Böylece pic'i durdurup yeniden çalıştırsan bile bir önceki dataların silinmemiş olacaktır.

Diğer bir yöntem de,
Pic'e programı kayıt ederken alt kısımda eeprom data değerleride görülüyor. Bu kısıma istediğin adrese datalarını HEX olarak kendin direkt yazabilirsin. Pic'i programladığın zaman bu datalar doğruca pic'in eepromuna yazılır.

Kolay Gelsin
ETE
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: yuppi - 11 Nisan 2005, 12:10:23
Teşekkürler.
Sanırım başka caremiz yok gibi.
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: mhk - 12 Nisan 2005, 01:16:16
sanırım programlayabileceğin pic'in eepromuna dataları dışardan girmek istiyorsun. Umarım doğru anladım. Bunun en kolay yolu pic'i programlaraken kulandığın programlayıcının data eepromuna programlama esnasında istediğin data adresine bilgi grerek yapabilirsin.
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: yuppi - 12 Nisan 2005, 01:32:16
Aslında dogru anlamışsın.Ama epic kullanıyorum ve onada dışarından şu dosyayıda datalara yaz diye bir bölüm bulamdım sadece 313 versiyonunda data nın silinmemesi için bir bolum var şu an onu kullanıyorum.
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: CaFFeiNe - 25 Nisan 2005, 17:46:44
yuppi arkadaşım EEPROM komutu işini görebilir yanılmıyorsam
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: sezgin05 - 25 Nisan 2005, 19:11:13
Yukarıdaki okuduklarıma bakılırsa program her açılışta eeproma bilgi yazacak ve çalışma sırasında da o bilgileri okuyacak.Bu ise eepromun belirli bir ömrü olan süreyi azaltacak.
Bunun yerine programa sadece eepromdan okuma komutu verilip yazma işlemi ise bir kereye mahsus programlama sırasında yapılmalı.Yani programlama sırasında picin eeprom bölgesine manuel olarak yazılmalı.Örneğin ICProg da programlanacak HEX açılır.Alt kısımda EEPROM bölgesi boştur.Eli le buraya ilgili adreslere Hexadecimal türünden sayılar girilir.Kolay gelsin.
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: SpeedyX - 25 Nisan 2005, 20:11:12
@sezgin05
pbp de EEPROM komutuda o işi yapıyor.
Başlık: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: bigbey - 09 Haziran 2005, 18:24:23
Sayın arkadaşlar
PIC in EEPROM'una programla bilgi yazmak isterseniz.
pıc 16f877 EEPROM adres başlangıcı HEX 2100

bu şekilde MPLAB da yazarsanız sabit bilgiler bir sefere mahsus EEPROMA yazılmış olur.

LIST P=16F877
INCLUDE "P16F877.INC"
;***********************************************
__config(_CP_OFF & _PWRTE_OFF & _XT_OSC & _WDT_OFF & _BODEN_OFF & _LVP_OFF)
;***********************************************
ORG H'00'
GOTO START
START
;BU BÖLÜMDE PROGRAMINIZI YAZIN

NOP
GOTO START

;******************************************************
ORG 0X2100

;BU BÖLÜMDE GİRMEK İSTEDİĞİNİZ DATAYI YAZIN
DT "BEKLESENE"


END

Kod verirken # butonuna 2 kere tıklayıp vereceğimiz kodları 2 tırnak arasına alalım öyle verelim "]kod["
Başlık: Ynt: PIC programlarken sabit degerleri nasıl aktarırım.
Gönderen: yuppi - 28 Kasım 2012, 23:15:43
Biraz geç oldu ama nasıl yaptığımı yazayım.
EData $00,$00,$12,$20,$03,$02,$00,$00
...
..
.
bu formatta yazılıyor.Programlayıcı bu dataları ilk adresten itibaren pic in epromuna yazıyor.