A very simple easy to make Frequency counter project. This project is powered with small AT89C2051 microcontroller with LCD. Block Diagram of circuit is shown below. It can support a wide range of frequency input starting from 1Hz to ~16.5Mhz, rest depends on pin characteristics.

Theory of Operation
As we all know frequency of a signal is number of cycles per second. I made use of this logic to calculate frequency of the input signal.

8051 has two timers, Timer 0 is configured for 1 second delay to sample the input signal and Timer 1 is used as a counter to calculate number of cycles in that 1 second. If timer1 overflows then the overflow is counter in another register which is considered as the high byte of Frequency. Input signal is provided at P3.5/T1 which is input for Timer 1 in counter mode. LCD is connected to microcontroller port 1 in 4-bit mode. Currently program is using 2 Line LCD but it can be used for 1 line LCD too.

Program initializes the Timer0 in 16-bit mode with 50mS delay value, a tick value of 20 is loaded to have total delay of 1s (50 x 20 = 1000 mS). Timer 1 is configured in 16-bit counter mode. After a sample of 1 sec, we get the number of cycles hence the frequency of input signal from timer1 registers (TH1:TL1) and high byte of Frequency. So total 3 byte value is then converted to a decimal equivalent represented in hex. This decimal value is then updated to LCD. The whole process repeats again.

For any doubts and suggestions please use forum

Download: Frequency Counter using AT89C2051 and LCD (Assembly)
Tags Frequency Counter using AT89C2051 and LCD8051 projectsFrequency counter project
printer friendly create pdf of this news item

Submit comment

(Required; Min length 5)
(Required; will not be displayed)


Tue Oct 06 2015, 08:22 AM
HI you looking for ideas or you have solution
Fri Oct 02 2015, 03:39 PM
poojitha: projects on wireless communication between two microcontrollers
Thu Oct 01 2015, 04:38 PM
hey! i wanted to simulate my circit using proteus. i have a sugar cube relay in my circuit....but i dont know which one is that in the device libraries of the software. any help? thankyou.
Tue Sep 29 2015, 09:40 PM
@Michal, that rocket is too heavy for itself and trust is not enough unless afterburners are fed with fuel properly.
Sat Sep 26 2015, 08:19 PM
Hello, its possible to make a amateur rocket with this engine, or something simillar, which be able to flight?
Thu Sep 24 2015, 10:38 AM
Ir Switch sir.
Wed Sep 23 2015, 01:10 AM
@engr1931 which project ?
Tue Sep 22 2015, 11:57 AM
Hello sir, is it ok to use 12.000MHz oscillator in IRswitch, because the requirement written in the post is 11.059MHz. And i use PIC1018 as an Ir receiver
Mon Sep 21 2015, 04:15 PM
Hello sir, your blog is kind of helpful for us especially students. May I know do you have the coding for decimal to binary using proteus 8. My mini project is about to convert decimal to binary just like a calculator. The output is LCD. A bit confusing is the decimal to binary coding on proteus 8. pls help thanks.
Sun Sep 20 2015, 09:08 PM
Have you searched our Embedded GSM Development and GSM and CDMA Discussion forums ?



Tue Oct 06 2015, 01:02 PM
Fri Oct 02 2015, 03:28 PM
Sat Sep 26 2015, 01:26 AM
Fri Sep 25 2015, 10:57 AM
Wed Sep 23 2015, 08:13 PM
Wed Sep 16 2015, 04:55 AM
Mon Sep 14 2015, 03:06 PM
Fri Sep 11 2015, 06:03 AM


Guests: 37, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37698
Newest member: praveenraoms
Forum Activity
praveenraoms Avatar
Posted By praveenraoms
Tue Oct 06 2015, 01:06 PM
hi i want to know the code to access the geographi...
sachinmm Avatar
Posted By sachinmm
Wed Sep 30 2015, 08:54 AM
how to used polling method in this?? my code is co...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:39 PM
__irq is just compiler directive to wrap IRQ routi...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:36 PM
The comment does say the time values as per the th...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:33 PM
are you testing this on Proteus? or MplabX simulat...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:31 PM
[Topic moved to ARM Development Forum]
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:29 PM
start with reading datasheet. SPI interface on LPC...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:27 PM
I am not sure you've solved it or not but "USARTRe...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Sep 29 2015, 06:31 PM
i am confused in "__irq"....how it is uesd??sachin...
sachinmm Avatar
Posted By sachinmm
Tue Sep 29 2015, 11:11 AM
my I2C.c file=>>/*********************************...