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
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!