Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

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

Вс авг 06, 2017 22:29:20

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

А как правильно то инициализировать часы?

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

Вс авг 06, 2017 23:08:44

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

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

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

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

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

Вс авг 06, 2017 23:53:46

Если батарейка таки сдохнет, через несколько лет, то надо просто настроить время, и программатор для этого не нужен.

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

Пн авг 07, 2017 20:25:51

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

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

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

Вт авг 08, 2017 04:25:02

При старте МК должен проверить бит СН по нулевому адресу.

На память писал, всё не упомнишь. По любому RTFM или хотя бы в сети поискать как это у кого-то реализовано...

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

Вт окт 10, 2017 15:49:52

кусок кода си для 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 ();
}

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

Ср окт 11, 2017 00:13:11

Бывает дело во флюсе. После простоя флюса (без питания) типа "отпускает". После подачи питания регенерирует и начинает снова пропускать и коротить. Я тут попал на флюс TT viewtopic.php?p=3201059#p3201059

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

Ср дек 27, 2017 04:42:49

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

Добавлено after 32 seconds:
может есть схемотехническое решение этого беспредела

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

Сб янв 06, 2018 13:40:59

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

Добавлено after 49 seconds:
а флюса после паяк должны быть тщателно удалены и обмыты

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

Сб янв 06, 2018 14:36:23

Есть вариант, что стоят не те резисторы подтяжки на шине ай-квадрат-си. 4К7 должно быть.

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

Ср фев 21, 2018 19:49:32

Приветствую! Прикрутил сей часики к МК,вроде как работают...на данный момент считывание и вывод данных с часов происходит в основном цикле программы постоянно. за секунду цикл проходит от 8 до 9 раз, т.е. за чуть менее чем за секунду происходит бестолковое считывание и вывод одних и тех же данных.Хотелось бы узнать специалистов как обычно происходит считывание данных и вывод их в проектах посерьезнее...

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

Ср фев 21, 2018 20:12:00

Вывод SQW настраиваете на 1Гц и заводите его на внешнее прерывание, в обработчике которого выставляете флаг что пора считать время (время считываем в основном цикле!).

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

Ср фев 21, 2018 20:23:00

Вывод SQW настраиваете на 1Гц и заводите его на внешнее прерывание, в обработчике которого выставляете флаг что пора считать время (время считываем в основном цикле!).
не много ли привилегий затрачивать внешнее прерывание,ну или даже целую ножку на это дело?

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

Ср фев 21, 2018 20:26:24

Думаю не много, смотря какой мк используете, другого варианта нет, иначе придется бомбить их все время по i2c и отслеживать изменилось ли время. И есче настораживает что основной цикл за секунду проходит всего 9 раз, это что ж там такое "тяжеловесное"?

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

Ср фев 21, 2018 20:33:24

другого варианта нет
программно думаю можно, что-то корявое сварганить...

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

Ср фев 21, 2018 20:36:25

Хотелось бы посмотреть на другое, "oригинальное" решение проблемы.

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

Ср фев 21, 2018 20:38:25

это что ж там такое "тяжеловесное"?

Atmega16+LCD1602+RTCds1307

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

Ср фев 21, 2018 20:42:01

9 раз это очень мало, где-то лишние задержки. Как в таком случае кнопки опрашивать или что другое делать?

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

Ср фев 21, 2018 20:47:11

Хотелось бы посмотреть на другое, "oригинальное" решение проблемы.
надеюсь отзовется, кто блеснет оригинальностью)) ну а я могу предложить считывание по таймеру. если время прохода цикла около 100 ms,буду считывать через каждые 500-700ms...

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

Ср фев 21, 2018 20:53:48

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

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