#include // 引入LiquidCrystal库
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // 初始化LCD显示屏
int hour = 0; // 初始化小时
int minute = 0; // 初始化分钟
int second = 0; // 初始化秒钟
void setup() {
lcd.begin(16, 2); // 初始化LCD显示屏的列数和行数
lcd.print("Digital Clock"); // 显示标题
}
void loop() {
lcd.setCursor(0, 1); // 设置光标位置为第一行第二列
lcd.print("Time: "); // 显示时间标签
if (second < 59) { // 如果秒钟小于59
second++; // 秒钟加1
} else { // 否则
second = 0; // 秒钟归零
if (minute < 59) { // 如果分钟小于59
minute++; // 分钟加1
} else { // 否则
minute = 0; // 分钟归零
if (hour < 23) { // 如果小时小于23
hour++; // 小时加1
} else { // 否则
hour = 0; // 小时归零
}
}
}
lcd.setCursor(6, 1); // 设置光标位置为第一行第七列
lcd.print(hour < 10 ? "0" : ""); // 如果小时小于10,则在前面补0
lcd.print(hour); // 显示小时
lcd.print(":");
lcd.print(minute < 10 ? "0" : ""); // 如果分钟小于10,则在前面补0
lcd.print(minute); // 显示分钟
lcd.print(":");
lcd.print(second < 10 ? "0" : ""); // 如果秒钟小于10,则在前面补0
lcd.print(second); // 显示秒钟
delay(1000); // 延迟1秒钟
}
这个程序使用LiquidCrystal库来控制LCD显示屏的显示,通过循环来实现时间的自动更新,并使用lcd.setCursor()和lcd.print()方法来设置光标位置和显示内容。在循环中,每次更新时间后都会延迟1秒钟,以便让时间可以逐秒更新。
标签: