Простой кухонный таймер на PIC16F84. Моя реализация

Люди, занимающиеся приготовлением пищи, знают, как легко можно испортить блюдо, отвлекаясь на другие дела и забывая вовремя выключить плиту. Поэтому, по просьбе жены, передо мной была поставлена задача, сделать простой и удобный в управлении таймер для кухни. Конечно, эта функция встроена практически в любом мобильном телефоне, но не все знают, как ей пользоваться, да и каждый раз искать и настраивать ее в меню мобильника неудобно. В идеале требуется малогабаритное устройство, которое управляется простым нажатием одной кнопки и не содержит дефицитных элементов. В быту обычно бывает достаточно 3-4 интервала выдержки времени, которые и используются чаще всего. Поиск подходящей схемы в различных радиожурналах не принес результатов - предложенные таймеры были или довольно сложные в управлении, что могло привести к ошибке при установке времени отсчета неподготовленным пользователем, или питались от сети, исключая их мобильность, или обходились дороже покупки готового устройства. В связи с этим мной была разработана схема, лишенная всех этих недостатков.

Работа устройства основана на постепенном заряде конденсатора, подключенного к входу операционного усилителя до напряжения, при котором происходит переключение состояния выхода ОУ, в свою очередь, управляющего звуковым генератором. Одно из преимуществ устройства в том, что оно не имеет выключателя питания - достаточно всего лишь нажать на один из трех переключателей, чтобы произошло включение и запуск нужного интервала отсчета. При этом загорается светодиод, показывающий, что таймер включен и идет выдержка времени. По прошествии заданного интервала раздается постоянный звуковой сигнал. Повторно нажав на тот же самый переключатель, отключаем устройство.

Основой устройства является счетверенный операционный усилитель LM324, причем три его элемента являются отдельными таймерами, а четвертый элемент - генератором звука. Нажав на один из переключателей, соответствующий желаемой выдержке времени, допустим, SA1 - 5 мин, питание начинает поступать на схему, а конденсатор С1, включенный параллельно контактам переключателя, перестает быть замкнутым и начинает медленно заряжаться через резистор R1. Таким образом, в момент включения потенциал на инвертирующем входе ОУ ниже, чем на неинвертирующем, следовательно, выход ОУ имеет потенциал питающего напряжения. Инвертирующий вход звукового генератора на элементе DA1.4 через диод VD1 оказывается под высоким потенциалом, что блокирует его работу-динамик молчит.

По прошествии времени, необходимого для зарядки конденсатора С1 через резистор R1, потенциал на инвертирующем входе ОУ превысит значение потенциала на неинвертирующем. При этом на выходе ОУ сформируется низкий потенциал - диод VD1 будет закрыт и заработает звуковой генератор. С вывода 14 элемента DA1.4 сигнал, сформированный генератором, через резистор R4 и диод VD1 поступает на базу транзистор VT1, к которому подключен звукоизлучатель, раздается звуковой сигнал. Для выключения устройства необходимо повторно нажать на переключатель SA1, что отключает схему от питания и одновременно разряжает конденсатор С1 - таймер снова готов к работе.

Время отсчета таймера определяется номиналами элементов С1-СЗ и R1-R3. При указанных значениях этих деталей, мы будем иметь следующие интервалы выдержки времени: SA1 - 5 мин, SA2 - 10 мин, SA3 - 20 мин. При желании можно
изменить время выдержки каждого из таймеров, увеличивая или уменьшая номиналы соответствующих резисторов и конденсаторов.

Налаживание устройства сводится к подбору конденсатора С4, определяющего тональность, и резистора R5 - громкость звучания.

