在本篇文章中,我们将学习如何将PCF8563实时时钟模块与Arduino开发板进行连接,并在1602 LCD显示屏上显示当前时间和日期。在市场上有很多种实时时钟模块,如DS1307和DS3231等。但是在功耗方面,它们的功耗略高一些,如果我们使用电池供电的设备应用程序,它们会很快耗尽电池。所以如果需要选择功耗极低的实时时钟模块,那么可以采用PCF8563模块。该模块也是一个I2C模块。
PCF8563是针对低功耗优化的CMOS实时时钟和日历芯片。还提供可编程时钟输出、中断输出和低电压检测器。所有地址和数据都通过两线双向I2C总线串行传输。最大总线速度为400kbit/s。
所需的组件
● Arduino UNO开发板
● 1602 LCD显示屏
● PCF8563实时时钟模块
● 连接跳线
● 面包板
PCF8563实时时钟模块
该实时时钟模块基于NXP公司的PCF8563T,该芯片可编程,其I2C通信高达400KHz,并附带高精度实时时钟芯片组。
它提供多种功能,例如外部可编程时钟输出、闹钟、定时器和备用电池。它比DS1302 或DS1307更稳定、更精确。PCF8563实时时钟模块提供实时时钟/日历功能,可以由板载电池驱动,即使在微控制器关闭的情况下也可以独立工作。它是一种低成本、极其精确的I2C实时时钟模块。
PCF8563的主要特性
1. 基于32.768kHz石英晶体提供年、月、日、星期、小时、分钟和秒
2. 世纪标志
3、时钟工作电压:室温下1.0 V至5.5 V
4、后备电流低;在VDD = 3.0 V 和 Temp = 25C 时典型值为 0.25A
5. 400kHz 两线 I2C 总线接口
6. 外围设备的可编程时钟输出(32.768 kHz、1.024 kHz、32 Hz 和 1 Hz)
7. 报警和定时器功能
8. 集成振荡器电容
9. 内部上电复位 (POR)
10. I2C-bus从机地址:读A3h,写A2h
11. 开漏中断输出引脚
PCF8563的引脚排列
PCF8563实时时钟模块是一个I2C模块,即它工作在2线协议上。它具有SDA和SCL引脚,可轻松与任何微控制器连接。I2C总线的读取地址是A3h,写入地址是A2h。
它包含4个引脚,分别是:
引脚 1. VCC — 1V 至 5.5V
引脚 2. GND — GND
引脚 3. SDA — 串行数据
引脚 4. SCL — 串行时钟
PCF8563实时时钟模块与Arduino的硬件连接
以下是用于将PCF8563实时时钟模块与Arduino UNO开发板连接的电路图。本文在面包板上组装了电路。
将PCF8563模块的SDA和SCL引脚分别连接到Arduino开发板的A4和A5 引脚。将其VCC连接到5V或3.3V,将其GND连接到Arduino的GND引脚。同样,将LCD显示屏的引脚1、5、16连接到GND,引脚2、15连接到VCC。在LCD显示屏的3脚连接一个10K电位器来调节对比度。LCD显示屏的引脚4、6、11、12、13、14分别连接到Arduino开发板的数字引脚12、11、5、4、3、2。
代码
以下是将PCF8563实时时钟模块与Arduino连接并获取时间和日期的代码。但在此之前,您需要为它安装一个库。从以下链接下载库文件:PCF8563 RTC 库。
现在从下面复制代码并将其上传到Arduino开发板。请更改代码中的日期和时间以匹配当前时间/日期。
运行结果
上传代码后,LCD显示屏将开始显示当前时间和日期。