DS1307

DS1307, I2C protokolüne göre çalışan gerçek zaman üretmek için kullanılan ve seri bilgi alışverişi yapan bir entegredir. Çalışma gerilimi 5 Volttur. Çalışması için bğlanması gereken iki önemli bileşeni vardır bunlardan biri 3.2 voltluk pil (bios pili olarakta bilinir) ve 32.768 Khz kristaldir. Enerji kesildiğinde enerjisini bu pilden karşılar. Bu pilin takılması kesinlikle zorunludur yoksa entegremiz düzgün çalışamaz.

Tavsiyemiz DS1307’yi direkt lehimlememeniz çünkü havya ısısı çok kolay bir şekilde entegreye zarar verebiliyor, bunun yerine önce 8 ayaklı bir entegre soketi lehimledikten sonra bu entegreyi sokete takın, bu entegreyi değiştirmeniz gerektiğinde de size kolaylık sağlayacaktır.
Devre bağlantı şeması şöyledir.

DS1307?nin bacak bağantı şekli ise şöyledir.Pic ile DS1307 yi kullanırken komutlarınıza direkt cevap vermez önce DS1307 ye bir başlangıç saati atamanız gerekli ancak ondan sonra saat, atadığınız tarihten ve saatten başlayarak gerçek zamanlı saat ve tarih üretmeye başlar.Pic Basic pro saati yazmak ve okumak için şöyle bir kombinasyon oluşturulabilir.

'Başlangıç komutları

 TEMP    VAR    BYTE
 saat    var    byte ?değişken tanımları
 dak     var    byte
 sn      var    byte
 BOS     var    byte
 GUN     VAR    BYTE
 AY      VAR    BYTE
 YIL     VAR    BYTE
 HAFGUN  VAR    BYTE

 SN=55: DAK=25: SAAT=16 :GUN=8 :AY=9 : YIL=10 :GOSUB YAZ
'Üstteki satırı yalnızca DS1307 yi ilk kez kullanacağınız zaman
'aktif edin ilkten sonra hafızaya kaydedildiği için bir daha
'gerek duyulmaz

 Basla:

'Ana program
 GOSUB   OKU
 Gosub   saatgöstermeprogramı ?segment için
 GOTO    BASLA

YAZ:
 temp=(sn DIG 1)    <<4+sn dig 0 : sn=temp
 temp=(dak DIG 1)  <<4+dak dig 0 : dak=temp
 temp=(saat DIG 1)  <<4+saat dig 0 : saat=temp
 temp=(gun DIG 1)  <<4+gun dig 0 : gun=temp
 temp=(ay  DIG 1)  <<4+ay dig 0 : ay =temp
 temp=(yil DIG 1)  <<4+yil dig 0 : yil=temp
 I2CWRITE SDA,SCL,$D0,$00,[sn,dak,saat,hafgun,gun,ay,yil,TEMP]
 RETURN

OKU:
 I2CREAD SDA,SCL,$D1,$00,[sn,dak,saat,hafgun,gun,ay,yil,TEM]
 BOS=((DAK>>4) & $0F)*10+(DAK & $0F):DAK=BOS :C= DAK DIG 1:D= DAK DIG 0
 BOS=((SAAT>>4) & $0F)*10+(Saat & $0F):SAAT=BOS:E= SAAT DIG 1:F= SAAT DIG 0
 BOS=((HAFgun>>4) & $0F)*10+(HAFgun & $0F):HAFgun=BOS:G= HAFgun DIG 1:H= HAFgun DIG 0
 BOS=((gun>>4) & $0F)*10+(gun & $0F):gun=BOS:I= gun DIG 1:K= gun DIG 0
 BOS=((AY>>4) & $0F)*10+(AY & $0F) :AY=BOS :L= AY DIG 1:M= AY DIG 0
 BOS=((yil>>4) & $0F)*10+(yil & $0F):yil=BOS :N= yil DIG 1:P= yil DIG 0
 RETURN

Benzer Yazılar

YAZAR : Admin

Elektronik Mühendisi / E.Üni. Kalibrasyon Lab. Sorumlusu / Biyomedikal Kalibrasyon Laboratuvarı Sorumlu Müdürü (Sağ.Bak.) / X-Işınlı Görüntüleme Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) / Ultrason-Doppler Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) - Hatalı veya kaldırılmasını istediğiniz sayfaları diyot.net@gmail.com bildirin

BU YAZIYI DA İNCELEDİNİZ Mİ ?

PICKAT – PIC Deneme Geliştirme Kartı

Pickat ekibi tarafından geliştirilen Pickat 1, açık kaynaklı, PIC 18f2550 MCU barındıran, bütün PIC derleyicileri …

Bir cevap yazın