Problem with RTC1302 module

My code:

#include <DS1302.h>

DS1302 myRTC(16, 27, 14);

void setup() {
  Serial.begin(9600);
  Serial.println("Started!");
  
  myRTC.halt(false);
  myRTC.writeProtect(false);
  
  myRTC.setDOW(WEDNESDAY);
  myRTC.setTime(18,20,0);
  myRTC.setDate(15, 7, 2020);
 }

void loop() {
  Serial.print(myRTC.getTimeStr()); 
}

I checked battery in my module and it’s fine.
That’s the Serial.print output:

Rebooting...
⸮)S`⸮⸮⸮e⸮]⸮u?⸮4⸮4⸮Y⸮(⸮6Ee⸮Started!
Guru Meditation Error: Core  1 panic'ed (LoadStoreError). Exception was unhandled.
Core 1 register dump:
PC      : 0x400d0faa  PS      : 0x00060330  A0      : 0x800d0bf0  A1      : 0x3ffb1f50  
A2      : 0x3f400f03  A3      : 0x00000002  A4      : 0x00000030  A5      : 0x000007e4  
A6      : 0x00000005  A7      : 0x00000000  A8      : 0x800d0f9c  A9      : 0x00000000  
A10     : 0x3ffb1f5c  A11     : 0x3ffb1f6e  A12     : 0x00000009  A13     : 0x3ffb1f64  
A14     : 0x00000000  A15     : 0x07d0eb00  SAR     : 0x00000010  EXCCAUSE: 0x00000003  
EXCVADDR: 0x3f400f03  LBEG    : 0x4000c349  LEND    : 0x4000c36b  LCOUNT  : 0xffffffff  

Backtrace: 0x400d0faa:0x3ffb1f50 0x400d0bed:0x3ffb1f90 0x400d182d:0x3ffb1fb0 0x40088215:0x3ffb1fd0

all the time it reboots repetitively
what’s the problem and how to fix it?

Okay, i solved it using another library:
There's link: Arduino basics - Real Time Clock - RTC DS1302
but i still don't know why it didn't work

Okay ;_;
got another problem
after power off and then power arduino again time resets to 2000-01-01 00:00:00

#include <stdio.h>
#include <DS1302.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

const int kCePin   = 14;  // Chip Enable
const int kIoPin   = 27;  // Input/Output
const int kSclkPin = 16;  // Serial Clock

// Create a DS1302 object.
DS1302 rtc(kCePin, kIoPin, kSclkPin);
LiquidCrystal_I2C lcd(0x3F, 16, 2);

String dayAsString(const Time::Day day);
String getDate();
String getTime();
String getDayName();

void setup() {
  lcd.init();
  lcd.backlight();
  
  Serial.begin(9600);
  Serial.println("Started!");

   rtc.writeProtect(false);
   rtc.halt(false);

  //Time t(2020, 7, 15, 19, 42, 0, Time::kWednesday);

  //rtc.time(t);
}

void loop() {
  Serial.println(rtc.time().sec);
  lcd.setCursor(0,0);
  lcd.print(getDate());
  lcd.setCursor(0,1);
  lcd.print(getTime());
  delay(1000);  
  lcd.clear();
}

String dayAsString(const Time::Day day) {
  switch (day) {
    case Time::kSunday: return "Sunday";
    case Time::kMonday: return "Monday";
    case Time::kTuesday: return "Tuesday";
    case Time::kWednesday: return "Wednesday";
    case Time::kThursday: return "Thursday";
    case Time::kFriday: return "Friday";
    case Time::kSaturday: return "Saturday";
  }
  return "(unknown day)";
}

String getDate() {
  Time t = rtc.time();

  char buf[50];
  snprintf(buf, sizeof(buf), "%04d-%02d-%02d",
           t.yr, t.mon, t.date);
          return buf;
}

String getTime() {
  Time t = rtc.time();
  
    char buf[50];
  snprintf(buf, sizeof(buf), "%02d:%02d:%02d", t.hr, t.min, t.sec);
  return buf;
}

String getDayName() {
  Time t = rtc.time();

  const String day = dayAsString(t.day);

  char buf[50];
  snprintf(buf, sizeof(buf), "%s",
           day.c_str());

  return buf;
}