在科技爱好者博客原来的文章中,使用树莓派和DS1302链接,来读取实时时间,感兴趣的可以点击查看树莓派使用DS1302实现实时时钟功能。本文教大家在Arduino 上使用DS1302来读取当前时间。
一、DS1302 芯片介绍
DS1302实时时钟模块,内含有一个实时时钟/日历和31 字节静态RAM ,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整。时钟操作可通过AM/PM 指示决定采用24 或12 小时格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:(1)RST 复位(2)I/O 数据线(3)SCLK串行时钟。时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信。DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW。
更加详细的 DS1302实时时钟模块 介绍可以查看这篇文章: 树莓派使用DS1302实现实时时钟功能 。
二、Arduino 与DS1302硬件连接
我使用的是DS1302的模块,这样方便连接和使用。
DS1302时钟模块
VCC连接Arduino 3.3V接口
GND连接 Arduino 接地接口
CLK连接 Arduino 11接口
DAT 连接 Arduino 10接口
RST 连接 Arduino 9接口
三、程序设计
在编写程序前,首先要下载DS1302的库,点击这里下载。
下载完成后,将库文件放在Ardunio的libraries文件夹。
之后打开IDE,编写程序,代码如下。