В интернете уже есть множество проектов частотомера, счетчика на микроконтроллере. Представляем очередной проект самодельного частотомера на микроконтроллере Atmega8 с символьным LCD дисплеем 16x2. Принцип действия основан на подсчете количества импульсов поступающих на вход микроконтроллера за 1 секунду. А количество импульсов за секунду это и есть частота в Гц. Вывод измеренного значения частоты осуществляется на дисплей.
Некое подобие частотомера уже обсуждалось в статье частотомер на микронтроллере.
Программа частотомера
#define F_CPU 1000000 #include "lcd.h" #define SMP 1 int main(void) { unsigned int i; stdout=&lcd_str; initLCD(); _delay_ms(50); while(1) { TCNT1 =0; _delay_ms(1000/SMP); i=TCNT1; LCDcmd(0x01); printf("Freq:%uHz",i*SMP); _delay_ms(500); } return 0; }
Для работы с lcd дисплейм вам также понадобится библиотека lcd.h. О том как подключить символьный lcd дисплей к avr было сказано ранее.