Таймер включает нагрузку в течение определенного периода времени (предел времени от 0 до 999 мин). После того, как время выйдет, нагрузка автоматически отключается.

7-сегментный дисплей (отображение времени):

Если время меньше, чем 10 минут - шаг 1 секунда.

Если время от 10 минут до 100 минут - шаг 10 секунд.

Если время от 100 до 999 минут - шаг 1 минута.

Для управления таймером используются три кнопки:

«+» Увеличить время работы. Одна кнопка увеличивает время с шагом 1 секунда в интервале от 0 до 9,99, с шагом 10 секунд, в интервале от 10,0 до 99,5, с шагом 1 мин в интервале от 100 до 999. Если удерживать кнопку, то время начинает автоматически увеличиваться, пока кнопка не будет отпущена или до тех пор, пока не достигнет 999 минут. Время автоматического изменение шага зависит от длительности устанавливаемого интервала времени. Возможные шаги - 1 сек, 10 сек, 1 мин, 10 мин.

«-» уменьшает время работы. Операция аналогична кнопка «+».

Нажатие вместе кнопок «+» и «-» приводит к сохранению в EEPROM памяти значения времени отображаемого на дисплее. Если установленное время будет сохранено в памяти EEPROM, при следующем включении таймера на дисплее будут отображаться последние сохраненные настройки времени.

Когда нагрузка таймера выключена, индикатор отображает время, которое было последним сохранено в EEPROM памяти. Нажатие на кнопку «On/Off», включает нагрузку, время на дисплее уменьшается до тех пор, пока не достигнет 0,00. После нагрузка автоматически выключается, и на дисплее отображается установленное время.

Если снова нажать кнопку «On/Off» цикл повторяется.

Если во время обратного отсчета временно нажать кнопку «On/Off», то нагрузка отключаются, индикатор будет показывать остаток от первоначально установленного промежутка времени. Если снова нажать кнопку «On/Off», то нагрузка будет включена, отсчет будет уже идти с этой точки. После того как время выйдет, нагрузка выключается, индикатор отображает установленное время.

Биты конфигурации микроконтроллера:


Архив для статьи "Таймер 1с - 999мин на ATtiny2313"
Описание: Файл прошивки микроконтроллера, модель Proteus
Размер файла: 2.03 KB Количество загрузок: 1 543 Скачать

Комментарии  

0 #1 1sg 25.07.2017 12:21
Здравствуйте. Если возможно, переделайте прошивку для ОК(т.е. инвертировать выходы на сегменты).
Сообщить модератору
0 #2 AntonChip 01.08.2017 20:45
Прошивку для ОК добавил в архив
Сообщить модератору
0 #3 1sg 04.08.2017 18:28
В Proteuse (правда, не очень с ним дружу) заменил индикатор на ОК, перевернул транзисторы Э--,К-катоды. Горят все нули и точки. Можно ли поправить прошивку для ОК без ключей. Прошивка ОА может работать и без ключей.
Сообщить модератору
0 #4 AntonChip 04.08.2017 23:24
В протеусе подтяните катоды через резисторы 1кОм к плюсу питания, тогда будет показывать
Сообщить модератору
0 #5 mazay55 23.08.2017 14:19
можно печатную плату?
Сообщить модератору
-1 #6 Rubshik 02.09.2017 22:58
Изготовил данный таймер уважаемого автора AntonChip, индикатор с ОА. С индикатором ОК работать отказался :-? - ни один сегмент не светиться хотя программа работает. Кварц применил часовой, чуть ниже по частоте.
Очень расстроило отсутствие бипера (нет выхода на акустический излучатель), а это очень важно для дел по кухне. Про программировани е EEPROM ничего не сказано, во вложении файл с расширением .eep отсутствует. Про работу устройства с запоминанием установленного времени ничего не сказано, в описании всё скомкано и понять ничего нельзя. Может кто сможет пояснить?
Повторяю уже второй таймер автора, а чего хотелось таки не получилось. Автору спасибо за проделанную работу.
Сообщить модератору
0 #7 shsvv 05.09.2017 23:02
фьюзы неверно указаны, нужно взвести галочку CKSEL0
Сообщить модератору
0 #8 leonid2 16.10.2017 23:21
У кого есть печатная плата
Сообщить модератору
0 #9 valstets 18.12.2017 11:27
таймер работает, но не высвечивается время из памяти. Приходится каждый раз устанавливать значение заново. Вопрос к автору - может нужно подкорректирова ть программу или в чем причина? В протеусе та же история
Сообщить модератору
0 #10 AntonChip 20.12.2017 23:28
Цитирую valstets:
таймер работает, но не высвечивается время из памяти. Приходится каждый раз устанавливать значение заново. Вопрос к автору - может нужно подкорректировать программу или в чем причина? В протеусе та же история

Новая прошивка в архиве, жду отзыва по работе таймера
Сообщить модератору
0 #11 left 18.07.2018 21:04
Есть реализация на энкодере
Сообщить модератору
0 #12 krenlyk 08.12.2019 20:24
Автор фьюзы неправильные в 2 раза спешит отсчёт
должно быть так:
SPIEN-1
SUT0-1
CKSEL1-1
CKSEL0-1
И ещё сохранение настроек неудобное 2-мя кнопками не всегда срабатывает
Сообщить модератору
0 #13 AntonChip 08.12.2019 21:10
Цитирую krenlyk:
Автор фьюзы неправильные в 2 раза спешит отсчёт
должно быть так:
SPIEN-1
SUT0-1
CKSEL1-1
CKSEL0-1

Здравствйуте, фьюзы верные, не один раз проверено
Сообщить модератору
0 #14 Димитрис Дяченко 13.01.2020 22:03
AntonChip, здравствуйте. Обвязка кварца конденсаторы 22nf или 22pf. У меня запускается от внутреннего тактирывания и не сохраняет в память, доходит до 000 и все. Прошивка с ОК
Сообщить модератору
0 #15 AntonChip 14.01.2020 07:31
Здравствуйте. Конденсаторы на 22 пикофарада, на схеме поменяю. Файл EEPROM прошивали?
Сообщить модератору
0 #16 Димитрис Дяченко 14.01.2020 14:44
EEPROM прошивал. в Proteus тоже не сокраняет, если меняешь частоту на 8мГц тогда, после отработки таймера время установки остается.
Сообщить модератору
0 #17 AntonChip 24.01.2020 08:01
Цитирую Димитрис Дяченко:
EEPROM прошивал. в Proteus тоже не сокраняет, если меняешь частоту на 8мГц тогда, после отработки таймера время установки остается.

Прошивку исправил, пробуйте, в папке "Доработка"
Сообщить модератору
0 #18 puh57 04.03.2024 15:22
Здраствуйте. Нагрузка включается 7 выводом. Вопрос 0 или 1 при включении нагрузки
Сообщить модератору
0 #19 AntonChip 04.03.2024 19:04
Цитирую puh57:
Здраствуйте. Нагрузка включается 7 выводом. Вопрос 0 или 1 при включении нагрузки
Здравствуйте. 1 при включенной нагрузке.
Сообщить модератору