Всем привет!
Понадобились мне часы реального времени. Купил ДС1307.
Собрал схему и запрограммировал контроллер.
Включаю питание, записываю время во внутренние регистры дээс, немного жду, считываю время - вижу что часы идут нормально.
Выключаю питание, немнго жду, включаю питание, считываю время из внутренних регистров дээски.
Оказывается оно осталось таким же, каким было в момент выключения питания.
Почему время не считается без основного питания
Батарейка-то новая, целая, 3,25вольт.
У меня появилось очень сомнительное предположение, что они и не должны идти, раз нет питания. То есть для работы часов нужно питание на восьмой ножке = 5вольт, а я его отключаю. Но тогда зачем нужна батарейка на третьей ножке? Может батарейка нужна, чтобы внутренние регистры дээски не сбрасывались в ноль! Но зачем мне нужны данные в этих регистрах, если я не знаю сколько времени прошло без основного питания (одна секунда или часов десять, а может, вообще, месяц!). Тогда, может, батарейка нужна если мы хотим просто использовать дээску, как энергонезависимую память? Наверное нет, потому что есть восьмивыводные микросхемы, сохраняющие память без всяких батареек.
Где-то я видел, что между питанием контроллера и питание дээски ставят диод и ионистор, то есть при пропадании основного питания, энергия ионистора заставляет часы продолжать работать. Тогда почему третий вывод дээски не объединён с восьмым? Не понадобилось бы вообще батарейки этой: и часы и регистры питались бы энергией ионис тора.
Вот на компьютерных материнках стоят трёхвольтовые батарейки и без всяких ионисторов часы продолжают считать больше года. Я предполагал, что и ДС1307 так же устроена. А, может, она именно так и устроена, просто я чего-то ещё не знаю. В общем ничего не понятно. Вопросов много, ответов нет. Разъясните, кто может.