RTC DS1307

  • Real-time clock (RTC)
  • 56-Byte, Batterie-gestützter RAM zur Datenspeicherung
  • Two-wire serial interface I2C
  • Programmierbarer Ausgang (OFF, 1Hz, 4kHz, 8kHz und 32kHz)

Bildergalarie

(Quelle:SparkFun Electronics ®)

Datenblatt

Modul

Anschaltung an Propeller

Softwaremodule

Funktionsbeispiel

'' EEPROM_1.spin
''  +--VGA.spin
''  +--ASCII0_STR
''  +--DS1307.spin
CON
      RTC_CLK = 0
      RTC_DAT = 1
OBJ
  rtc   : "DS1307.spin"
  str   : "ASCII0_STR"
in PUB oder PRI Routinen

'Treiber Aktivieren

  rtc.rtcEngineStart(RTC_DAT, RTC_CLK, -1)
  

'Treiber deaktivieren

  rtc.RTCEngineStop      

'aktuelle Zeit vom RTC in Propeller laden 'eingelesene Zeit ausgeben

  rtc.readTime                                  
                                                

'den Wochentag ausgeben in Textform

  vga.pr_str(lookup(rtc.clockDay: string("Sonntag"), {
                                } string("Montag"), {
                                } string("Dienstag"),  {
                                } string("Mittwoch"), {
                                } string("Donnerstag"), {
                                } string("Freitag"), {
                                } string("Samstag")))

'den Monat ausgeben in Textform

  vga.pr_str(lookup(rtc.clockMonth: string("Januar"), {
                                  } string("Feburar"), {
                                  } string("Maerz"), {
                                  } string("April"), {
                                  } string("May"), {
                                  } string("Juni"), {
                                  } string("Juli"),  {
                                  } string("August"), {
                                  } string("September"), {
                                  } string("Oktober"), {
                                  } string("November"), {
                                  } string("Dezember")))

'vom Datum den Tag ausgeben als Zahl 2 stellig

  vga.pr_str(1 + str.integerToDecimal(rtc.clockDate, 2))

'vom Datum den Jahr ausgeben als Zahl 4 stellig

  vga.pr_str(1 + str.integerToDecimal(rtc.clockYear, 4))

'komplette ausgabe der Zeit im 24h Format

  if(rtc.clockMeridiemTime) '24h Anzeige
      vga.pr_str(1 + str.integerToDecimal(rtc.clockMeridiemHour+12, 2))
  else
      vga.pr_str(1 + str.integerToDecimal(rtc.clockMeridiemHour, 2))
  vga.pr_chr(":")
  vga.pr_str(1 + str.integerToDecimal(rtc.clockMinute, 2))
  vga.pr_chr(":")
  vga.pr_str(1 + str.integerToDecimal(rtc.clockSecond, 2))

'Zeit stellen Werte im BCD-Format

  rtc.writeTime(second, minute, hour, day, date, month, year)
  

'Eine Zelle Auslesen

  value:=rtc.readSRAM(index)

'Eine Zelle beschreiben

  rtc.writeSRAM(index, value)
  

Programme

sen_time_ds1307/start.txt · Zuletzt geändert: 05.11.2011 20:56 (Externe Bearbeitung)
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: GNU Free Documentation License 1.3
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki