Цель этого проекта заключается в построении простого таймера обратного отсчета с временным интервалом от 0 до 9999 секунд снабженного цифровым индикатором и звуковым сигналом.
Время устанавливается с помощью двух тактильных кнопок. Обратный отсчет секунд отображается на 4-значном семисегментом светодиодном дисплее. Основа схемы таймера микроконтроллер PIC12F683, осуществляющий контроль всех операций ввода, вывода и синхронизации с микросхемой MAX7219, которая является драйвером семисегментного светодиодного модуля. Окончание времени отсчета обозначается звуковым сигналом зуммера.
Описание работы микроконтроллерного таймера обратного отсчета
Две тактильные кнопки (INC и TSET) используются для установки времени и запуска таймера. Эти кнопки соединены параллельно и сигнал с их общего вывода поступает на АЦП вывод AN3 (GP4) микроконтроллера PIC12F683. На схеме можно видеть, как эти две тактильные кнопки создают в момент нажатия разное напряжение на входе микроконтроллера по причине подключенных к ним резисторов.
При нажатии кнопки INC, входное напряжение на выводе AN3 будет равно нулю, а при нажатии TSET на входе AN3 канала АЦП будет около 2,5 В (два резистора по 4,7K создают делитель напряжения). В случае если не нажата ни одна из этих двух кнопок, то на входе АЦП напряжение будет около 5 вольт. Таким образом, на основании значения 10-битного счетчика АЦП, можно обнаружить и определить нажатие любой из двух кнопок. Звуковой сигнал для зуммера генерируется на выводе GP2 PIC12F683.
Таймер работает следующим образом. Когда питание подается в первый раз, дисплей проходит инициализацию, и вы увидите на всех индикаторах 0. Выбор необходимого времени выполняется путем установки значений в каждый из 4 индикаторов. Вы можете сделать это путем кратковременного нажатия TSET. При первом нажатии активной становится первая позиция (правая цифра), которая по умолчанию установлена в ноль. Все остальные цифры в данный момент не будут отображаться. Используя кнопку INC можно установить любое значение от 0 до 9. С каждым нажатием INC цифра увеличивается на 1 до 9 и далее по кругу.
После установки первой цифры, нажав TSET, переходим ко второй и так далее. Когда все 4 цифры установлены, вы можете включить таймер, нажав и удерживая кнопку TSET в течение 2 секунд. Таймер активируется, издав короткий звуковой сигнал, и вы можете увидеть, оставшиеся секунды на дисплее. Когда время истечет, дисплей промигает пять раз и из зуммера раздастся звуковой сигнал.
Обратите внимание, что, когда таймер запущен, он не будет реагировать на нажатие кнопок INC и TSET. Если вы хотите, очистить или перезапустить таймер, до того как истечет установленное время, вы должны нажать на кнопку Reset.
Скачать прошивку (38,4 KiB, скачано: 553)
www.embedded-lab.com