Всё по DS1307 и прочим часам Dallas (Maxim)

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
alex1126
Вымогатель припоя
Сообщения: 567
Зарегистрирован: Ср дек 19, 2012 12:16:22

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение alex1126 »

батарейку не подключал. А без батарейки не будет работать? А если батарейка сдохнет, то после замены батарейки опять программатор тащить что ли?

А как правильно то инициализировать часы?
DrLithium
Открыл глаза
Сообщения: 79
Зарегистрирован: Вт фев 19, 2008 10:14:47
Откуда: SPb

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение DrLithium »

А с парашютом я прыгать боюсь, а то вдруг он не раскроется.

Часовая микруха ведёт счёт времени в ОЗУ, т.е. в энергозависимой памяти. Да и тупо сам генератор требует для хода питание. Именно по этому нужно держать микруху под напряжением.

Микруха требует разовой инициализации (описано в даташите, выставление частоты SQW). А дальше достаточно выставить дату и время, которые будут актуальны пока есть достаточно напряжения питания.

После замены батарейки, устройство должно (после включения) обеспечить провести иницализацию автоматически, предоставить возможность настройки даты и времени, и вывод актуальных данных на устройство вывода.
Если в голове каша, значит ваш котелок варит!
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение WiseLord »

Если батарейка таки сдохнет, через несколько лет, то надо просто настроить время, и программатор для этого не нужен.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение Zhuk72 »

При старте МК должен проверить бит СН по нулевому адресу. Если он равен нулю, значит все нормально, можно считывать все данные.
Если же он в единице, значит часы стоят и их нужно проинициализировать и включить генерацию СН = 0.

Батарея только подпитывает DS1302 на время отсутствия основно питания, ее на годы хватит.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
DrLithium
Открыл глаза
Сообщения: 79
Зарегистрирован: Вт фев 19, 2008 10:14:47
Откуда: SPb

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение DrLithium »

[uquote="Zhuk72",url="/forum/viewtopic.php?p=3158014#p3158014"]При старте МК должен проверить бит СН по нулевому адресу.[/uquote]
На память писал, всё не упомнишь. По любому RTFM или хотя бы в сети поискать как это у кого-то реализовано...
Если в голове каша, значит ваш котелок варит!
santos29
Родился
Сообщения: 9
Зарегистрирован: Вс май 14, 2017 14:49:50

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение santos29 »

кусок кода си для ds1307 и at98c2051:
...
if (mode == 0) Out_1Hz ();//отображение времени
if (mode == 7) Stop_Out_1Hz ();//отображение температуры
/ ************************************************* ********************************* /
void Stop_Out_1Hz (void) // SQW / OUT on
{
start ();
write (0xd0);
write (0x07);
write (0x10);
stop ();
}
/ ************************************************* ********************************* /
void Stop_Out_1Hz (void) // SQW / OUT on
{
start ();
write (0xd0);
write (0x07);
write (0x80);
stop ();
}
/ ************************************************* ********************************* /
Выход SQW работает как положено, но сами часы произвольно останавливаются когда им вздумается. Никак не пойму в чем проблема может быть?

Добавлено after 1 minute 55 seconds:
ошибся, конечно же
void Out_1Hz (void) // SQW / OUT on
{
start ();
write (0xd0);
write (0x07);
write (0x10);
stop ();
}
DrLithium
Открыл глаза
Сообщения: 79
Зарегистрирован: Вт фев 19, 2008 10:14:47
Откуда: SPb

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение DrLithium »

Бывает дело во флюсе. После простоя флюса (без питания) типа "отпускает". После подачи питания регенерирует и начинает снова пропускать и коротить. Я тут попал на флюс TT http://radiokot.ru/forum/viewtopic.php? ... 9#p3201059
Если в голове каша, значит ваш котелок варит!
рокки1945
Мучитель микросхем
Сообщения: 490
Зарегистрирован: Вс май 01, 2016 17:51:38

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение рокки1945 »

подскажите почему когда к 1307 прикасаешься она перестает считать, и МК зависает.

