понедельник, 15 апреля 2013 г.

Avr: Счетчик импульсов на Atmega16 и семисегментном индикаторе на восемь разрядов


Задача єтого счетчика считать количество импульсов за 60 секунд по фронту импульса и выдавать полученное значение на восьми разрядный семисегментный индикатор, максимально возможное значение будет 99999999. Максимальная частота которую сможет обработать счетчик Atmega16 будет равна частоте тактирования контроллера деленная на 2.5. Фьюзы микроконтроллера выставлены на источник тактирования от внутреннего генератора 8МГц.
Вот сама схема сего чуда ж) :




   Плату я не стал вытравливать, собрал все на монтажной плате, в корпус пока не помещал.


Код пытался комментировать, в принципе там все просто. Хочется отдельно сказать об отключении JTAG, если вам не хватает ножек, это делается выставлением бита JTD в MCUCSR регистре в начале программы, причем это надо сделать 2-3 раза подряд, я это делаю следующим образом:
Вот сам код счетчика:

3 комментария:

Анонимный комментирует...

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

Анонимный комментирует...

хорошо, что счетчик производит подсчет импульсов за 60 секунд, то что надо!!!!

Unknown комментирует...

а файл прошивки почему не приложен?