Микросхема DS1337 устроена крайне просто, вся суть её работы сводится в подсчёте времени и хранении этого в памяти, всё что нам нужно это запросить передать нам её содержимое.

void setup() {
  RTC.start();// Запуск модуля
  Serial.begin(9600);
  RTC.setDayOfWeek(5);
  RTC.setSeconds(55);
  RTC.setMinutes(59);
  RTC.setHours(23);
  RTC.setDays(25);
  RTC.setMonths(10);
  RTC.setYears(2019);
  RTC.writeTime();
}

void loop() {
  RTC.readTime();// Считать данные с датчика
  Serial.print(RTC.getDays());
  Serial.print("/");
  Serial.print(RTC.getMonths());
  Serial.print("/");
  Serial.print(RTC.getYears());
  Serial.print("  ");
  Serial.print(RTC.getDayOfWeek());
  Serial.print("th day of week  ");
  Serial.print(RTC.getHours());
  Serial.print(":");
  Serial.print(RTC.getMinutes());
  Serial.print(":");
  Serial.print(RTC.getSeconds());
  Serial.println();
}

Функция start запускает модуль, так же есть аналогичная функция stop которая останавливает подсчёт времени.

Функциями setDatOfWeek, setSeconds, setMinutes, setHours, setDays, setMonths, setYears мы можем задать время с которого будут считать часы. Обратите внимание что после применения этих функций необходимо вызвать функцию writeTime, которая запишет установленное время в микросхему.

Обратите внимание что функция setDatOfWeek должна принимать число от 1 до 7.

Аналогичными функциями getXXXX мы можем получать данные с датчика, но перед этим необходимо вызвать функцию readTime.

Так же в библиотеке присутствует функция snooze которая позволяет установить время пробуждения в секундах и перейти в режим сна. Изнутри код в библиотеке выглядит следующим образом:

void DS1337::custom_snooze(unsigned long secondsToSnooze)
{ 
  readTime(); 
  setAlarmRepeat(EVERY_MONTH); 
  writeAlarm(date_to_epoch_seconds() + secondsToSnooze);
  attachInterrupt(RTC_INT_NUMBER, _dummy_int_handler, FALLING);  
  enable_interrupt();
  sleep_enable();
  
  sleep_cpu(); 
  clear_interrupt(); 
  disable_interrupt(); 
  detachInterrupt(RTC_INT_NUMBER); 
  
}

Данный код очень хорошо демонстрирует работу с прерываниями и работу с будильником.