Şimdi Ara

DS1302 ve DS1307 LCD Saat Bağlantısı Nasıl Olur ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
4
Cevap
0
Favori
2.849
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba


    16x2 LCD ile Dijital Saat Uygulaması yapıyorum.Fakat saat çok kararsız çalışıyor ve hep geri kalıyor.Bu yüzden RTC kullanmam gerektiğini öğrendim.C.tesi öğleden sonra koşa koşa dükkanlar kapanmadan DS1302 ve 32.768KHz osilatör almaya gittim.32.768KHz buldum ama DS1302 bulamadım.Onun yerine DS1307 buldum ve aldım.Şimdi sorularım ?



    1 - DS1302 yerine DS1307 kullansam olur mu?

    2 - 1.Sorumun cevabı " Evet " ise DS1307'yi devreme nasıl adapte edebilirim? " Hayır " ise DS1302'yi devreme nasıl adapte edebilirim? (Bağlantıları Gösterirmisiniz?)

    3 - Bu entegreleri kullandığımda LCD saat devremin programında bir değişiklik yapmam söz konusu olabilir mi? "Evet" ise Nasıl ?






    ***Devre Şeması ve Program***


     DS1302 ve DS1307 LCD Saat Bağlantısı Nasıl Olur ?



    '*****GİRİŞ VE ÇIKIŞAR***** 
    TRISA=255 'PORTA TAMAMI ÇIKIŞ
    TRISB=0 'PORTB TAMAMI ÇIKIŞ

    '*****LCD TANIMLAMALARI*****
    DEFINE LCD_DREG PORTB 'LCD DATA BACAKLARI PORTB'YE BAGLI
    DEFINE LCD_DBIT 4 'LCD DATA BITLERI HANGİ BITTEN BASLIYOR
    DEFINE LCD_EREG PORTB 'LCD ENABLE BACAGI HANGI PORTA BAGLI
    DEFINE LCD_EBIT 3 'LCD ENABLE BITI HANGI PORTA BAGLI
    DEFINE LCD_RSREG PORTB 'LCD RS BACAGI HANGI PORTA BAGLI
    DEFINE LCD_RSBIT 2 'LCD RS BACAGI HANGI BITE BAGLI
    DEFINE LCD_BITS 4 'LCD 4 BIT BAGLI
    DEFINE LCD_LINES 2 'LCD KAC SIRADAN OLUSUYOR

    '*****DEĞİŞKENLERİ TANIMLA*****
    SAAT VAR BYTE
    DSAAT VAR BYTE 'DECİMAL SAAT DEĞİŞKENİ
    DAKIKA VAR BYTE
    SANIYE VAR BYTE
    TICKS VAR BYTE 'TMRO İNTERRUPT DEĞİŞKENİ
    UPDATE VAR BYTE 'LCD GUNCELLEME DEĞİŞKENİ
    I VAR BYTE 'FOR NEXT DÖNGÜSÜ BUTON ARKINI ORTADAN KALDIRAN DEĞİŞKEN

    'DEĞİŞKENLERİ SIFIRLA

    SAAT=0
    DAKIKA=0
    SANIYE=0
    TICKS=0
    UPDATE=1

    '*****KESME İŞLEMLERİ*****
    OPTION_REG=%00000101 '1/64 BÖLME ORANI
    INTCON=$A0 'TMRO VE TÜM KESMELER AKTİF
    ON INTERRUPT GOTO KESME 'KESME OLUŞTUĞUNDA BU ADRESE GİT

    'BUTONLAR
    ANA_DONGU:
    IF PORTA.0=0 THEN DAK_ART
    IF PORTA.1=0 THEN DAK_AZALT
    if PORTA.2=0 THEN SAAT_ART
    IF PORTA.3=0 THEN SAAT_AZALT
    KONTROL:

    IF UPDATE=1 THEN 'UPDATE=1 İSE ALT SATIRA İN
    LCDOUT $FE,1 'LCD İÇERİĞNİ TEMİZLE
    DSAAT=SAAT 'DECİMAL SAATİ=SAAT İLE EŞİTLE
    IF (SAAT//12)=0 THEN
    DSAAT=DSAAT+12
    ENDIF
    IF SAAT < 12 THEN 'SAAT 12'DEN KÜÇÜKSE
    LCDOUT $FE,$83, DEC2 DSAAT,":",DEC2 DAKIKA,":",DEC2 SANIYE," AM "
    ELSE
    LCDOUT $FE,$83, DEC2(DSAAT-12),":",DEC2 DAKIKA,":",DEC2 SANIYE," PM "
    ENDIF
    UPDATE=0
    ENDIF
    GOTO ANA_DONGU



    'DAKİKA VE SAAT ARTTIRMA İŞLEMLERİ
    DAK_ART:
    DAKIKA=DAKIKA+1
    IF DAKIKA=60 THEN
    DAKIKA=0
    ENDIF
    GOTO ARK_SONDUR

    SAAT_ART:
    saat=saat+1
    if saat=24 then
    saat=0
    ENDIF
    GOTO ARK_SONDUR


    DAK_AZALT:
    DAKIKA=DAKIKA-1
    IF DAKIKA=59 THEN
    DAKIKA=0
    ENDIF
    GOTO ARK_SONDUR

    SAAT_AZALT:
    saat=saat-1
    if saat=23 then saat=0
    GOTO ARK_SONDUR


    'BUTON ARKINI SÖNDÜRMEK İÇİN GEREKLİ FOR NEXT DÖNGÜSÜ
    ARK_SONDUR:
    FOR I=1 TO 25
    PAUSE 10
    NEXT I
    UPDATE=1
    GOTO KONTROL

    'KESME OLUŞUNCA BURADA YAPILAN İŞLER
    DISABLE
    KESME:
    TICKS=TICKS+1
    IF TICKS < 61 THEN DEVAM
    TICKS=0

    SANIYE = SANIYE + 1 'SAN‹YELER 60 OLURSA DAK‹KAYI ARTIR
    IF SANIYE >= 60 THEN
    SANIYE = 0
    DAKIKA = DAKIKA + 1
    IF DAKIKA >= 61 THEN 'DAK‹KALAR 60 OLURSA SAAT‹ ARTIR
    DAKIKA = 0
    SAAT = SAAT + 1
    IF SAAT >=24 THEN SAAT = 0
    ENDIF
    ENDIF
    UPDATE = 1 'GÜNCELLEME TAMAMLANDI
    DEVAM:
    INTCON.2 = 0 'KESME BAYRA/INI TEM‹ZLE
    RESUME
    END







  • Eski devreni unut. DS1302 (veya 7) 1-wire iletişim protokolünü kullanır ve datayı bu protokolü kullanarak önce bir kereliğine set etmeli, ondan sonra zaman zaman okumalısın.

    http://www.picbasic.org/forum/showthread.php?t=3356
    Burayı oku.
  • Benim ingilizce o kadar iyi değil ya pek anlamadım yazılanları


    Acaba hazır bir devre ve program var mı? Bir ders için yapmam gerekiyor da o yüzden.
  • Tamam halletim sorun yok teşekkürler...Ama haala içimde bir ükte kaldı DS1302 ile DS1307 arasında ki farklar konusunda



    < Bu mesaj bu kişi tarafından değiştirildi Smoch -- 15 Aralık 2008; 21:17:54 >
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.