RT, 可能不是电路设计或者晶振选择的问题,而是因为DS1302 寄存器配置成了时钟停止模式。
寄存器配置
参见DS1302 和DS1307 的datasheet,有这么一段:
秒寄存器的第七位定义是时钟停止标志(CH),当其置为1,DS1302 的时钟振荡器会停止,芯片也进入低功耗模式,此时电流消耗小于100nA,当CH 标志被写为0 后时钟启动。上电后这个标志位的初始状态是未定义的。
也就是寄存器表里的这一位:
换句话说,上电后DS1302 在晶振上能不能测到波形是未知的,所以一上电就拿示波器量一下很可能看不到波形。其实是有点惯性思维了,单片机要工作必须有时钟,就觉得DS1302 上电后晶振上肯定也得有波形。DS1307 也有这个标志位,所以会有一样的问题。
晶振选择和电路走线问题
这两个芯片的晶振可能是个新手容易掉的坑,不能只看频率随便买,而且两个芯片要求的晶振参数并不一样,参见datasheet:
给DS1302 买晶振的时候,除了频率要32.768k,负载电容要求是6pF,而DS1307 的要求是12.5pF,某宝很多店里是不标这种参数的。
至于电路走线,唯一要留心的大概就是晶振的走线。整了一个可以兼容DS1302 和DS1307 的电路,如下图:
二选一,8 个通孔焊盘用来装DIP-8 封装的DS1302,肚子底下的SOP-8 焊盘用来装DS1307。晶振的走线稍微曲折了一点,所以总是怀疑是不是我走线的问题导致不起振,还怀疑某宝买的芯片和晶振是不是有问题,为此特地整了个快装测试板,可以把芯片和晶振插在座子里先测试好。
结果好像都是我自己的问题[doge]。其实只要求起振的话,晶振走线要求也并不苛刻,君不见,某宝卖的时钟模块上有些走线比我那个还花哨。
总结
随便水一篇,为了拿国庆徽章🎶