|
就是我通过UNO控制 然后让时间显示在1602显示器上,不过现在的问题是通过程序可以修改时间但是修改不了日期。因为的的时钟模块是带电池的我感觉正常情况下只需要设置一次初始时间,以后我在接通电源的时候应该显示的是现在的时间,可是现在无论我什么时候打开时间都会变成我程序里的时间,到底是怎么回事呢求大神指教!!!!下面是我的程序:
#include "DS1302.h"
#include "LCD.h"
#include "LiquidCrystal_I2C.h"
#include <Wire.h>
// Init the DS1302
DS1302 rtc(2, 3, 4);
LiquidCrystal_I2C lcd(0X3F,2,1,0,4,5,6,7); // 0x27 is the I2C bus address for an unmodified backpack
void setup()
{
rtc.halt(false);
rtc.writeProtect(false);
rtc.setDate(12, 25,2021); // 设置日期
rtc.setTime(10, 59, 50); // 设置时间
lcd.begin(16,2);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
// Start the I2C interface
Wire.begin();
// Start the serial interface
Serial.begin(9600);
}
void loop()
{
lcd.clear(); // clean
lcd.setCursor(3,0); // line0 display
lcd.print(rtc.getDateStr()); //getTimeStr
delay(10);
lcd.setCursor(4, 1);
lcd.print(rtc.getTimeStr()); //getDateStr
delay(1000);
}
|
|