SAYICI

Başlatan polar, 14 Kasım 2008, 22:33:35

polar

arkadaşlar pic programlama konusunda az çok bilgim var fakat işyerimde benden istenen bir sayıcı yapmam gerektiğinde ve bu sayıcının enerji kesildiğinde saydığı sayıyı silmemesi gerektiğinde tıkandım lütfen acil yardım. programım tamam pbp da yazdım saymada problem yok.bu arada ortak katod 7 segment displayi tarama yöntemiyle tasarladım. hafıza pili denedim fakat ni-cd pil kullanmama rağmen pil kısa zamanda deşarj oluyor(enerji kesildiğinde display kapanıyor pil sadece pic'i besliyor) ACİL YARDIM LÜTFEN!!!

hatmeto

1. eproma kaydetmeyi dene
2. Enerji kesildiğinde displayler sösün ama pic çalıssın.
Bir admin ataasözü derki: "biliyorsan paylaş mod yapsınlar. bilmiyorsan sus banlamasınlar"

polar

eproma nasıl yazılır sorun orada zaten!!??

Tagli

Alıntı yapılan: "polar"eproma nasıl yazılır sorun orada zaten!!??
Bir ara başka bi başlıkta devreye büyük bir kapasitör bağlanması önerilmişti (hatta birisi sorunu bu şekilde çözdüğünü belirtmişti). Ama elektriğin kesildiği nasıl anlaşılıyor onu bilmiyorum. Kesintiyi hemen anlarsan kapasitör boşalana kadar EEPROM'a yazacak vaktin olur sanırım.
Gökçe Tağlıoğlu

polar

programda ben elektrik'in kesildiğini tanımlarım ama bana eeproma yazmanın kodları lazım. her hane için eeproma yazmam lazım(binler-yüzler-onlar-birler). ve tabi daha sonra  enerji geldiğinde bu sayacları eepromdan okumasını sağlayacak kodlar. pbp da yazıyorum..

ete

PBP da eproma (picin kendi epromuna) yazmak için;

WRITE adres (0-255 arası) , SAYI (0-255 arası):PAUSE 10

komutu kullanılır. Adres epromun hafıza adresi olup 0-255 arasında bir değerdir. Ancak bazı piclerde hafıza miktarı farklı olabilir. Data sheet den bakıp ona göre adres vermek gerekebilir.

SAYI ise hafızaya yazılacak değerdir (saklanacak değer). Buda 0-255 arası bir rakam olmalıdır.
Word tipinde bir değişkeni kayıt etmek isterseniz o zaman 2 adres kullanmak durumundasınız. Şöyleki;
WRITE Adres , Degisken.Byte0:pause 10
WRIT Adres+1 , Değişken.Byte1:pause 10

Hafızadaki bir değeri okumak için ise;

READ Adres, Sayı şeklinde kullanmanız gerekir. Okumadan sonra pause vermeniz gerekmez.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

polar

Teşekkürler ete hocam anladım fakat eeprom adresinde adres olayı şu şekilde olacak değilmi yanlış anlamamışım.eeprom hafızasını bir apartman
gibi düşünüp adreslemeyide daire kapı numarası olarak düşünüp mesala x sayısını şu kapı numaralı daireye koy şeklinde yapmalıyız değilmi.??


BIRLER=9
ONLAR=8
YUZLER=7
BINLER=6

WRITE 10,BIRLER :PAUSE 10
WRITE 11,ONLAR : PAUSE 10
WRITE 12,YUZLER :PAUSE 10
WRITE 13,BINLER :PAUSE 10

şeklindemi?

ete

Aynen öyle olacak. Numara verilmiş kutucuklar gibi düşünün ve hangi kutuya hangi bilginin koyulacağını kutu numarası ile ayarladığını kabul edin.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

polar

TAMAMDIR HOCAM SAĞOLUN