Arduino--DS3231时钟模块

(1)简介

D3231是高精度的I2C实时时钟(RTC),具有集成的温补晶振TCXO晶体,模块自带纽扣电池,在系统断开主电源后仍然能保持精确的计时。RTC保存秒、分、时、星期、日期、月和年的信息,提供两个可设置的日历闹钟和一个可设置的方波输出,地址和数据通过I2C双向总线串行传输。
在这里插入图片描述

模块参数

(1)工作电压:3.3V–5.5V
(2)时钟芯片:高精度时钟芯片DS3231
(3)时钟精度:0-40度范围内,精度2pm,年误差约1分钟
(4)2个日历闹钟可编程输出,年月日有效时间到2100年,芯片内部自带温度传感器,精度正负3摄氏度
(5)存储芯片:AT24c32(存储容量32k)
(6)可级联其他IIC设备,24c32地址可通过短路A0/A1/A2修改

(2)接线

DS3231时钟模块Arduino UNO
SCLA5
SDAA4
VCC5V
GNDGND

(3)实现过程(完整代码及函数头文件见文末链接)

时钟模块工作之前需要先同步设置下当前时间,时间设置后才能正常使用,时间设置后才能正常使用

时间、日期设置代码如下:

void setup()
{
  // Setup Serial connection
  Serial.begin(115200);
  // Uncomment the next line if you are using an Arduino Leonardo
  //while (!Serial) {}
  
  // Initialize the rtc object
  rtc.begin();
  
  // The following lines can be uncommented to set the date and time
  rtc.setDOW(FRIDAY);     // Set Day-of-Week to SUNDAY
  rtc.setTime(21, 00, 30);     // 设置时间为21:00:30
  rtc.setDate(10, 24, 2020);   // 设置日期为2020年10月24日
}

日期设置完成后方可显示出来,显示代码见下(以LCD1602上显示为例)

void loop()
{
  // Send Day-of-Week
  Serial.print(rtc.getDOWStr());
  Serial.print(" ");
  
  // Send date
  Serial.print(rtc.getDateStr());
  Serial.print(" -- ");
 
  // Send time
  Serial.println(rtc.getTimeStr());
  
  // Wait one second before repeating :)
  delay (1000);
}

显示结果如下:

(4)完整代码链接

CSDN下载
链接:https://download.csdn.net/download/u011816009/85842082

百度网盘下载
链接:https://pan.baidu.com/s/12MLNBpeF9jQDc4wzkuXn6A
提取码:803o

  • 4
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

541板哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值