DS1302 Hafıza pili görev yapmıyor

Başlatan Recep METE, 30 Mayıs 2013, 09:48:52

Recep METE

Arkadaşlar DS1302 RTC saat uygulamamda 3voltluk harici pil işlem yapmıyor.Şöyleki 3voltluk hafızada tutma görevi yapacak pilin +'sını 8. bacağa şasesinide grnd bacağına takıyorum.Sonra aç kapa yapınca herşey baştan başlıyor.Ds1302 hafızada tutma görevini yapmıyor.Acaba nerede yanlış yaptım.3voltluk pili Vcc1'e takıyorum +'sı 8. bacağa -'si tam olarak nereye takılacak.Yardımcı olursanız sevimnirim.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

Kabil ATICI

Bağlantı doğru. Bu entegre bildiğim kadarı ile şarjlı sistemlerde kullanmaz üzere tasarlanmış bir ürün. Yani  Lityum pil bağladığın bacağa normal pil bağlayacağın zaman seri bir diyot eklemen gerek.

Eğer o diyodu eklemezsen lityum pili DS1302 şarj etmeyi çalışır. Lityum pillerde şarj olayına gelmez.
1n4148 veya bat85 gibi küçük güçlü bir diyot iş görebilir.
ambar7

sadogan

Ds1302 yi her açtığında takvim bilgilerini yeniden yazıyor olabilirmisin ?

Recep METE

#3
Alıntı yapılan: sadogan - 30 Mayıs 2013, 10:18:08
Ds1302 yi her açtığında takvim bilgilerini yeniden yazıyor olabilirmisin ?

Hocam, her açtığımda takvim ve saat başlangıç için programa yazdığım değere geliyor.Örneğin ccs c de koda yazdığım değer olan T:24/05/2013 PER    Saat:21.45.00 a geliyor.Benim şüphem +3 volt pilin grand bacağını doğru yere mi takıyorum.(grand bacağını picin beslendiği +5'in grandına takıyorum) Doğru bilmiyorum.



mesaj birleştirme:: 30 Mayıs 2013, 10:53:27

Alıntı yapılan: ambar7 - 30 Mayıs 2013, 10:04:27
Bağlantı doğru. Bu entegre bildiğim kadarı ile şarjlı sistemlerde kullanmaz üzere tasarlanmış bir ürün. Yani  Lityum pil bağladığın bacağa normal pil bağlayacağın zaman seri bir diyot eklemen gerek.

Eğer o diyodu eklemezsen lityum pili DS1302 şarj etmeyi çalışır. Lityum pillerde şarj olayına gelmez.
1n4148 veya bat85 gibi küçük güçlü bir diyot iş görebilir.

Hocam bunu bir deneyeyim sonucu yazarım burada.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

Kabil ATICI

Saat ve takvim bilgisini Ds1302'ye program ilk çalıştığında program tarafından mı, elle mi giriliyor? Program tarafından giriliyorsa bu otomatik her açıldığında yapılır.
Bu işlemi program başlarken örneğin iki butona basılarak veya kullanılmayan bir bacakta bir jumper kullanarak yaptır ki, sürekli yapılmasın... (jumper sonra çıkart)
ambar7

halilgalic

"ambar7" tespiti doğru sen oraya sabit bir değer yazmayacaksın .butonlarla kendi saat-dakika -gün-ay-yıldeğerini set edeceksin ve enerjiyi kesmiş olsan bile RTC pil üzerinden devam edecek bunu da su şekil yapabilirsin.

if ((sec==1)&&(input(pin_c1))){      // sec=1 SAAT ARTTIRMA
saat++;
if ((saat>24) || (saat<0)) saat=0;
while ((sec==1)&&(input(pin_c1)));
write_ds1302(0x84,get_bcd(saat));}
//--------------------------------------------------------------------------
if ((sec==2)&&(input(pin_c1))){       //sec=2 dakika arttır
dakika++;
if ((dakika>59) || (dakika<0)) dakika=0;
while ((sec==2)&&(input(pin_c1)));
write_ds1302(0x82,get_bcd(dakika));}}

Recep METE

Alıntı yapılan: ambar7 - 30 Mayıs 2013, 11:02:22
Saat ve takvim bilgisini Ds1302'ye program ilk çalıştığında program tarafından mı, elle mi giriliyor? Program tarafından giriliyorsa bu otomatik her açıldığında yapılır.
Bu işlemi program başlarken örneğin iki butona basılarak veya kullanılmayan bir bacakta bir jumper kullanarak yaptır ki, sürekli yapılmasın... (jumper sonra çıkart)


Hocam saat ve takvim bilgisi program tarafından giriliyor.buton falan yok.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

halilgalic

söyle düşün programına sabit saat dakika bilgisi giriyosun bunu rtc girmen gerekiyor bunu da vermiş olduğum komut dizininle sağlıyorsun sonra enerjiyi kesdiğin zaman rtc pil sayesinde senin girmiş olduğun değerin devamını getiriyor yani saatin ilerliyor

Kabil ATICI

Alıntı yapılan: semfero - 30 Mayıs 2013, 11:45:31

Hocam saat ve takvim bilgisi program tarafından giriliyor.buton falan yok.

bende onu anlatmaya çalışıyorum. saat ve takvim bilgisi program tarafından giriliyor diyorsun. Her seferinde sen saatine ne ayarlarsan ayarla açılıştı senin programa atadığın değere geri dönecektir. Bunu engelleyecek bir kod değişikliğini yapman gerekiyor...
ambar7

halilgalic

#9
evet o en başta sabit olarak girdiğin değerleri artık kullanmayacaksın yani rtc_set_datetime(6,5,8,2,22,52);

Recep METE

Vallahi hepinize çok teşekkür ederim,çok iyisiniz.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d