Измерване на честотата на сигнала с AVR микроконтролери
Има много схемни решения и методи за измерване на честотата на сигнала, включително тези, използващи микроконтролери. В тази статия ще анализираме пример за най-простия честотен брояч, изграден върху контролераAtmega8. Веригата на честотомера е показана на фигура 1. За да се осигури добра точност на измерване, микроконтролерът се тактова от осцилатор с външен кварц с честота 8MHz. Измерените показания се показват наLCD 1602 с контролерHD44780. VD1 ценерови диод ограничава амплитудата на входния сигнал, R2 е резистор за ограничаване на тока.

Снимка 1.
За измерване на честотата на сигнала е необходимо да се преброи броят на импулсите, влизащи на входа на микроконтролера за единица време. За да направим това, ние използваме два вида прекъсвания в нашата програма: прекъсване при препълване на таймера T0 и външно прекъсване при промяна на сигнала на входаINT0. Броят на сигналите, пристигащи на входа, ще бъде преброен за време от 1 секунда. 8-битовият таймер T0 ще работи на 1MHz, за това ние включваме предразпределителя с 8. Обработчикът на прекъсването при препълване на таймера се извиква 4000 пъти в секунда, докато променливатаcounter увеличава стойността си с единица. Веднага щом тази променлива стане равна на 4000, т.е. Ще мине 1 секунда, дисплеят ще покаже информация за променливатаedgecounter, след което и двете променливи ще бъдат нулирани. Всичко това вече се случва в основния цикъл. Променливатаedgecounter увеличава стойността си с единица всеки път, когато възникне промяна на фронта на сигнала на входаINT0, т.е. Пристига 1 импулс.