Добавлено after 32 seconds:
может есть схемотехническое решение этого беспредела
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение musor »

а зачем прикасаться к ней? скоре всего сбивается от наводок или статики кварк его корпус надо землитть на полигон GND

Добавлено after 49 seconds:
а флюса после паяк должны быть тщателно удалены и обмыты
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
DrLithium
Открыл глаза
Сообщения: 79
Зарегистрирован: Вт фев 19, 2008 10:14:47
Откуда: SPb

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение DrLithium »

Есть вариант, что стоят не те резисторы подтяжки на шине ай-квадрат-си. 4К7 должно быть.
Если в голове каша, значит ваш котелок варит!
Аватара пользователя
ROMan2947
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение ROMan2947 »

Приветствую! Прикрутил сей часики к МК,вроде как работают...на данный момент считывание и вывод данных с часов происходит в основном цикле программы постоянно. за секунду цикл проходит от 8 до 9 раз, т.е. за чуть менее чем за секунду происходит бестолковое считывание и вывод одних и тех же данных.Хотелось бы узнать специалистов как обычно происходит считывание данных и вывод их в проектах посерьезнее...
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение Apparatchik »

Вывод SQW настраиваете на 1Гц и заводите его на внешнее прерывание, в обработчике которого выставляете флаг что пора считать время (время считываем в основном цикле!).
«И всё-таки она вертится!»
Аватара пользователя
ROMan2947
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение ROMan2947 »

[uquote="Apparatchik",url="/forum/viewtopic.php?p=3314256#p3314256"]Вывод SQW настраиваете на 1Гц и заводите его на внешнее прерывание, в обработчике которого выставляете флаг что пора считать время (время считываем в основном цикле!).[/uquote] не много ли привилегий затрачивать внешнее прерывание,ну или даже целую ножку на это дело?
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение Apparatchik »

Думаю не много, смотря какой мк используете, другого варианта нет, иначе придется бомбить их все время по i2c и отслеживать изменилось ли время. И есче настораживает что основной цикл за секунду проходит всего 9 раз, это что ж там такое "тяжеловесное"?
«И всё-таки она вертится!»
Аватара пользователя
ROMan2947
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение ROMan2947 »

[uquote="Apparatchik",url="/forum/viewtopic.php?p=3314263#p3314263"]другого варианта нет[/uquote] программно думаю можно, что-то корявое сварганить...
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение Apparatchik »

Хотелось бы посмотреть на другое, "oригинальное" решение проблемы.
«И всё-таки она вертится!»
Аватара пользователя
ROMan2947
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение ROMan2947 »

[uquote="Apparatchik",url="/forum/viewtopic.php?p=3314263#p3314263"]это что ж там такое "тяжеловесное"?[/uquote]
Atmega16+LCD1602+RTCds1307
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение Apparatchik »

9 раз это очень мало, где-то лишние задержки. Как в таком случае кнопки опрашивать или что другое делать?
«И всё-таки она вертится!»
Аватара пользователя
ROMan2947
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб янв 23, 2016 00:59:59
Откуда: Чебоксары

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение ROMan2947 »

[uquote="Apparatchik",url="/forum/viewtopic.php?p=3314272#p3314272"]Хотелось бы посмотреть на другое, "oригинальное" решение проблемы.[/uquote] надеюсь отзовется, кто блеснет оригинальностью)) ну а я могу предложить считывание по таймеру. если время прохода цикла около 100 ms,буду считывать через каждые 500-700ms...
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: Всё по DS1307 и прочим часам Dallas (Maxim)

Сообщение Apparatchik »

Не прокатит, так, как часы не синхронизированы с мк, на дисплее будет заметно. Некоторые секунды будут длинее обычного и потом перескакивать через одну. Как часто это будет происходить зависит от величины "разсинхрона". Проверено!

P.S. и по аналогии с Вашим мнением про ножку: А не жирно ли для этого использовать таймер? тоесть для работы одного таймера (RTC) нужно задействовать есче один в мк.
«И всё-таки она вертится!»
Ответить

Вернуться в «Периферия»