应用:DS1302 时钟,芯片时钟只保留24小时,现实日期 根据芯片日期 逐日增加,利用铁电保存实际日期,防止别人修改DS1302内部时间,从而破解了程序
#include <stdio.h>
#include <string.h>
typedef unsigned char u8;
typedef unsigned int u16;
typedef struct _Time
{
u16 year; /* 年 , 0 to 99 */
u8 mon; /* 月 , 1 to 12 */
u8 day; /* 日 , 1 to 31 */
u8 wday; /* 星期, 1 to 7 */
u8 hour; /* 时 , 0 to 23 */
u8 min; /* 分 , 0 to 59 */
u8 sec; /* 秒 , 0 to 59 */
}_TimeType;
//现在实际时间
_TimeType Date =
{
.year = 2021, /* 年 , 0 to 99 */
.mon = 1, /* 月 , 1 to 12 */
.day = 1, /* 日 , 1 to 31 */
.wday = 1, /* 星期, 1 to 7 */
.hour = 0, /* 时 , 0 to 23 */
.min = 0, /* 分 , 0 to 59 */
.sec = 0, /* 秒 , 0 to 59 */
}; //
//内部时间
_TimeType RTC_Date =
{
.year = 8, /* 年 , 0 to 99 */
.mon = 12, /* 月 , 1 to 12 */
.day = 1, /* 日 , 1 to 31 */
.wday = 1, /* 星期