Страница 4 из 6
Re: Часы на PIC16F628 + DS3231
Добавлено: Чт фев 18, 2021 17:33:29
otest
При первом же прерывании отвалится ДСка
Re: Часы на PIC16F628 + DS3231
Добавлено: Чт фев 18, 2021 17:46:23
Аlex
С чего это вдруг ?
Добавлено after 3 minutes 58 seconds:
У тех же DS1820, у которых реально критичные времена в тайм-слотах, и то ничего не отваливается. Индикация по прерыванию, температура считывается в основном потоке, всё как положено ... Но там прерывания запрещаются на время таймслота (60 us максимум).
А у I2C вообще нет никаких ограничений. Только по минимальному времени следования CLK, т.б. по макс частоте. Там даже запретов никаких не нужно, ничего не сломается....
Re: Часы на PIC16F628 + DS3231
Добавлено: Чт фев 18, 2021 18:04:33
otest
Успехов
Re: Часы на PIC16F628 + DS3231
Добавлено: Чт фев 18, 2021 18:26:44
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]
А это для чего еще? В каком месте это нужно?
Re: Часы на PIC16F628 + DS3231
Добавлено: Чт фев 18, 2021 19:57:40
Аlex
[uquote="otest",url="/forum/viewtopic.php?p=3983278#p3983278"]Успехов[/uquote] Вы задаёте вопросы, я на них отвечаю. С чего такая реакция ?
Добавлено after 13 minutes 30 seconds:
Поставил Протез. Нашёл там только DS3232. DS3231 нету

Re: Часы на PIC16F628 + DS3231
Добавлено: Чт фев 18, 2021 20:50:45
otest
Реакция нормальная, адекватная, без задней мысли. 32 и 31 не значительно отличаются , В данном случае это не имеет значения. Очевидно я чего то не понимаю.
Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:04:23
Аlex
Эх, давненько я под мелкие ПИКи не прогал
Принимайте...
В архиве - проект под MPLAB X с исходниками, прошивка и файл протеза.
Бонусом сделал установку времени с кнопки. Длительное нажатие (> 2 сек.) активирует установку. Коротким нажатием меняется значение. Следующее длительное нажатие - переход к другому разряду. И так до выхода из настроек ...
Закидываем помидорами ...

Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:10:12
korob
Низкий поклон тебе боярин!©
Аlex писал(а):Бонусом сделал установку времени с кнопки.
Вот как раз не нужно этого.
Из бонусов/хотелок только гашение незначащего нуля в разряде десятков часов (в режиме отображения мин:сек ноль в десятках минут не гасится), и мигание точки в режиме отображения час:мин с частотой 1Гц. скажностью 2. В режиме отображения мин:сек точка просто горит. Всё остальное только во вред.
Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:15:49
Аlex
Вот как раз не нужно этого.
НУ вдруг кому пригодится
Если не нужно, то можно не нажимать
Из бонусов/хотелок только гашение незначащего нуля в разряде десятков часов (в режиме отображения мин:сек ноль в десятках минут не гасится), и мигание точки в режиме отображения час:мин с частотой 1Гц. скажностью 2. В режиме отображения мин:сек точка просто горит.
Всё это есть
PS: Вход в установку сделано только из режима показа HH:MM.
Добавлено after 2 minutes 43 seconds:
А, минуты гасить не нужно ?
Пожалуйста :
Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:21:07
korob
Аlex писал(а):Если не нужно, то можно не нажимать
В этом и весь цимес, если есть кнопка - нажимать будут

, и обязательно собьют. Есть такие...
Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.
Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:31:51
Аlex
Ок, убрал установку
Добавлено after 7 minutes 44 seconds:
[uquote="korob",url="/forum/viewtopic.php?p=3983659#p3983659"]Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.[/uquote]Это вообще не проблема
Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:36:38
otest
Чувствуется рука мастера. Сейчас korob зашъёт в железо и все порадуемся за него.
Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:43:04
korob
otest писал(а):Чувствуется рука мастера.
И не говорите...
Я не успеваю проверять варианты и формулировать мысли как уже готов новый вариант.

otest писал(а):Сейчас korob зашъёт в железо
Не сейчас, после праздника только получится залить в железо.
Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:46:40
Аlex
korob писал(а):Не сейчас, после праздника только получится залить в железо.
Ждём отчёта

Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 12:49:43
korob
Аlex писал(а):Это вообще не проблема
Ну вот теперь полный Фэн-шуй.
Аlex писал(а):Ждём отчёта
После Дня защитника теперь, не раньше.
Огромная благодарность.

Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 15:37:29
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 сможет обеспечить такие параметры.

Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 17:03:57
Zhuk72
[uquote="korob",url="/forum/viewtopic.php?p=3983659#p3983659"]если есть кнопка - нажимать будут

, и обязательно собьют.[/uquote]
А как же вы сами в таком случае будете устанавливать время?
Re: Часы на PIC16F628 + DS3231
Добавлено: Пт фев 19, 2021 17:29:46
korob
Модуль на DS3231 будет синхронизироваться на ПК с NTP-сервером, а потом устанавливаться в часы. Ввиду высокой точности хода DS3231, и наличии в модуле резервной батареи подстройка показаний в течении как минимум года не потребуется. Ну а если вдруг потребуется можно раз в год вынуть модуль и синхронизировать с сервером времени вновь.
UPD:
[uquote="Аlex",url="/forum/viewtopic.php?p=3983685#p3983685"]
korob писал(а):Не сейчас, после праздника только получится залить в железо.
Ждём отчёта

[/uquote]
Решил далеко не откладывать и выкроил время для макетирования.
Работает в железе так как и задумано, индикация стабильная, с нужной частотой и скважностью, мерцаний/биений/переливов индикации не наблюдается ни при каких внешних условиях.

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

Эстетически более красиво сморится когда точка мигает в фазе, при которой зажигание точки приходится на момент смены показаний.
Всем спасибо за участие!
Отдельная благодарность
Alex и
otest за предоставленные варианты.
Ну и особая благодарность
Alex за полную реализацию моих хотелок.

Re: Часы на PIC16F628 + DS3231
Добавлено: Сб фев 20, 2021 18:14:48
Аlex
Что-то я как-то упустил этот "
UPD"
korob писал(а):фаза мигания не совпадает с моментом смены показаний
Это произошло из-за несинхронизации часов с внутренними тиками. Что-то я проморгал этот момент
Исправляемся :

Re: Часы на PIC16F628 + DS3231
Добавлено: Сб фев 20, 2021 19:25:05
korob