Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
5
Cevap
4469
Tıklama
0
Öne Çıkarma
PIC 16f877 ile RTC (ds1307 veya ds3232) kullanımı için yardım gerek!
A
16 yıl
Teğmen
Konu Sahibi

RTC'ler konusunda sıkıntı yaşıyorum. ds1307 ds3232 entegrelerini kullanmayı denedim fakat sonuç elde edemedim.
Devremde 16f877 var ve mikroC ile kodluyorum.
Neredeyse 4 gündür uğraşıyorum. Araştırdım, değiştirdim, takla attırdım yine olmadı. RTC lerden herhangi bir değeri bile okuyamıyorum.

Ucu havada cümlelerle, "şöyle yap illa ki olur" larla, varsayımlarla değil; net ve tecrübeye dayanan bilgilerle cevap verirseniz sevinirim.
Ayrıca bu yazılımı at çalışır şeklinde hazırcılık da yapmayalım; birinin yazdığı kodu, kurduğu devreyi koyup, çalıştırıp "aaa yaptım oldu!" demek yerine nasıl yapılacağını öğrenip kendim yapmak istiyorum.
Öğrenci psikolojisi işte

Geldiğim nokta şu ki;
 

main{

i2c_init(100000)
i2c_start
i2c_wr(0xd0)
//ds3232 için
i2c_wr(0x0f)
i2c_wr(0x48)
//veya ds1307 için
i2c_wr(0x00)
i2c_wr(0x00)
i2c_stop

i2c_start
i2c_wr(0xd0)
i2c_wr(0x00)
i2c_repeated_start
i2c_wr(0xd1)
saniye=i2c_rd(0); //Burada saniye hiç artmıyor.
//Bu değeri işlemek gerektiğini biliyorum ama yine de sıfır döndürmemeli !
i2c_stop

//aynı şekilde kontrol registerlerini okumaya çalıştığımda da sıfır alıyorum;

i2c_start
i2c_wr(0xd0)
i2c_wr(0x07)
i2c_repeated_start
i2c_wr(0xd1)
herhangibişey=i2c_rd(0); //sıfır
i2c_stop

}


Devreme gelirsek;

Pic in doğru bacaklarına rtc bağlı ve bağlantılar 2k2 ler ile 5v a pullup yapılmış şekilde.

Yardımlarınızı bekliyorum

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



E
16 yıl
Yarbay

Pic basic olsaydı yardımcı olurdum.yardımcı olacaklar için şemada koymalısın.
hazır kodlar ile başlamak herzaman için iyidir.vakit kazandırır.
ben en az 10 takla atmıştım.bu sayıdan az takla atarsan devre çalışmaz.


Bu mesaja 1 cevap geldi.
A
16 yıl
Teğmen
Konu Sahibi

Hazır kod kullanmak yerine hazır saat de alabiliriz dimi Aynı hesap.
Yapılması gerekenler konusunda yol gösterirseniz - yani pic basic veya C veya herhangi bir dil değilse bile işleyiş olarak - faydası olabilir.
Devre şeması şöyle:

< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
E
16 yıl
Yarbay

Öncelikle lcd çalışıyormu,yani ekrana herhangi birşey yazıyor mu.birşey yazıyorsa lcd modül kısmında sorun yok demektir.
eklemeyi unuttum.devre gerçek devremi yoksa proteus mu?





< Bu mesaj bu kişi tarafından değiştirildi eloko -- 5 Mayıs 2009; 13:51:53 >
Bu mesaja 1 cevap geldi.
A
16 yıl
Teğmen
Konu Sahibi

Devre şimdilik proteus simülasyonu. Daha simülasyonda doğru çalıştıramıyorum zaten :)
Lcd doğru işliyor. Anladığım kadarıyla rtc i2c ye yanıt vermiyor veya onun gibi bir sorun var.

Mikroc nin i2c kütüphanesiyle ilgili çok fazla kaynak bulamadım. Dökümanları da çok yetersiz kalıyor.

Eğer i2c de sorun yoksa rtc den herhangi bir kontol register ini hiç bir işlem yapmadan (yani Power On Reset durumunda) okuyabilmemiz gerekmez mi?

Örneğin: POR durumu 0 0 0 1 1 1 0 0 olan 0x0E registerini bile 0 olarak okuyor.

Çözemedim


Bu mesaja 1 cevap geldi.
A
16 yıl
Teğmen
Konu Sahibi

Tam anlayamadım ama sorun proteusta imiş. 7.4 kullanıyordum, 6.9 kurup onda denedim ve çalıştı
Sonra çalışan devreyi tekrar 7.4 de denedim hala sıfır gösteriyor.

Sürümden sürüme nasıl olur da fark eder anlamadım
Elinde 7.4 sürümü için Çalışan ds1307 ve ds3232 kütüphane dosyası olan biri paylaşırsa çok iyi olur.

Devreyi toparlayıp düzenleyip en kısa zamanda burada paylaşırım.

eloko Teşekkür ederim ilgilendiğin için ;)





< Bu mesaj bu kişi tarafından değiştirildi atakan_1907 -- 5 Mayıs 2009; 17:52:10 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.