Программируемый таймер на PIC16F628A

Цифровой программируемый таймер – это устройство для управления включением/выключением внешних устройств по заданной программе.
Устройство собрано на 8-разрядном микроконтроллере Microchip PIC16F628A. Пользователь программирует устройство на включение и выключение нагрузки в определенное время. Другими словами, пользователь может указать время включения устройства и продолжительность его работы. Максимальный временной интервал для каждой операции (включение/выключение) составляет 99 часов 59 минут.

В устройстве для управления используется 4-х кнопочная клавиатура, дляотображения текущих настроек и параметров установлен 2-строчный ЖКдисплей на базе контроллера HD44780.

Принципиальная схема устройства

Для управления нагрузкой в устройстве используется 5 В реле, управляемое транзистором PN2222.В свою очередь, транзистором управляет микроконтроллер по линииввода/вывода RB3. Клавиатура подключена к выводам порта RA2, RA3, RA4 иRB0. Назначение кнопок мы рассмотрим ниже.

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

Установлен интегральный регулятор напряжения LM7805, для питания таймера используется внешний 9 В блок питания.

На схеме видно, что выводы 15 и 16 ЖК индикатора не подключены. Онииспользуются в индикаторах с фоновой подсветкой. Если вы будетеиспользовать индикатор с подсветкой, то вы можете подключить ее кисточнику питания через гасящий резистор номиналом 39 Ом.

Настройка и работа с устройством

Как уже было отмечено выше, все настойки таймера выполняются с клавиатуры.

Функции кнопок:

    * кнопка «ON/OFF Time»
      Таймер позволяет устанавливать время включения и время выключения. При включении таймера проходит инициализация, и оба временных параметра (время включения и время выключения) имеют значение 0. Нажимая на данную кнопку, можно переключаться между этими параметрами;
      
    * кнопка «Select»
      С помощью данной кнопки пользователь может переключаться между значениями выбранного параметра (часы, минуты времени включения и выключения). Инкрементирование значения происходит по нажатию кнопки «ON/OFF Time»;
      
    * кнопка «Enter»
      Когда нужные значения параметров установлены, данной кнопкой пользователь подтверждает их сохранение;
      
    * кнопка «Start/Stop»
    * Кнопка предназначена для запуска/остановки таймера. Если таймер включен, то нажатием этой кнопки его можно остановить в любой момент времени.

По нажатию копки «Start/Stop» таймер начинает отсчет временивыключенного состояния. По окончании этого интервала срабатывает реле иначинается отсчет времени включенного состояния.

Программное обеспечение для микроконтроллера разработано с применением компилятора MicroC Pro для PIC микроконтроллеров.

Исходный код и прошивка

1 ответ