Arduino与Proteus仿真实例-PCF8563实时时钟驱动仿真

PCF8563实时时钟驱动仿真

1、PCF8563介绍

PCF8563 是一款针对低功耗优化的 CMOS 实时时钟 (RTC) 和日历。 还提供可编程时钟输出、中断输出和低电压检测器。 所有地址和数据都通过一条两线双向 I2C 总线串行传输。 最大总线速度为 400 kbit/s。 每次写入或读取数据字节后,寄存器地址自动递增。

PCF8563有如下特性:

  • 提供基于 32.768 kHz 石英晶体的年、月、日、工作日、小时、分钟和秒
  • 世纪标志
  • 时钟工作电压:室温下 1.0 V 至 5.5 V
  • 低后备电流; 在 VDD = 3.0 V 和 Tamb = 25

o

C

^oC

oC 时典型值为 0.25uA

  • 400 kHz 两线 I2C 总线接口(VDD = 1.8 V 至 5.5 V)
  • 外围设备的可编程时钟输出(32.768 kHz、1.024 kHz、32 Hz 和 1 Hz)
  • 闹钟和定时器功能
  • 集成振荡器电容
  • 内部上电复位 (POR)I2C-bus从机地址:读地址A3h,写地址A2h
  • 开漏中断引脚

在这里插入图片描述

引脚功能如下:

在这里插入图片描述

2、仿真电路原理图

在这里插入图片描述

3、仿真代码实现

本次使用到如下开源库:

演示代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <Wire.h>
#include <RTC.h>

static PCF8563 RTC;

void setup()
{
Serial.begin(9600);
RTC.begin();

Serial.println();
Serial.println("\*\*\* RTC PCF8563 \*\*\*");
Serial.print("Is Clock Running : ");
if (RTC.isRunning())
Serial.println("Yes");
else
Serial.println("No");

Serial.print("Alarm Enabled : ");
if (RTC.isAlarmEnabled())
Serial.println("Yes");
else
Serial.println("No");

Serial.print("Alarm Triggered : ");
if (RTC.isAlarmTriggered())
Serial.println("Yes");
else
Serial.println("No");

Serial.print("Timer Enabled : ");
if (RTC.isTimerEnabled())
Serial.println("Yes");
else
Serial.println("No");
}

void loop()
{
Serial.print(RTC.getDay());
Serial.print("-");
Serial.print(RTC.getMonth());
Serial.print("-");
Serial.print(RTC.getYear());

Serial.print(" ");

Serial.print(RTC.getHours());
Serial.print(":");
Serial.print(RTC.getMinutes());
Serial.print(":");
Serial.print(RTC.getSeconds());
Serial.println(" ");

delay(1000);
}

4、仿真结果

在这里插入图片描述

文章来源: https://iotsmart.blog.csdn.net/article/details/121240611