Часы на PIC16F628 + DS3231
Re: Часы на PIC16F628 + DS3231
При первом же прерывании отвалится ДСка
- Реклама
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
С чего это вдруг ? 
Добавлено after 3 minutes 58 seconds:
У тех же DS1820, у которых реально критичные времена в тайм-слотах, и то ничего не отваливается. Индикация по прерыванию, температура считывается в основном потоке, всё как положено ... Но там прерывания запрещаются на время таймслота (60 us максимум).
А у I2C вообще нет никаких ограничений. Только по минимальному времени следования CLK, т.б. по макс частоте. Там даже запретов никаких не нужно, ничего не сломается....
Добавлено after 3 minutes 58 seconds:
У тех же DS1820, у которых реально критичные времена в тайм-слотах, и то ничего не отваливается. Индикация по прерыванию, температура считывается в основном потоке, всё как положено ... Но там прерывания запрещаются на время таймслота (60 us максимум).
А у I2C вообще нет никаких ограничений. Только по минимальному времени следования CLK, т.б. по макс частоте. Там даже запретов никаких не нужно, ничего не сломается....
Re: Часы на PIC16F628 + DS3231
Успехов
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
[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]
А это для чего еще? В каком месте это нужно?
Ткните цитатой в упреки, а то я что-то их не вижу. По крайней мере в написанном мной. И часы я не обещал.
[uquote="otest",url="/forum/viewtopic.php?p=3983154#p3983154"]Вы сколько времени готовили ДСку для считывания? Считать готовое как 2 байта передать.[/uquote]
Готовил? В ДС только при старте программы проверяется и при необходимости корректируется конфигурация в двух-трех регистрах.
Для чего еще ее готовить? Она же не пельмень.
Отправляете адрес слейва, адрес регистра, еще раз адрес слейва на чтение и читаете данные пока не НАКните. На диаграмме это есть. Кроме того я выкладывал, кажется на второй странице, что-то вроде библиотеки для работы с ДС, по ней все должно быть понятно. Естественно к ней еще должна библиотека для i2c прилагаться, но у меня она для другого МК. Могу показать, если интересно.
На ПИКах я с I2C дел не имел, поэтому готового программного модуля нет, а чужими я не пользуюсь.
[uquote="otest",url="/forum/viewtopic.php?p=3983154#p3983154"]Мне ещё НОПить приходилось.[/uquote]
А это для чего еще? В каком месте это нужно?
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
[uquote="otest",url="/forum/viewtopic.php?p=3983278#p3983278"]Успехов[/uquote] Вы задаёте вопросы, я на них отвечаю. С чего такая реакция ? 
Добавлено after 13 minutes 30 seconds:
Поставил Протез. Нашёл там только DS3232. DS3231 нету
Добавлено after 13 minutes 30 seconds:
Поставил Протез. Нашёл там только DS3232. DS3231 нету
- Реклама
Re: Часы на PIC16F628 + DS3231
Реакция нормальная, адекватная, без задней мысли. 32 и 31 не значительно отличаются , В данном случае это не имеет значения. Очевидно я чего то не понимаю.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
Эх, давненько я под мелкие ПИКи не прогал
Принимайте... В архиве - проект под MPLAB X с исходниками, прошивка и файл протеза.
Бонусом сделал установку времени с кнопки. Длительное нажатие (> 2 сек.) активирует установку. Коротким нажатием меняется значение. Следующее длительное нажатие - переход к другому разряду. И так до выхода из настроек ...
Закидываем помидорами ...
Принимайте... В архиве - проект под MPLAB X с исходниками, прошивка и файл протеза.
Бонусом сделал установку времени с кнопки. Длительное нажатие (> 2 сек.) активирует установку. Коротким нажатием меняется значение. Следующее длительное нажатие - переход к другому разряду. И так до выхода из настроек ...
Закидываем помидорами ...
Re: Часы на PIC16F628 + DS3231
Низкий поклон тебе боярин!©
Из бонусов/хотелок только гашение незначащего нуля в разряде десятков часов (в режиме отображения мин:сек ноль в десятках минут не гасится), и мигание точки в режиме отображения час:мин с частотой 1Гц. скажностью 2. В режиме отображения мин:сек точка просто горит. Всё остальное только во вред.
Вот как раз не нужно этого.Аlex писал(а):Бонусом сделал установку времени с кнопки.
Из бонусов/хотелок только гашение незначащего нуля в разряде десятков часов (в режиме отображения мин:сек ноль в десятках минут не гасится), и мигание точки в режиме отображения час:мин с частотой 1Гц. скажностью 2. В режиме отображения мин:сек точка просто горит. Всё остальное только во вред.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
НУ вдруг кому пригодитсяВот как раз не нужно этого.
Если не нужно, то можно не нажимать
Всё это естьИз бонусов/хотелок только гашение незначащего нуля в разряде десятков часов (в режиме отображения мин:сек ноль в десятках минут не гасится), и мигание точки в режиме отображения час:мин с частотой 1Гц. скажностью 2. В режиме отображения мин:сек точка просто горит.
PS: Вход в установку сделано только из режима показа HH:MM.
Добавлено after 2 minutes 43 seconds:
А, минуты гасить не нужно ?
Пожалуйста :
Re: Часы на PIC16F628 + DS3231
В этом и весь цимес, если есть кнопка - нажимать будутАlex писал(а):Если не нужно, то можно не нажимать
Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
Ок, убрал установку
Добавлено after 7 minutes 44 seconds:
[uquote="korob",url="/forum/viewtopic.php?p=3983659#p3983659"]Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.[/uquote]Это вообще не проблема
[uquote="korob",url="/forum/viewtopic.php?p=3983659#p3983659"]Значит осталось только одно - проинвертировать тактовые сигналы. Мне нужны активные низкие уровни и по разрядам и по сегментам.[/uquote]Это вообще не проблема
Re: Часы на PIC16F628 + DS3231
Чувствуется рука мастера. Сейчас korob зашъёт в железо и все порадуемся за него.
Re: Часы на PIC16F628 + DS3231
И не говорите...otest писал(а):Чувствуется рука мастера.
Я не успеваю проверять варианты и формулировать мысли как уже готов новый вариант.
Не сейчас, после праздника только получится залить в железо.otest писал(а):Сейчас korob зашъёт в железо
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
Ждём отчётаkorob писал(а):Не сейчас, после праздника только получится залить в железо.
Re: Часы на PIC16F628 + DS3231
Ну вот теперь полный Фэн-шуй.Аlex писал(а):Это вообще не проблема
После Дня защитника теперь, не раньше.Аlex писал(а):Ждём отчёта
Огромная благодарность.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.
Re: Часы на PIC16F628 + DS3231
[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 сможет обеспечить такие параметры. 
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
[uquote="korob",url="/forum/viewtopic.php?p=3983659#p3983659"]если есть кнопка - нажимать будут
, и обязательно собьют.[/uquote]
А как же вы сами в таком случае будете устанавливать время?
А как же вы сами в таком случае будете устанавливать время?
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: Часы на PIC16F628 + DS3231
Модуль на DS3231 будет синхронизироваться на ПК с NTP-сервером, а потом устанавливаться в часы. Ввиду высокой точности хода DS3231, и наличии в модуле резервной батареи подстройка показаний в течении как минимум года не потребуется. Ну а если вдруг потребуется можно раз в год вынуть модуль и синхронизировать с сервером времени вновь. 
UPD:
[uquote="Аlex",url="/forum/viewtopic.php?p=3983685#p3983685"]
[/uquote]
Решил далеко не откладывать и выкроил время для макетирования.
Работает в железе так как и задумано, индикация стабильная, с нужной частотой и скважностью, мерцаний/биений/переливов индикации не наблюдается ни при каких внешних условиях.
К управлению кнопкой тоже нет претензий, срабатывает чётко, без дребезга и пропусков.
Время из DS3231 вычитывает тоже стабильно, без сбоев.
Вообщем все мои хотелки реализованы в полном объёме и на высшем уровне.
Но есть и совершенно незначительная недоработка - это мигание разделительной точки. С частотой и скважностью мигания всё как и должно быть, но вот фаза мигания не совпадает с моментом смены показаний (складывается ощущение что точка как бы мигает сама по себе, отдельно от часов).
Эстетически более красиво сморится когда точка мигает в фазе, при которой зажигание точки приходится на момент смены показаний. 
Всем спасибо за участие!
Отдельная благодарность Alex и otest за предоставленные варианты.
Ну и особая благодарность Alex за полную реализацию моих хотелок.
UPD:
[uquote="Аlex",url="/forum/viewtopic.php?p=3983685#p3983685"]
Ждём отчётаkorob писал(а):Не сейчас, после праздника только получится залить в железо.
Решил далеко не откладывать и выкроил время для макетирования.
Работает в железе так как и задумано, индикация стабильная, с нужной частотой и скважностью, мерцаний/биений/переливов индикации не наблюдается ни при каких внешних условиях.
К управлению кнопкой тоже нет претензий, срабатывает чётко, без дребезга и пропусков.
Время из DS3231 вычитывает тоже стабильно, без сбоев.
Вообщем все мои хотелки реализованы в полном объёме и на высшем уровне.
Но есть и совершенно незначительная недоработка - это мигание разделительной точки. С частотой и скважностью мигания всё как и должно быть, но вот фаза мигания не совпадает с моментом смены показаний (складывается ощущение что точка как бы мигает сама по себе, отдельно от часов).
Всем спасибо за участие!
Отдельная благодарность Alex и otest за предоставленные варианты.
Ну и особая благодарность Alex за полную реализацию моих хотелок.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Часы на PIC16F628 + DS3231
Что-то я как-то упустил этот "UPD" 
Исправляемся :
Это произошло из-за несинхронизации часов с внутренними тиками. Что-то я проморгал этот моментkorob писал(а):фаза мигания не совпадает с моментом смены показаний
Исправляемся :
Re: Часы на PIC16F628 + DS3231
Низкий поклон тебе боярин!©
Теперь уж точно, проверить смогу только после праздника, сейчас уже не дома.
Теперь уж точно, проверить смогу только после праздника, сейчас уже не дома.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.