Печатная плата не разрабатывалась, так как был использован навесной монтаж. Резисторы МЛТ -0,125. Времязадающие конденсаторы С1 -СЗ с возможно меньшим током утечки, остальные К73-17. Диоды VD1-VD4 - КД521А, замена транзистора VT1 - КТ817А, Б. Светодиод красного цвета свечения HL1, можно использовать мигающий
UL-506S11FD-FB, что позволит получить эффект отсчета времени. Переключатели SA1-SA3 - любые малогабаритные. В качестве звукоизлучателя подойдет небольшой динамик с сопротивлением обмотки 8 Ом, можно использовать небольшой звукоизлучатель от китайских мягких игрушек, имеющий размеры 12x10 мм. Следует лишь добиться достаточно высокой громкости звука, иначе таймер можно не услышать на фоне работающей бытовой техники. Питание осуществляется от батареи 6 В. Изменение питающего напряжения в пределах4,5... 12 В почти не оказывает влияния на время выдержки таймера, при этом лишь уменьшается громкость звука.

Д.Ю. Кибардин, г. Хмельницкий РА2"2010


C этой схемой также часто просматривают:

Кухонный таймер - помощник на кухне, нужная вещь.

Упор этой статьи делался не на оригинальность и уникальность конструкции, так как схем кухонных таймеров всяких и разных полно на просторах интернета, мной преследовалась иная цель.

Поднимаем глаза в верхнюю часть страницы и читаем: «Сделай же хоть что-нибудь! »

При освоении микроконтроллеров важен первый самостоятельный шаг. Собрав самостоятельно первую свою конструкцию на микроконтроллере, человек начинает верить в свои силы, перестаёт бояться сложной и непонятной на первый взгляд, «железки».

{ads2}Когда устройство, собранное своими руками, работает, человек осознаёт, что он творец , а не только потребитель, и у него возникают подобные мысли: "Я собрал это устройство САМ, своими руками, и оно приносит мне пользу, плюс ко всему оно очень простое, что не отбивает желания сесть и спаять его в один из воскресных вечеров".

Полно разных схем для начинающих, но мало какая из простейших схем принесёт реальную пользу, чтобы человек был мотивирован её собрать своими руками, потратив на это своё драгоценное время. Например, очень часто можно встретить проекты типа просто мигающего светодиода. Да, возможно, это просто и даже интересно для начала, а дальше что? Помигал и всё? Куда это применить? На ёлку повесить в лучшем случае, разобрать в худшем. А вот кухонный таймер, да ещё оригинально оформленный, вполне сойдёт даже за подарок, второго, точно такого же, нет в магазине.

Для начала нужен подходящий корпус.


Моё внимание привлекла точилка для карандашей, напоминающая сердечко, из полупрозрачного красного пластика. Точилка эта разборная, внутри полая, где установлено лишь лезвие, которое я демонтировал, открутив винт. Это то что надо, подумалось мне.

Теперь осталось прикинуть - а влезут ли внутрь самые большие по габаритам компоненты схемы, необходимые мне для сборки: литиевая батарейка на 3 вольта типоразмера 2032 (буквы перед цифрами могут быть различными, в зависимости от производителя), буззер электродинамический и, наконец, сама плата с микроконтроллером и кнопкой? Попробовал втиснуть - вроде всё умещается, значит, останавливаемся на выборе этого корпуса.

Такую штучку можно даже носить на шнурке на шее, продев шнурок в колечко. И, чтобы уж совсем придать весёленький вид устройству, добавим светодиод красный, который будет вспыхивать внутри, чем-то напоминая, как сердечко бьётся (как романтично...).

Всё решено! Я уже хочу собрать эту штуку побыстрее! И подарить при случае друзьям или знакомым.

Схема, как видно из рисунка, очень проста. Есть на всё про всё одна-единственная кнопка S1 , которая одновременно и установка времени, и пуск таймера.

Нажимаем кнопку и, удерживая её в нажатом состоянии, отсчитываем задаваемые дискретные интервалы в по звуковым сигналам. Допустим, нам нужен интервал 15 минут. Минимальный дискретный интервал зависит от прошивки (в приаттаченном архиве их две версии), и допустим, он равен 5 минутам. Для задания 15 минутного интервала надо нажать кнопку и отсчитать три звуковых сигнала, после чего отпустить кнопку. Тут же устройство озвучит нам набранное количество дискретных интервалов, пиликнув зуммером (в данном примере три раза).

