Şimdi Ara

PIC 16f877 ile RTC (ds1307 veya ds3232) kullanımı için yardım gerek!

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
4.412
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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







  • 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.
  • 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:

  • Ö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 >
  • 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
  • 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 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.