Часы на PIC16F628 + DS3231

Поклонники продукции Microchip Technology Inc тусуются тут.
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Часы на PIC16F628 + DS3231

Сообщение otest »

При первом же прерывании отвалится ДСка
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Часы на PIC16F628 + DS3231

Сообщение Аlex »

С чего это вдруг ? :shock:

Добавлено after 3 minutes 58 seconds:
У тех же DS1820, у которых реально критичные времена в тайм-слотах, и то ничего не отваливается. Индикация по прерыванию, температура считывается в основном потоке, всё как положено ... Но там прерывания запрещаются на время таймслота (60 us максимум).
А у I2C вообще нет никаких ограничений. Только по минимальному времени следования CLK, т.б. по макс частоте. Там даже запретов никаких не нужно, ничего не сломается....
Реклама
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Часы на PIC16F628 + DS3231

Сообщение otest »

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

Re: Часы на PIC16F628 + DS3231

Сообщение Zhuk72 »

[uquote="otest",url="/forum/viewtopic.php?p=3983154#p3983154"]Где программа часов для korobа ? Ваши теоретические рассуждения похожи на упрёки и отмазки.[/uquote]
Ткните цитатой в упреки, а то я что-то их не вижу. По крайней мере в написанном мной. И часы я не обещал.

[uquote="otest",url="/forum/viewtopic.php?p=3983154#p3983154"]Вы сколько времени готовили ДСку для считывания? Считать готовое как 2 байта передать.[/uquote]
Готовил? В ДС только при старте программы проверяется и при необходимости корректируется конфигурация в двух-трех регистрах.
Для чего еще ее готовить? Она же не пельмень.
Отправляете адрес слейва, адрес регистра, еще раз адрес слейва на чтение и читаете данные пока не НАКните. На диаграмме это есть. Кроме того я выкладывал, кажется на второй странице, что-то вроде библиотеки для работы с ДС, по ней все должно быть понятно. Естественно к ней еще должна библиотека для i2c прилагаться, но у меня она для другого МК. Могу показать, если интересно.
На ПИКах я с I2C дел не имел, поэтому готового программного модуля нет, а чужими я не пользуюсь.

[uquote="otest",url="/forum/viewtopic.php?p=3983154#p3983154"]Мне ещё НОПить приходилось.[/uquote]
А это для чего еще? В каком месте это нужно?
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Часы на PIC16F628 + DS3231

Сообщение Аlex »

[uquote="otest",url="/forum/viewtopic.php?p=3983278#p3983278"]Успехов[/uquote] Вы задаёте вопросы, я на них отвечаю. С чего такая реакция ? :facepalm:

Добавлено after 13 minutes 30 seconds:
Поставил Протез. Нашёл там только DS3232. DS3231 нету :dont_know:
Реклама
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Часы на PIC16F628 + DS3231

Сообщение otest »

Реакция нормальная, адекватная, без задней мысли. 32 и 31 не значительно отличаются , В данном случае это не имеет значения. Очевидно я чего то не понимаю.
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Часы на PIC16F628 + DS3231

Сообщение Аlex »

Эх, давненько я под мелкие ПИКи не прогал :sleep:

Принимайте...
DS3232.zip
(258.86 КБ) 250 скачиваний
В архиве - проект под MPLAB X с исходниками, прошивка и файл протеза.
Бонусом сделал установку времени с кнопки. Длительное нажатие (> 2 сек.) активирует установку. Коротким нажатием меняется значение. Следующее длительное нажатие - переход к другому разряду. И так до выхода из настроек ...

Закидываем помидорами ... :)))
Аватара пользователя
korob
Друг Кота
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Re: Часы на PIC16F628 + DS3231

Сообщение korob »

Низкий поклон тебе боярин!© :beer:
Аlex писал(а):Бонусом сделал установку времени с кнопки.
Вот как раз не нужно этого. :(
Из бонусов/хотелок только гашение незначащего нуля в разряде десятков часов (в режиме отображения мин:сек ноль в десятках минут не гасится), и мигание точки в режиме отображения час:мин с частотой 1Гц. скажностью 2. В режиме отображения мин:сек точка просто горит. Всё остальное только во вред.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Часы на PIC16F628 + DS3231

Сообщение Аlex »

Вот как раз не нужно этого.
НУ вдруг кому пригодится :roll:
Если не нужно, то можно не нажимать :))
Из бонусов/хотелок только гашение незначащего нуля в разряде десятков часов (в режиме отображения мин:сек ноль в десятках минут не гасится), и мигание точки в режиме отображения час:мин с частотой 1Гц. скажностью 2. В режиме отображения мин:сек точка просто горит.
Всё это есть :)

PS: Вход в установку сделано только из режима показа HH:MM.

Добавлено after 2 minutes 43 seconds:
А, минуты гасить не нужно ? :roll:
Пожалуйста :
DS3232.zip
(258.59 КБ) 241 скачивание
Аватара пользователя
korob
Друг Кота
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Re: Часы на PIC16F628 + DS3231

Сообщение korob »

Аlex писал(а):Если не нужно, то можно не нажимать
В этом и весь цимес, если есть кнопка - нажимать будут :))) , и обязательно собьют. Есть такие... :)

Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Часы на PIC16F628 + DS3231

