Частотометр на PIC16F73 и семисегментных индикаторахПредлагаемый частотомер собран на микроконтроллере и семисегментных светодиодных индикаторах с общим катодом. Его разрешающая способность составляет 0,1 Гц, что может быть полезным при проведении точных измерений.

Основные технические характеристики

Диапазон измеряемых частот, МГц ................0.1 Гц...40
Время измерения частоты, с . .1 или 10
Чувствительность, В.............0,1
Напряжение питания, В   .......4,5. .5
Потребляемый ток, мА:
в режиме ожидания..........10
максимальный   ...........35

Схема частотомера показана на рис. 1 На входе устройства установлен компаратор DA1, который включен по типовой схеме с инвертирущим входом. Порог срабатывания компаратора можно изменять подборкой резистора R4 — чем больше его сопротивление, тем выше порог. Работа компаратора управляется сигналом на входе LATCH (вывод 5) DA1 который поступает с линии порта RA3 (вывод 5 DD1), и разрешена при низком логическом уровне на этом входе.

Частотометр на PIC16F73 и семисегментных индикаторах

Рисунок 1

Порт В микроконтроллера DD1 задействован для подачи напряжения на элементы а—h индикаторов HG1. HG2, а порт С — для подключения катодов этих индикаторов к общему проводу. Резистор R7 является "подтягивающим" для линии порта RAO, a R6 уменьшает влияние на компаратор DA1 импульсов, поступающих на вход предделителя в режиме досчета. Резисторы R8—R15 токоограничивающие от их сопротивлений зависит яркость свечения индикаторов HG1, HG2.

Входной сигнал преобразуется компаратором DA1 в прямоугольные импульсы с уровнями ТТЛ, которые поступают на вход микроконтроллера для их дальнейшего счета Восьмиразрядные регистры предделителя, таймера TMR0 и двух счетчиков прерывания по переполнению TMR0 подсчитывают эти импульсы. Измерительный интервал задает таймер TMR1.

Информация в регистрах таймера TMR0 и счетчиков доступна для чтения, а вот содержимое высокочастотного (до 90 МГц) регистра предделителя недоступно. Поэтому для извлечения информации, хранящейся в нем, применен ставший уже классическим способ досчета импульсов до переполнения предделителя. После остановки счета значение TMR0 сохраняется в цифровом компараторе. Число поданных на вход предделителя импульсов подсчитывается, и после каждого импульса сравниваются текущее и сохраненное значения TMR0. При изменении текущего значения TMR0 подача импульсов на предделитель прекращается. Накопленное в младшем регистре число, преобразованное в дополнительный код, и будет тем числом, которое было в предделителе. Двоичный код на выходах четырех восьмиразрядных регистров преобразуется в двоично-десятичный, а затем в код для управления семиэлементными индикаторами.

После подачи питающего напряжения осуществляется инициализация регистров микроконтроллера. Частота переключения разрядов при динамической индикации должна быть такой, чтобы не было видно мерцания индикатора. Как известно, эта частота должна быть не ниже 25 Гц. Выбранная длительность индикации одного разряда на восьмиразрядном индикаторе составляет 3 мс, поэтому частота переключения F= 1/Т= 1/(0,003-8) = 41,7 Гц, где F — частота обновления индикатора; Т — период. При такой частоте мерцание индикатора не заметно.

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

В программе использованы два прерывания: одно — по результату сравнения значений шестнадцатеразрядных регистров специального события (CCPR1H и CCPR1L) и регистров таймера TMR1 (TMR1H и TMR1L). другое — по переполнению таймера TMR0. Регистры ССР1 и TMR1 используются для формирования временного интервала измерения частоты. Делитель на 10 для получения временного интервала 1 с и еще один делитель на 10 для получения интервала 10 с реализованы на отдельных регистрах, которые заполняются при прерывании

После сохранения значений контекстных регистров проверяются флаги прерывания. Если прерывание произошло по переполнению таймера TMR0. то инкрементируется счетчик и программа выходит из прерывания. При прерывании по результату сравнения модуля ССР1 заполняется регистр делителя на 10 и проверяется флаг времени измерения. Если установлено время измерения 10 с заполняется регистр делителя на 10. После окончания времени измерения выполняются досчет и определение содержимого предделителя. Полученные данные перекодируются в девять разрядов двоично-десятичного кода. Для экономии энергии батарей портативного прибора все незначащие нули гасятся. При выполнении операций во время прерываний работа таймеров TMR0 и TMR1 не останавливается, поэтому цикл измерения повторяется непрерывно

В устройстве применены резисторы С2-23, Р1-4, оксидный конденсатор — импортный, остальные керамические — К10-17. Компаратор AD8611 можно заменить на компаратор AD8561, кварцевый резонатор ZQ1 — HC-49U Кнопки SB1 и SB2 с самовозвратом — ПКн159. выключатель питания — кнопочный с возвратом в исходное положение повторным нажатием. Кнопка и выключатель должны иметь удлиненные (10 мм) толкатели

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

Налаживание сводится к установке частоты кварцевого генератора. Для этого на вход частотомера подают сигнал с известной частотой и подборкой конденсаторов С6 или установкой последовательно с резонатором конденсатора емкостью 10... 100 пф (на плате для него предусмотрено место, в которое предварительно монтируют проволочную перемычку) устанавливают это значение частоты на индикаторе Для облегчения процедуры можно установить подстроечные конденсаторы, например КТ4-25. Следует отметить, что для обеспечения точности измерения частоты в доли герц следует применить эти конденсаторы, а также кварцевый резонатор с повышенной термостабильностью.

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


Архив для статьи "Частотометр на PIC16F73 и семисегментных индикаторах"
Описание: Исходный код программы(Ассемблер), файл прошивки микроконтроллера, макеты печатных плат под индикаторы MAN3604A
Размер файла: 13.74 KB Количество загрузок: 4 769 Скачать