Печать

Четыре таймера на PIC16F73

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

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

В этой статье описан способ реализации таймеров десятичного счета на примере таймеров с отсчетом времени до 99,99; 999,9 и 9 999 секунд и 99,99 минут. Таймеры поддерживают прямой и обратный счет, силовой выход, сигнализацию окончания счета с помощью зуммера и останов в любой момент времени. Таймеры построены на микроконтроллере PIC16F73, а индикация реализована на семисегментных светодиодных индикаторах с общим катодом. Применение таймеров может быть самое разнообразное: от регламентаторов времени до секундомеров. Принципиальная схема таймера показана на рис.1.

Четыре таймера на PIC16F73

Рисунок 1

Семисегментные индикаторы — любые с общим катодом, однако в случае применения отечественных индикаторов необходимо заменить стабилизатор напряжения более мощным, например, типа КР142ЕН5А. Излучатель BF1 — со встроенным внутренним генератором. Диоды VD1, VD2 устанавливают при использовании резервного питания, что может потребоваться при отсчете больших промежутков времени. При установке резервного питания необходимо помнить, что устройство потребляет ток не более 40 мА. Отключение индикации на время пропадания напряжения не предусмотрено, однако может быть реализовано на свободных выводах порта С. При использовании таймера в качестве секундомера устройство можно запитать только от элементов питания или аккумулятора, установив при этом индикаторы с меньшим потребляемым током (например, типа АЛС314А).

Резисторы R1 и R5 - R12 подбирают по яркости свечения светодиода HL1 и индикатора HG1. Симистор VS1 устанавливают на радиатор, площадь которого зависит от мощности нагрузки.

Работа с таймером

После включения таймера на 9 999 с и 99,99 с в третьем разряде высветится запятая, и включится зуммер. Для таймера на 999,9 с запятая отобразится во втором разряде.

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

При нажатии кнопки "Разряд", когда запятая находится в четвертом разряде, запятая выйдет за пределы индикатора. Если в это время нажать кнопку "Пуск", то таймер включится, работая на вычитание (отсчет оставшегося времени). При нажатии кнопки "Пуск" в любое другое время таймер включится на увеличение (отсчет прошедшего времени).

Если, во время работы таймера нажать кнопку "Установка", то направление счета изменится на противоположное.

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

Остановить таймер можно в любой момент времени, если нажать кнопку "Стоп". После останова таймера запятая переместится в первый разряд. Еще одно нажатие кнопки "Пуск" включит таймер с предыдущей установкой и в последнем режиме счета, т.е. на вычитание или на увеличение.

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

При работе в секундном режиме (9 999 с) на уменьшение таймер выключится при переходе через ноль, т.е. будет отработано время на одну секунду больше установленного. У других таймеров визуально это менее выражено.

Автор: Н. Заец

Файлы:
Исходные коды и прошивки микроконтроллера
Дата 26.03.2012 Размер файла 22.12 KB Закачек 1284

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