前几天学习了DS1302做了个简易时钟,采用向RAM0写入标志的方法检测是否初次初始化。单片机上电断电大概测试了两三天觉得差不多了,就一直放着没管。单片机的供电我是直接接在笔电上的。今天开电脑写文件时瞥了一眼,发现时间居然偏差了39分钟,这么大的偏差肯定不可能是晶振误差之类的,于是又用逻辑分析仪测试数据读取无误,说明这其中一段时间DS1302应该是停止了工作导致寄存器内的数值一直落后。我猜测是单片机断电的某一段时间出现了问题,可是实际上时间虽然有偏差,但是时钟仍然能运行(除了时间不对断电以后也是继续运行),说明CR2032应该还是有电的。想请教一下各位大佬,出现这种现象大概是什么原因呢。大侠们提供一些思路就行,有点找不到分析方向,感觉如果想不明白以后做带DS1302的项目还是会出问题。