Arduino与Proteus仿真实例-DS1307实时时钟驱动仿真
DS1307实时时钟驱动仿真
DS1307 串行实时时钟 (RTC) 是一种低功耗、全二进制编码十进制 (BCD) 时钟/日历加上 56 字节的 NV SRAM。 地址和数据通过 I2C 双向总线串行传输。时钟/日历提供秒、分、小时、日、日、月和年信息。 对于少于 31 天的月份,月末日期会自动调整,包括闰年的更正。 时钟以 24 小时或 12 小时格式运行,带有 AM/PM 指示器。 DS1307 具有内置电源检测电路,可检测电源故障并自动切换到备用电源。当器件由备用电源供电时,计时操作继续进行。
在实现的文章中,对DS1307做了了详细的介绍,请参考:
1、仿真电路原理图

2、仿真代码实现
本次使用到如下开源库:
演示代码如下:
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| #include <Wire.h> #include <RTC.h>
static DS1307 RTC;
void setup() { Serial.begin(9600); RTC.begin();
Serial.println(); Serial.println("\*\*\* RTC 1307 \*\*\*"); Serial.print("Is Clock Running : "); if (RTC.isRunning()) Serial.println("Yes"); else Serial.println("No. Time may be Inaccurate"); Serial.print("Hour Mode : "); if (RTC.getHourMode() == CLOCK_H24) Serial.println("24 Hours"); else Serial.println("12 Hours"); Serial.print("Is Out Pin Enabled : "); if (RTC.isOutPinEnabled()) Serial.println("Yes"); else Serial.println("No");
Serial.print("Is SQWE Enabled : "); if (RTC.isSqweEnabled()) Serial.println("Yes"); else Serial.println("No");
}
void loop() {
switch (RTC.getWeek()) { case 1: Serial.print("SUN"); break; case 2: Serial.print("MON"); break; case 3: Serial.print("TUE"); break; case 4: Serial.print("WED"); break; case 5: Serial.print("THU"); break; case 6: Serial.print("FRI"); break; case 7: Serial.print("SAT"); break; } Serial.print(" "); 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()); if (RTC.getHourMode() == CLOCK_H12) { switch (RTC.getMeridiem()) { case HOUR_AM : Serial.print(" AM"); break; case HOUR_PM : Serial.print(" PM"); break; } } Serial.println(); delay(1000); }
|
3、仿真结果

文章来源: https://iotsmart.blog.csdn.net/article/details/121235168
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!