Схема отличается простотой и надежностью. Частотомер позволяет измерять частоты до нескольких мегагерц. Программа для микроконтроллера написана на BascomAVR. Отображение частоты на дисплее 16*2.
Счет импульсов происходит путем подсчитывания импульсов по нарастающему фронту на ноге 9 (PD.5/T1 и вход таймера Timer1). Для защиты входа от перенапряжения включены два диода 1N4148 и резистор на 10кОм. Отображение происходит на любой дисплей 16*2 , но обязательно с контроллером HD44780 или аналогичным KS066.
В микроконтроллер необходимо прошить fuse bits для работы с внешним кварцевым резонатором. Как записать fuse bits можно посмотреть здесь www.engbedded.com/cgi-bin/fc.cgi
Программа написана на бэйсике в среде BascomAVR. Демо версия имеет ограничение по размеру кода в 4 Кб, чего вполне достаточно. Скачать BascomAVR с официального сайта разработчика www.mcselec.com . В программе используются два таймера: таймер0 для отсчета фиксированных интервалов времени, в нашем случае 1 секунда( можно поэкспериментировать с этим значением), а таймер1 считает пришедшие импульсы за это время. Стоит отметить, что счет импульсов будет вестись только в том случае, если уровень сигнала на ноге 9 будет соответствовать уровню лог. "1" (порядка 3-5 вольт). Таймер0 работает на частоте тактирования микроконтроллера т.е 8МГц, делитель тактовой частоты не включён. Для захвата большей частоты необходимо поставить кварц на большую частоту и внести небольшие изменения в прошивку.
Частотомер можно собрать на макетной плате. Перспективы на модернизацию прошивки: добавить распознавание диапазонов частоты и отображение в виде Гц, КГц, МГц.
Скачать исходник и прошивку |