После этого начинается обратный отсчёт заданного времени, о чём визуально можно судить по вспышкам светодиода HL1 . Как только заданный интервал истечет, прозвучит двухтональный сигнал длительностью около 10 секунд, оповещающий об окончании цикла. После этого устройство переходит в исходное состояние ожидания, переходя в режим пониженного энергопотребления - «спящий режим». По этой причине ток, потребляемый устройством, мизерный, следовательно, никакого выключателя питания нам не требуется.

Для данной конструкции выбран,маленький по габаритам, микроконтроллер AVR ATtiny13 . Для тактирования задействован внутренний RC-генератор с частотой 4,8 мГц с делением на 8, что в итоге дает 0,6 мГц. Для выбора такого режима тактирования надо установить фьюзы так, как показано на рисунках.Вперёд

Умный индикатор

Будем делать свой индикатор, произвольной формы из smd светодиодов. Компактный - минимальный размер 20х20 мм при толщине всего 2 мм. Низкое энергопотребление - 1-10 мА в работе, 5мкА в спящем режиме. Независимое управление каждым светодиодом по одному проводу. Управление яркостью - более 100 градаций яркости. До 100 светодиодов в индикаторе, с произвольным расположением на плате. Возможные конструкции - две шкалы по 8 светодиодов и 4 служебных светодиода; индикация сторон света - 8 светодиодов по кругу и 4 служебных; часы - 12 светодиодов по кругу; матрица 8х8 светодиодов.


Контроллер разряда Li-ion аккумулятора

Данный мини прибор необходим для защиты li-ion аккумуляторов от глубокого разряда. Схема автоматически отключает аккумулятор при снижении напряжения на нем ниже 2.9В. Очень низкое потребление тока - всего 500 nA. Максимальный ток потребителя - 2А. Надёжно защит ваш аккумулятор от переразряда. Размер платы - всего 10х6 мм.


Измеритель УФ-индекса и температуры

Собрались на море? Возьмите с собой этот прибор. С его помощью вы никогда не обгорите и будете загорать правильно - точное измерение мгновенного и накопленного индекса ультра фиолетового излучения. Вы будете знать прогрелось ли море - точное измерение температуры воды, с помощью термопары К типа. Насколько жарко на улице - измерение температуры воздуха. Также он пригодится вам на даче - правильное приготовление шашлыка. Миниатюрный размер 35х45х18, встроенный аккумулятор, а также масса других полезных функций.


Обзор курса

Раз вы попали на эту страницу, то у вас еще не достаточно опыта, чтобы делать сложные приборы на микроконтроллерах. Мы предлагаем вам пройти курс молодого бойца и расширить горизонты вашего познания в микроэлектронике. Все что нужно от вас - сделать все предлагаемые здесь приборы и освоить всю связанную с ними теорию. По окончанию курса вы сможете проектировать самостоятельно приборы средней сложности, программировать различные микроконтроллеры, понимать из каких модулей состоят различные устройства, и что нужно чтобы разработать свой прибор.

В данной статье мы подробно рассмотрим все ключевые моменты курса, обоснуем порядок приборов, объясним зачем их делать именно так и почему их надо сделать все.

Д обро пожаловать в увлекательный мир микро электроники!

Первый выпуск журнала радио вышел в 1924 году. Уже тогда появился интерес к изготовлению радиоэлектронных устройств в домашних условиях. С помощью паяльника, проводов, позже на текстолите, можно было сделать полноценный сложный прибор. Это было очень сложно, только единицы понимали в этой области.

Сейчас практически каждый школьник может самостоятельно сделать в домашних условиях печатные платы отличного качества. Собрать на них современный прибор, по функциям не уступающий продающимся на рынке. Все это стало возможно благодаря появлению компьютеров и развитию интернет. Почти каждый прибор в наше время делается на . Они позволяют вдохнуть жизнь в устройство, решать с помощью программирования сложные задачи, получать и выводить различные данные.

Можно сделать на основе микроконтроллеров? Как сделать

