电路如图
电池建议使用CR1220,因为很小
上拉电阻是必须的
VCC采用5v供电时,上拉电阻换成3v3的情况下,3v3单片机可以直接控制DS1307
注意事项
供电电压和电池电压的关系
采用CR1220钮扣电池给芯片Vbat引脚供电,VCC使用3.3V供电。而ds1307的Vbat引脚不用,必须接地;VCC电压须大于1.25倍的Vbat。VCC=3.3V,Vbat=3.0V,3V*1.25=3.75V。以下摘自芯片手册:
DS1307工作于从设备状态.跟随在”启动条件”之后,主设备提供一从设备寻址字节和要存取的寄存器地址,寄存器就可以被连续地存取直到”停止条件”到来.当VCC低于1.25 x VBAT时,芯片就会中止目前的存取并复位设备地址计数器.这时,向芯片发出的任何信号将被拒绝,以免发生存取错误.当VCC低于VBAT时,芯片就会切换到电池备份模式.当VCC恢复到大于VBAT +0.2V时,芯片就会由VCC供电.当VCC大于1.25 xVBAT时,存取就可以正常进行.
VCC, GND –直流电源供电管脚.当VCC由+5V正常供电时,芯片可以被正常的存取.当VCC低于1.25 x VBAT并且3V电池已连到芯片时,读写被禁止.但时钟保持功能不受影响.当VCC低于VBAT时,RAM和时钟保持器就切换到3V电池供电.
VBAT –3V锂电池或其他电源供电输入.电池电压必须保持在2.0—3.5V之间以确保正确的操作.一个48 mAhr的锂电池可以在主电源不供电的情况下使DS1307保持数据在10年以上.
使用3.3v给DS1307供电并且使用CR1220电池时,可以用30K和8.2K的电阻对电池电压分压再给DS1307芯片。但是目前发现一个非常严重的问题,这会严重加剧DS1307的电池耗电量,大概1个月就会耗完CR1220的电量。目前正在尝试将供电电压换成5v并且去除分压电阻,等待实验结果