Сообщение Аlex »

Ок, убрал установку :)))
DS3232.zip
(257.53 КБ) 245 скачиваний
Добавлено after 7 minutes 44 seconds:
[uquote="korob",url="/forum/viewtopic.php?p=3983659#p3983659"]Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.[/uquote]Это вообще не проблема :roll:
DS3232.zip
(258.39 КБ) 239 скачиваний
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Часы на PIC16F628 + DS3231

Сообщение otest »

Чувствуется рука мастера. Сейчас korob зашъёт в железо и все порадуемся за него.
Аватара пользователя
korob
Друг Кота
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Re: Часы на PIC16F628 + DS3231

Сообщение korob »

otest писал(а):Чувствуется рука мастера.
И не говорите...
Я не успеваю проверять варианты и формулировать мысли как уже готов новый вариант. :))
otest писал(а):Сейчас korob зашъёт в железо
Не сейчас, после праздника только получится залить в железо.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Часы на PIC16F628 + DS3231

Сообщение Аlex »

korob писал(а):Не сейчас, после праздника только получится залить в железо.
Ждём отчёта :music:
Аватара пользователя
korob
Друг Кота
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Re: Часы на PIC16F628 + DS3231

Сообщение korob »

Аlex писал(а):Это вообще не проблема
Ну вот теперь полный Фэн-шуй. :beer: :beer: :beer:
Аlex писал(а):Ждём отчёта
После Дня защитника теперь, не раньше. :)

Огромная благодарность. :beer:
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Часы на PIC16F628 + DS3231

Сообщение akl »

[uquote="akl",url="/forum/viewtopic.php?p=3981133#p3981133"]... DS не нужен, т.к. прога обслуживания оного займет столько же, сколько прога собственно часов.[/uquote] В качестве пятничной развлекухи реализовал на ATtiny2313a без RTC с кварцем 4'608кГц. Прога заняла 296 байт. Но это не главное. На 10 секундном интервале 999'999,92мкс, на 5 минутном 299'999'993мкс. Ток потребления собственно контроллера <0,4мА. Индикация реализована в формате 8/7 для каждого знакоместа и жестко привязана к формированию времени. Думаю, не каждая DS сможет обеспечить такие параметры. :beer:
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Часы на PIC16F628 + DS3231

Сообщение Zhuk72 »

[uquote="korob",url="/forum/viewtopic.php?p=3983659#p3983659"]если есть кнопка - нажимать будут :))) , и обязательно собьют.[/uquote]
А как же вы сами в таком случае будете устанавливать время?
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
korob
Друг Кота
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Re: Часы на PIC16F628 + DS3231

Сообщение korob »

Модуль на DS3231 будет синхронизироваться на ПК с NTP-сервером, а потом устанавливаться в часы. Ввиду высокой точности хода DS3231, и наличии в модуле резервной батареи подстройка показаний в течении как минимум года не потребуется. Ну а если вдруг потребуется можно раз в год вынуть модуль и синхронизировать с сервером времени вновь. :roll:

UPD:

[uquote="Аlex",url="/forum/viewtopic.php?p=3983685#p3983685"]
korob писал(а):Не сейчас, после праздника только получится залить в железо.
Ждём отчёта :music:[/uquote]
Решил далеко не откладывать и выкроил время для макетирования. :solder:

Работает в железе так как и задумано, индикация стабильная, с нужной частотой и скважностью, мерцаний/биений/переливов индикации не наблюдается ни при каких внешних условиях. :))
К управлению кнопкой тоже нет претензий, срабатывает чётко, без дребезга и пропусков.

Время из DS3231 вычитывает тоже стабильно, без сбоев.

Вообщем все мои хотелки реализованы в полном объёме и на высшем уровне. :beer:

Но есть и совершенно незначительная недоработка - это мигание разделительной точки. С частотой и скважностью мигания всё как и должно быть, но вот фаза мигания не совпадает с моментом смены показаний (складывается ощущение что точка как бы мигает сама по себе, отдельно от часов). :( Эстетически более красиво сморится когда точка мигает в фазе, при которой зажигание точки приходится на момент смены показаний. :roll:

Всем спасибо за участие! :beer:

Отдельная благодарность Alex и otest за предоставленные варианты. :beer:

Ну и особая благодарность Alex за полную реализацию моих хотелок. :beer:
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Часы на PIC16F628 + DS3231

Сообщение Аlex »

Что-то я как-то упустил этот "UPD" :roll:
korob писал(а):фаза мигания не совпадает с моментом смены показаний
Это произошло из-за несинхронизации часов с внутренними тиками. Что-то я проморгал этот момент :oops:
Исправляемся :
DS3232.zip
(259.05 КБ) 238 скачиваний
:beer:
Аватара пользователя
korob
Друг Кота
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Re: Часы на PIC16F628 + DS3231

Сообщение korob »

Низкий поклон тебе боярин!©
:beer: :beer: :beer:
Теперь уж точно, проверить смогу только после праздника, сейчас уже не дома. :(
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Ответить

Вернуться в «PIC»