Это мой третий проект на AVR: кухонный таймер. Аппаратная часть основана на микроконтроллере Atmel ATtiny2313 , питание от батареи 3.6V, для настройки используется вращающийся регулятор(энкодер) с кнопкой, три семисегментных светодиодных индикатора и пьезозуммер для сигнализации. Программное обеспечение использует некоторые более сложные функции контроллера AVR: прерывание таймера и глубокий режим пониженного энергопотребления. Корпус выполнен из дерева.

Схема очень проста. Светодиодные индикаторы в таймере имеют общий анод и с десятичной точкой расположенной слева. Сегменты подключаются через резисторы 200 Ом к выводам контроллера, а общие аноды через транзисторы. Значения резисторов R9-R11, возможно, потребуется корректировать для нормальной яркости дисплея, основанной на реально имеющихся образцах индикаторов и напряжения питания. Для точности отсчета времени в устройстве можно использовать внешний кварц на частоту 1МГц, который подключается к выводам XTAL1-2, но перед этим выставить соответствующую конфигурацию фьюз-битов.

ATtiny2313 припаян непосредственно на печатную плату поэтому я включил 6-контактный разъем для программирования. Зуммер я использовал "CPM 121", со встроенным генератором, который работает от 3-15V. Пъезоизлучатель потребляет примерно 3,5 мА,что лежит в пределах нагрузочной способности порта микроконтроллера.

Извлеките батарею перед подачей питания для программирование контроллера!

После включения питания начинается тест индикаторов и зуммера. Нажатие кнопки энкодера переводит прибор в спящий режим. При повторном нажатии кнопки таймер пробуждается и переходит в режим установки времени. Поворот налево увеличивает время, поворот направо уменьшает время. Максимальное время около 99 минут + 59 секунд. Минимальное время составляет 5 секунд. Установка времени меньше 0 секунд выключает таймер. Нажатие на кнопку запускает таймер. Первые и последние 5 секунд отсчета таймер мигая индикаторами показывает оставшееся время. По окончании отсчета включается зуммер определенное количество раз (чем больше установленное время, тем чаще) и засыпает. Нажатие кнопки во время работы таймера, показывает оставшееся время в течение 5 секунд.

Для сокращения размеров таймера я использовал одну литиевую батарею напряжением 3.6V размера АА. Корпус состоит из передней панели сделанной из 4 мм фанеры, стенки вырезаны из одной части деревянного бруска. Чтобы сделать точные вырезы для ручки энкодера, индикаторов и зуммера был сделан трафарет на бумаге.

Описание прошивок:

econom_timer_at tiny2313 - стандартная прошивка для трехразрядного индикатора с ОА и точками слева от цифр;

econom_timer_at tiny2313_FYT-3631BG-11 - для трехразрядного индикатора с ОА и точками справа от цифр;

economic_timer_ attiny2313_up10to1min - для трехразрядного индикатора с ОА и точками справа от цифр, при настройке времени свыше 10 минут, разрядность шага энкодера 1 минута;

econom_timer_attiny2313_E30561_OK+OUT - прошивка под индикатор E30561_OK, на выходе(PA0) на время отсчета лог. единица.

Обсуждение статьи на


Для тех, кого интересует само устройство, и его функционал, см. последний абзац, опустив подробности.

Всё началось с горелых кастрюлек, почерневшей яичниц выкипевшего супа: этот список мог бы продолжаться долго, если бы однажды взрыв банки со сгущёнкой не прервал мой сладкий сон… спросонья подумалось, «нужно Что-то делать!». Это «Чтота» тут же было решено делать максимально юзабельным, т.к. истории известна масса примеров, когда устройство получались настолько совершенным, что его применение по назначению уже не представляется целесообразным. Конечно же меня тревожило, не покажется ли идея «запомнить что через 3 минуты нужно выключить пельмени» более рациональной, чем тискать хитрые комбинациях множества кнопок, а затем в ожидании готовности, дергаться в сомнениях, «а нажата ли кнопка старт??». Вывод стал очевиден, в устройстве должна быть кнопка, колёсико, индикатор, и НИЧЕГО лишнего!

