1、因为你秒都为00,而且分小时都可以走。那么问题出在你的秒的读取或者显示。查一查的的代码,读取秒的时候是否地址正确,显示秒的时候是否程序错误。
2、如果你上的时候,时钟走动,秒的数值可以变化的话,那证明你的读取与显示正常,你可以看下你的上电初始化是否将秒清零或者类似会导致清零的操作。再来只要DS1302备用电源不断,那么就不必再初始化了。
3、教你一个ds1302是否初始化的判断方法,首先你得知道你的DS1302从无电源到上电,然后直接读取出数值,一般情况下会是(可能会有变化) 秒==0,分==0,时==0,日==1,月==1,周==1,年==0,因为2000过去了没用,你在读取玩后判断年是否为0,是的话你给DS1302初始化,然后给年寄存器放一个非零数,如0x12,最后为了使时钟能走动,给秒(地址0x80好像)写0x00。第二次上电的时候先读取时间,如果年非零,那就不要再初始化了。
纯手工打出来的字,希望满意。
会不会你秒那位没有写上去
断电了还会跑吗?