硬件准备
DS1302芯片:1片
32.768kHz晶振:1个
面包板:1个
杜邦线:若干
硬件连线
软件程序
#include <DS1302.h> //头文件
//定义引脚
const int rst_pin = 5;
const int date_pin = 6;
const int sclk_pin = 7;
//将DS1302实例化
DS1302 rtc(rst_pin,date_pin,sclk_pin);
//函数声明
void InitTime();
void setup(){
Serial.begin(9600);
InitTime();//初始化时间
}
void loop(){
printTime();//打印时间
delay(1000);
}
void InitTime(){
rtc.writeProtect(false); //关闭写保护
rtc.halt(false); //清除时钟关闭标志
Time t(2023,9,9,17,20,00,7); //新建时间对象 最后参数位星期数据,周日为1,周一为2以此类推
rtc.time(t); //向DS1302设置时间数据
}
void printTime(){
Time t = rtc.time();
char buf[50];
snprintf(buf, sizeof(buf), "%04d-%02d-%02d %02d:%02d:%02d",
t.yr, t.mon, t.date,
t.hr,t.min,t.sec);
Serial.println(buf);
}
成品展示图
DS1302芯片应用场景
DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,并且具有闰年补偿等多种功能。
DS1302常用于以下场景:
电子时钟和钟表:DS1302可以通过提供精确的时间信息来构建电子时钟、挂钟和计时器等设备。它可以显示当前的日期和时间,并允许用户设定闹钟和定时功能。
数据记录器:由于DS1302的时间跟踪功能,它可以用于记录事件发生的特定日期和时间。例如,可以将DS1302与各种传感器结合使用,记录数据采集的时间戳。这对于气象站、环境监测、温度监测等应用很有用。
定时控制系统:通过与DS1302结合使用,可以实现精确的定时控制系统。例如,可以使用DS1302来触发和控制特定时间点的操作,如开关灯、定时喷水装置、自动门控制等。
节能设备:DS1302的低功耗特性使其非常适合用于需要节能的应用,如太阳能装置、电池供电设备等。可以在设备需要时间跟踪但又希望保持能源效率的情况下使用DS1302。
总结
通过本次实验,我学会了DS1302实时时钟芯片的使用,还了解了 DS1302 相关函数的使用。