Алгоритм работы, «нажать кнопку, крутнуть колесиком сколько нужно, как запищит, прибежать и выключить газ. В общем, концепт «юзабилити» показался таким соблазнительным, что отразился и на конструкции. Подумалось, зачем всё это, какие-то стабилитроны, подтяжки и конденсаторы на ресетах, ведь и так всё будет работать! Народная мудрость даже есть (чем проще, тем надёжней). Если кто-то с бОльшим уважением относится к правилам построения надёжной схемотехники, буду рад прикрепить сюда вариант вашей доработки платы. У меня же всё предельно просто, резисторы на индикатор подбирал амперметром, при 150 Омах течёт порядка 7 мА. ИК-светик подогнал на 3 мА, резистором 430Ом, фотоприёмник сдвоеный, сковырнутый из неживой мышки, подтянул на минус резисторами по 20 кОм (надёжно начинал срабатывать с 6-ти кОм, а на 100кОм я упёрся в предел своего магазина сопротивлений, т.е. по крайней мере в моём случае он свободно может быть +/-10кОм)). Динамик повесил через первый попавшийся транзистор, тут уже как-то за ногу побоялся, да и какая c ее громкость?! Вот и все радиодетали, разве что кварц 4MHz с конденсаторами по 15-20 пик забыл, микруха Attini2313 и два солевых мизинчика.
Сперва я думал сделать неудобный тумблер «вкл/выкл», чтобы обвязка (из которой только фотопара) не ела батарейки когда устройство выключено, но посчитав ноги, решил, что одну можно отжалеть на эти нужды — ток там мизерный, поэтому включил ее как питание, напрямую. Уходя в сон тинька выключает ВСЁ, через что он может убегать оставляя только подтяжку кнопки. Замерял тестером, при работе (без пищалки), устройство ест 7 -9 мА во сне, как и обещано даташитом (около 0.1мкА). Т.е. тестер даже не смог унюхать этого на нижнем пределе, это радует, батарейки скиснут раньше от саморазряда. Далее по списку, в алгоритме работы применил такую хитрость — поскольку время приготовления еды не нуждается в чётком старте, решил, что моментом начала отсчёта будет установка цифры колесом. Т.е. секунды обнуляется каждый раз, как потрогают колесико. Отсюда удобство пользования, например если проверив готовность пельменей вы решите что через 3 минуты они сварятся, а на таймере 5, то всего-то нужно прокрутить минус две цифры, и спокойно возвращаться к своим делам. Ног у тиньки было впритык, от лампочек — «индикация текущих режимов» пришлось отказаться, но сделал «тик-так»-звук на динамик (неожиданно получился очень правдоподобный звук маятника!). Когда писал программу, уже предполагал, что по завершению, выложу ее с исходником здесь, поэтому комментариев у меня там более чем достаточно для того, чтобы при желании разобраться (почти всё подписал!). В общем звуки, продолжительность которых существенна, вынесены в основной цикл (чтобы не мешать программам работающим по прерываниям, в частности динамической индикации и отсчёту времени). Целый регистр я отвёл под ноль, чтоб не писать лишнюю команду и под «флаги», и (у меня это уже вошло в привычку) в разных участках подпрограммы устанавливают или снимают битики в регистре «flajki», так другие подпрограммы узнают, как действовать, в соответствии с текущим состоянием программы. Например, в теле прерывания «TIM1_COMPA» я делаю «sbr flajki,0b00100000», а зацикленное тело программы содержит событие соответствующие этому флажку «sbrc flajki,5 rcall s4el4ek». Споткнувшись о ее, программа узнает что нужно щёлкнуть динамиком. Отсчёт времени организован «четвертьсекундами». В минуте их 240. Они там считаются, и обеспечивают этот красивый звук, «тик-так». Хитрый алгоритм, по которому работает колёсико фотопары оказался до смешного простым (до этого с ними я дела не имел). Один из выходов сдвоенного фотодиода вешается на прерывание «intt_1», и как только оно вызывается(появлением минуса на ноге), проверяется состояние второго выхода. Если там ноль, значит «тень» пришла с одной стороны, если один, значит с другой. Инкриминировать или декриминировать счётчик решается на основании этого. Потом в теле функции прерывания обнуляется «четвертьсекундовый» отсчёт, и вызывается подпрограмка которая разрешает прерывание «TIM1_COMPA(четвертьсекундовый отсчёт)». Процессорного времени в избытке, поэтому всё это проделывается каждый раз при провороте колеса, не задумываясь о том, включено ли уже это прерывание. Кнопка вкл/выкл немножко капризничала, поэтому пришлось со всех сторон обвешать её паузами от дребезга, и контролем отпускания, в результате получилась красивая фишечка (надпись «OF» , высвечивающаяся при выключении). Уходя в сон, как выяснилось, необходимо выполнить команду «sei», разрешив прерывания (в принципе это и логично). Ещё я там намудрил, заставив, выходя из сна перенаправлять программу на «Reset» (это был так сказать «выбор пути наименьшего сопротивления». Меня стали терзать сомнения, что же окажется в буфере обмена, когда из тела функции программу бросает в ее же саму, что окажется в буфере и как действовать когда выкручусь. В общем, мысль просто перезапустить программу на фоне этих хитросплетений показалась просто идеальной и не сколечко не повредила функционалу, даже память «RE» не сбрасывается!
Ну вот, вроде идея «сделать идеально простой кухонный таймер» воплощена, как это обычно и бывает, «когда задача показалась слишком простой, хочется ее усложнить». Первым же делом захотелось пристроить лишнюю ногу (PB7). Подумалось, что если сделать из нее простой выход 1/0, и через разъёмчик пустить сигнал на нехитрое внешнее устройство «размыкатель цепи», то получится ВДВОЙНЕ полезная вещь! Скажем, поставить аккумы на зарядку (а то я как раз накануне слегка поджарил комплект, забыв своевременно снять с зарядки). Индикатор у меня 7-ми сегментный, а ног в порту B — 8. С тем, в каких участках программы расставить sbi-cbi вопросов не возникло, но динамическая индикация выводит сразу байт в (portB). Тут вспомнилась замечательная пара команд, «bst и bld» Получилось очень красиво.
Затем, из-за того, что процедура кнопки оказалась такой удобной (помните, при нажатии ее на экране горит надпись «OF», буквально парой новых строк, и дублированием кусочка кода (с косметическими правками), был приделан наворот — если ее прижать и держать, то с промежутком в секунду на экране высвечиваются надписи «OF», и «RE». Если отпустить, когда там будет «RE», то загрузится последнее накрученное колесиком значение и включится обратный отсчёт (скажем, варится у вас горох, вы не знаете когда он приготовится и решили посматривать — как он там, через каждые 5 минут. Нужно просто придавить кнопку и ждать пока не высветится надпись «RE», после чего отпустить кнопку.
«Аппетит приходит во время еды». Следующим наворотом стал «СE»-кундомер. Ну, в самом деле, все функции готовы, что там делов, настроить ещё один дубликат, чтобы счёт шел в обратном направлении. Подумано — приделано. Сделал это аккуратненько, в «память последнего значения для «RE»-старта записывается КАЖДАЯ четвертьсекунда. Скажем, проявляете вы фотографии, запустили-выключили секундомер как положено, убедились что время подобрано хорошо (например 27 секунд (секунды он не покажет, только минуты, но то что это именно такой промежуток времени, будет помнить чётко, с точностью до четвертьсекунды)). Как и в классическом секундомере, кнопка в этом режиме действует, как старт-стоп попеременно не обнуляя значения. Чтобы обнулить секундомер, придётся или снова выбрать его через меню » *OF* *RE* *SE*», или выключить-включить «Чтота». Так же была приделана блокировка колесика по переходу в режим «RE» из «SE»-кундомера, а то случайно задев его потеряются выставленные секунды. Чтоб колёсико снова заработало, нужно сделать «выкл-вкл».
Приделывая и тестируя режим секундомера, наткнулся на один косяк — отсчёт до нуля выставленного колесом значения подразумевает, что как только на экране появляется 0, сработает сигнал, а если на секундомере прошло всего несколько секунд, и на экране всё так же горит 0 минут, то обратный отсчёт УЖЕ будет нулевым, и следовательно состояние, при котором должен сработать сигнал, так и не наступит. Счётчик провалится на 99 минут, а если натикало минута + несколько сек, то посчитав секунды, наступит состояние «0», и целая минута как бы пропадёт в никуда (сперва долго тупил над этой логической загадкой, потом понял, объяснения этому нет, остаётся править руками) Как выкручивался из этой ситуёвины, описал в коментах.
Когда всё было закончено, захотелось встроить в «Чтота» изюминку. Что как не мелодия способно преобразить микрушку? Для этого я обратился за помощью к форумчанам. Огромное спасибо откликнувшимся. Мой выбор пал на гимн СССР, сделанный на ШИМ-е из статьи этого же сайта. Пошаманив немного, не с первой и не третьей попытки код удалось адаптировать под своё устройство (в который раз вспомнилась народная мудрость, «проще сделать самому, чем исправить под себя чужое», но, в конце концов я это сделал).
Подготовил этот релиз с мыслью, что устройство уже и так гораздо более функционально, чем задумывалось, а мне снова хочется приделать навороты. Делать, конечно, хорошо, но когда-то нужно и начинать пользоваться! Если кто решит сделать себе «Чтота», не поленитесь припаять микруху на колодке. Сейчас, наверное, я займусь созданием прошивки «Чтота v. 1.1»
Ожидается пополнение функционала режимом «ЧС»-[Часы].[десятки минут] — (в старшем разряде часы выставляются, а в младшем десятки минут) для случаев, когда требуется поставить таймер на длительное время (например зарядка аккумуляторов на несколько часов), и маленькая фишечка *НC*-(Нет Сирены). Чтобы устройство по завершению тайминга самостоятельно выключалось (когда нет возможности проконтролировать завершение работы таймера).

Последний абзац.
Таймер имеет экран, кнопку и колёсико. После включения кнопкой, на экране высвечивается *0*. Колёсиком выставляется время тайминга (прокрутка зациклена и можно выставлять от нуля в минус, 0 — 99 — 98 — 97—). Отсчёт начинается автоматически при выставлении каждого нового значения, и всегда стартует с 59 секунд. Во время отсчёта, звучит «тик-так-тик-так» похожий на звук маятника По завершению отсчёта звучит гимн СССР, после чего,: пи:пи:пи:(до тех пор, пока его не выключат). Однократное простое нажатие на кнопку выключает устройство. Если прижать и удерживать, то на экране попеременно с промежутком в секунду загораются надписи — «OF» «RE*» «CE». Это названия режимов. Чтобы выбрать один из них, нужно отпустить кнопку, пака надпись на экране.
«OF» — Выключить.
«RE» — Повторный запуск отсчёта. Из памяти загружается последнее выставленное колёсиком/секундомером значение (в процессе отсчёта колёсико по-прежнему активно, и позволяет вносить изменения!). Память для повтора не сбрасывается после выкл-вкл.
«CE» — Секундомер. В этом режиме простое нажатие кнопки запускает — останавливает секундомер, колесико заблокировано, переход в любой другой режим (а так же выключение) осуществляется так же длительным нажатием клавиши — «OF» «RE» «CE». Выбор «OF» выключит. Выбор «RE» запустит повторный отсчёт суммарного времени, которое насчитал секундомер (колесико будет заблокировано!). Выбор «CE» обнулит значение секундомера.
Я использовал поверхностный монтаж (я предпочитаю подогнуть ножки у микрухи, и поставить на контакты, даже если она DIP), оптопара вынесена (на платке контакты для припаивания проводов), резисторы сделал для каждого сегмента (на схеме изображено иначе, там для каждого символа один общий резистор).
Включенные фьюзы: CKSEL0, CKSEL1, SUT1, CKDIV8. ШИТЬ КОНТРОЛЛЕР ОТДЕЛЬНО, платка рассчитана на 3 вольта!