Выбрано постоянное подключение питания к микроконтроллеру, кнопка подключается ко входу микроконтроллера и принажатии “пробуждает” его из спящего состояния. Это гарантирует надежную предачу ИК-последовательности даже если кнопка была нажата очень быстро.
Энергопотребление в режиме “Standby” очень мало, сравнимо с саморазрядом литиевой батарейки и действительно не влияет на время жизни батарейки. В качестве опорной частоты выбран внутренний генератор ATtiny13V, он довольно точен. Для получения большей точности его можно откалибровать. Смотрите уточнения в файле “main.c”. В качестве корпуса используется дозатор сахара:
Программа довольно прямолинейна: при включении устройство инициализируется и ожидает пока кнопку не отпустят. Для сохранения энергии устройство находится в спящем режиме,подтягивающий резистор отключен. Подтягивающий резистор разрешон при проверке входа, что происходит каждые 32мС. Watchdog-таймер используется для принудительного сброса и перезапуска всего цикла программы. Вместо транзистора BC547 можно использовать его аналог КТ315 или КТ3102.
Источник: http://www.xs4all.nl/