arduino时钟模块ds1307在lcd1602上显示实时时间翻页
时间: 2023-11-05 09:20:22 浏览: 105
要在LCD1602上显示DS1307实时时间,并实现翻页显示更多信息,您可以使用以下代码:
```c
#include <Wire.h>
#include <LiquidCrystal.h>
#include "RTClib.h"
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
RTC_DS1307 rtc;
int currentPage = 1; // 当前显示的页面
void setup() {
lcd.begin(16, 2);
Wire.begin();
rtc.begin();
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running!");
rtc.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop() {
DateTime now = rtc.now();
lcd.clear();
if (currentPage == 1) { // 第一页显示日期和时间
lcd.print(now.year(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.day(), DEC);
lcd.setCursor(0, 1);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
} else if (currentPage == 2) { // 第二页显示其他信息
lcd.print("Page 2"); // 显示内容待修改
}
delay(1000);
if (digitalRead(7) == HIGH) { // 当按钮按下时切换页面
currentPage++;
if (currentPage > 2) { // 页面总数为2,如果大于2则回到第一页
currentPage = 1;
}
delay(100); // 延迟一段时间避免多次切换
}
}
```
这段代码会在LCD上显示当前时间和日期,并且通过按下按钮来切换显示的页面。如果要显示更多信息,您可以在代码中添加更多的页面,并在按钮按下时切换页面。
阅读全文