Печать

Таймер для кухни на PIC16F84

Опубликовано . Опубликовано в Устройства на PIC

Рейтинг:   / 7
ПлохоОтлично 

Простота управления, цифровая индикация, возможность быстрой установки нового значения выдержки делают этот таймер удобным для применения в качестве кухонного. Продолжительность выдержки может быть любой в пределах 1...85 мин. Схема таймера показана на рисунке. После включения питания и инициализации регистров микроконтроллера программа конфигурирует вывод RA2 как выходной и устанавливает на нем высокий логический уровень. После первоначальной зарядки конденсаторов С2 и СЗ программа переходит в фазу установки продолжительности выдержки. Циклически выполняется подпрограмма "OneShot", а также проверяется состояние кнопки SB1. Светодиод HL1 погашен.

Таймер для кухни - схема

Полученное в результате работы подпрограммы число в зависимости от положения движка переменного резистора R1 может находиться в пределах 1 ..254. Программа преобразует его в продолжительность выдержки в минутах, причем каждым трем последовательным значениям этого числа соответствуют одинаковые выдержки. Таким образом, максимальная выдержка — 255/3 = 85 мин. Установленное значение программа выводит на двухразрядный цифровой индикатор HG1, HG2.

Обнаружив нажатие на кнопку SB1, программа переходит в фазу отсчета выдержки, сигнализируя об этом включением светодиода HL1. Фактически идет подсчет прерываний от таймера TMR0. Так как он настроен (вместе с предварительным делителем) на коэффициент пересчета 4000, а период повторения счетных импульсов при частоте кварцевого генератора 4 МГц равен 1 мкс, прерывания происходят каждые 4 мс. Как только их число достигнет 15000 (зто значит, что прошло 0,004x15000 = 60 с), программа уменьшает выведенное на индикатор значение на единицу и начинает подсчет прерываний заново. Когда заданное число минут пройдет, с выхода RA4 микроконтроллера через усилитель на транзисторе VT1 на динамическую головку ВА1 поступит прерывистый сигнал частотой 1000 Гц. Через 6 с сигнал прекратится и программа таймера вернется в фазу установки выдержки.

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

Налаживание таймера сводится к подборке конденсатора СЗ. Его емкость должна быть такой, чтобы при максимальном сопротивлении переменного резистора R1 на индикатор было выведено число 85. Подбирая резистор R16, устанавливают необходимую громкость звукового сигнала.

Питать таймер можно от любого источника постоянного напряжения 3...5 В, желательно стабилизированного. Потребляемый ток не превышает 100 мА. Переменный резистор должен быть с линейной характеристикой регулирования. Светодиодные индикаторы АЛС324Б можно заменить другими с общим анодом, а микроконтроллер PIC16F84A — более ранней моделью PIC16F84.


Автор: Муравьев А.

Файлы:
Дата 24.02.2010 Размер файла 38.33 KB Закачек 1262

Комментарии  

-1 #1 Виталий 26.06.2012 18:29
Уважаемый Автор! Можно ли сделать так чтобы вместо резистора установки времени поставить пару кнопок "Больше"-"Меньш е"? и установленное значение выдержки сохранялось при выключении питания?
Сообщить модератору
-1 #2 Виталий 02.07.2012 09:44
Биты конфигурации контроллера опишите, пожалуйста PWRTE WDTE FOSC1 FOSC0
Сообщить модератору
-1 #3 AntonChip 03.07.2012 06:20
Цитирую Виталий:
Можно ли сделать так чтобы вместо резистора установки времени поставить пару кнопок
Зачем переделывать? Если таких таймеров с кнопками в сети куча, а это так сказать дизайнерский вариант
Сообщить модератору
0 #4 Polf 31.10.2014 13:09
Я эту конструкцию повторил. В схеме есть ошибка: резистор R15 надо подключить между базой и эмиттером VT1.
Сообщить модератору

Рекомендуем посмотреть