|
本帖最后由 linXJ 于 2016-7-30 15:06 编辑
1、产品介绍: Arduino DS1307是基于DS1307的高精度实时时钟模块,通过I2C接口与单片机通信,可读取实时的年、月、日、星期、时、分、秒。性能稳定,品质优良。扣上纽扣电池时,即使模块掉电,时钟芯片会持续计时的。
模块特点如下:
可计时至2100年;
控制接口为I2C接口;
电源建议为5VDC;
模块上的DS1307地址为0x68;
控制接口电平可为5V或3.3V;
4个M2螺丝定位孔,便于安装。
2、实验器材:
1个ESPDuino主板,1个实时时钟模块,4根公对母杜邦线;
3、实验步骤:
a. 用4根公对母杜邦线将实时时钟模块和ESPDUINO的I2C接口连接起来,并确保模块上的电池已经安装稳妥,如下表所示
b.选好串口、板子名称,点击烧录按钮,即可烧录。该例程展示的是如何设定时间、从DS1307中读取时间并显示到串口工具的显示窗口,如图示。c.可发现串口终端打印了时分秒、月日年和星期。
4、例程示例代码:
- #include <Wire.h>
- #include "DS1307.h"
- DS1307 clock;//DS1307定义类的一个对象
- void setup()
- {
- Serial.begin(9600);
- clock.begin();
- clock.fillByYMD(2016,7,30);//Jul.30,2016
- clock.fillByHMS(14,42,30);//12:57 30"
- clock.fillDayOfWeek(SAT);//Saturday
- clock.setTime();//写入时间到RTC芯片
- }
- void loop()
- {
- printTime();
- }
- /*功能:显示时间序列显示器上*/
- void printTime()
- {
- clock.getTime();
- Serial.print(clock.hour, DEC);
- Serial.print(":");
- Serial.print(clock.minute, DEC);
- Serial.print(":");
- Serial.print(clock.second, DEC);
- Serial.print(" ");
- Serial.print(clock.month, DEC);
- Serial.print("/");
- Serial.print(clock.dayOfMonth, DEC);
- Serial.print("/");
- Serial.print(clock.year+2000, DEC);
- Serial.print(" ");
- switch (clock.dayOfWeek)// 打印出来的工作日
- {
- case MON:
- Serial.print("MON");
- break;
- case TUE:
- Serial.print("TUE");
- break;
- case WED:
- Serial.print("WED");
- break;
- case THU:
- Serial.print("THU");
- break;
- case FRI:
- Serial.print("FRI");
- break;
- case SAT:
- Serial.print("SAT");
- break;
- case SUN:
- Serial.print("SUN");
- break;
- }
- Serial.println(" ");
- }
复制代码 5、实物连接与实验效果图:
|
-
11.jpg
(110.47 KB, 下载次数: 1985)
-
22.jpg
(88.75 KB, 下载次数: 2272)
|