Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: Часы на PIC16F628 + DS3231

Чт фев 18, 2021 17:33:29

При первом же прерывании отвалится ДСка

Re: Часы на PIC16F628 + DS3231

Чт фев 18, 2021 17:46:23

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

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

Re: Часы на PIC16F628 + DS3231

Чт фев 18, 2021 18:04:33

Успехов

Re: Часы на PIC16F628 + DS3231

Чт фев 18, 2021 18:26:44

Где программа часов для korobа ? Ваши теоретические рассуждения похожи на упрёки и отмазки.

Ткните цитатой в упреки, а то я что-то их не вижу. По крайней мере в написанном мной. И часы я не обещал.

Вы сколько времени готовили ДСку для считывания? Считать готовое как 2 байта передать.

Готовил? В ДС только при старте программы проверяется и при необходимости корректируется конфигурация в двух-трех регистрах.
Для чего еще ее готовить? Она же не пельмень.
Отправляете адрес слейва, адрес регистра, еще раз адрес слейва на чтение и читаете данные пока не НАКните. На диаграмме это есть. Кроме того я выкладывал, кажется на второй странице, что-то вроде библиотеки для работы с ДС, по ней все должно быть понятно. Естественно к ней еще должна библиотека для i2c прилагаться, но у меня она для другого МК. Могу показать, если интересно.
На ПИКах я с I2C дел не имел, поэтому готового программного модуля нет, а чужими я не пользуюсь.

Мне ещё НОПить приходилось.

А это для чего еще? В каком месте это нужно?

Re: Часы на PIC16F628 + DS3231

Чт фев 18, 2021 19:57:40

Успехов
Вы задаёте вопросы, я на них отвечаю. С чего такая реакция ? :facepalm:

Добавлено after 13 minutes 30 seconds:
Поставил Протез. Нашёл там только DS3232. DS3231 нету :dont_know:

Re: Часы на PIC16F628 + DS3231

Чт фев 18, 2021 20:50:45

Реакция нормальная, адекватная, без задней мысли. 32 и 31 не значительно отличаются , В данном случае это не имеет значения. Очевидно я чего то не понимаю.

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:04:23

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

Принимайте...
DS3232.zip
(258.86 KiB) Скачиваний: 191

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

Закидываем помидорами ... :)))

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:10:12

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

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:15:49

Вот как раз не нужно этого.
НУ вдруг кому пригодится :roll:
Если не нужно, то можно не нажимать :))

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

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

Добавлено after 2 minutes 43 seconds:
А, минуты гасить не нужно ? :roll:
Пожалуйста :
DS3232.zip
(258.59 KiB) Скачиваний: 185

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:21:07

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

Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:31:51

Ок, убрал установку :)))
DS3232.zip
(257.53 KiB) Скачиваний: 187


Добавлено after 7 minutes 44 seconds:
Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.
Это вообще не проблема :roll:

DS3232.zip
(258.39 KiB) Скачиваний: 187

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:36:38

Чувствуется рука мастера. Сейчас korob зашъёт в железо и все порадуемся за него.

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:43:04

otest писал(а):Чувствуется рука мастера.
И не говорите...
Я не успеваю проверять варианты и формулировать мысли как уже готов новый вариант. :))
otest писал(а):Сейчас korob зашъёт в железо
Не сейчас, после праздника только получится залить в железо.

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:46:40

korob писал(а):Не сейчас, после праздника только получится залить в железо.
Ждём отчёта :music:

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 12:49:43

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

Огромная благодарность. :beer:

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 15:37:29

... DS не нужен, т.к. прога обслуживания оного займет столько же, сколько прога собственно часов.
В качестве пятничной развлекухи реализовал на ATtiny2313a без RTC с кварцем 4'608кГц. Прога заняла 296 байт. Но это не главное. На 10 секундном интервале 999'999,92мкс, на 5 минутном 299'999'993мкс. Ток потребления собственно контроллера <0,4мА. Индикация реализована в формате 8/7 для каждого знакоместа и жестко привязана к формированию времени. Думаю, не каждая DS сможет обеспечить такие параметры. :beer:

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 17:03:57

если есть кнопка - нажимать будут :))) , и обязательно собьют.

А как же вы сами в таком случае будете устанавливать время?

Re: Часы на PIC16F628 + DS3231

Пт фев 19, 2021 17:29:46

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

UPD:

korob писал(а):Не сейчас, после праздника только получится залить в железо.
Ждём отчёта :music:

Решил далеко не откладывать и выкроил время для макетирования. :solder:

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

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

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

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

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

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

Ну и особая благодарность Alex за полную реализацию моих хотелок. :beer:

Re: Часы на PIC16F628 + DS3231

Сб фев 20, 2021 18:14:48

Что-то я как-то упустил этот "UPD" :roll:

korob писал(а):фаза мигания не совпадает с моментом смены показаний
Это произошло из-за несинхронизации часов с внутренними тиками. Что-то я проморгал этот момент :oops:
Исправляемся :
DS3232.zip
(259.05 KiB) Скачиваний: 184


:beer:

Re: Часы на PIC16F628 + DS3231

Сб фев 20, 2021 19:25:05

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