找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1942|回复: 0
打印 上一主题 下一主题
收起左侧

运用DS1307和1602 LCD制作电子时钟

[复制链接]
跳转到指定楼层
楼主
ID:891399 发表于 2021-3-13 09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*
DS1307和1602 LCD制作电子时钟
*/
// 引用会使用到的四个库文件
#include <DS1307RTC.h>
#include <Time.h>
#include <Wire.h>
#include <LiquidCrystal.h>

// 实例化一个名为lcd的LiquidCrysta类型对象,并初始化相关引脚
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
    // 设置LCD有几列几行,1602LCD为16列2行
    lcd.begin(16, 2);
    // 打印一段信息到LCD上
    lcd.print("This is a Clock");
    delay(3000);
    lcd.clear();
}

void loop()
{
    tmElements_t tm;
    // 读出DS1307中的时间数据,并存入tm中
    if (RTC.read(tm))
    {
        // 清除屏幕显示内容
        lcd.clear();
        //在LCD第一行输出日期信息
        lcd.setCursor(0, 0);
        lcd.print(tmYearToCalendar(tm.Year));
        lcd.print("-");
        lcd.print(tm.Month);
        lcd.print("-");
        lcd.print(tm.Day);
        //在LCD第二行输出时间信息
        lcd.setCursor(8, 1);
        lcd.print(tm.Hour);
        lcd.print(":");
        lcd.print(tm.Minute);
        lcd.print(":");
        lcd.print(tm.Second);
    }
    // 如果读取数据失败,则输出错误提示
    else
    {
        lcd.setCursor(0, 1);
        lcd.print("error");
    }
    //每秒钟更新一次显示内容
    delay(1000);
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表