Basic Level     Skills: Not specified    
Author
Author email
[email protected]
Author website
www.rickeyworld.info

Description

Project tested and working perfectly

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 cycle 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.

Files:
1. FreqCounter.asm - Main program
2. FreqCounter.hex - Hex file
3. frequency_counter.png - Block Diagram
4. Schematic.pdf - circuit

For any doubts and suggestions please use forum

Use the Download button below to download this project.
Tags Frequency Counter using AT89C2051 and LCDFrequency Counter using 8051
  Filesize

19.51 kB

  Downloads

43610

  Rating
 

Comments

sandeep kumar
15 Jul 2014: 12:25 pm
i need c code of this project kindly mail me on [email protected]
  
henri.johnson
01 May 2015: 08:39 am
i need c code of this project [email protected]
  
ajay_bhargav
08 May 2015: 21:36 pm
C code is also there I think.. check download section.
  
Ogu Reginald
12 May 2015: 03:14 am
This is a good project.
Please I need the c source code for the project.
Feel free to email me: [email protected]

If the c source code is not available, I want the frequency to be divided by 7 and the final answer displayed on the LCD.
  
ajay_bhargav
14 May 2015: 10:20 am
@ Ogu Reginald, You can understand the concept and implement the same on your own in C. Its really simple.
  
seoulmak
13 Jul 2015: 19:00 pm
could u please send the C code to me?

[email protected]
  
Chinh 299
13 Jun 2020: 18:48 pm
can you give the flowchart and detail comment of there code ?
  
Auden
23 Nov 2020: 14:13 pm
hi, Your Code is working but i have a problem while simulation on proteus i am giving input frequency from generator of 1000Hz but on output LCD its showing 1085HZ plz help.
  
ExperimenterUK
23 Nov 2020: 20:10 pm
You're using a 11.059MHz crystal and it should be 12.00MHz
  
(Required; Min length 5)
(Required; will not be displayed)

Downloads

Comments

JamesNip
Tue Mar 19 2024, 02:57 pm
EdwardFew
Mon Mar 18 2024, 01:14 pm
EmeryPah
Mon Mar 18 2024, 11:51 am
RobertMax
Sun Mar 17 2024, 10:22 pm
DanielJar
Fri Mar 15 2024, 06:52 pm
Tuzaimecor
Fri Mar 15 2024, 02:32 am
PromotionFoode
Thu Mar 14 2024, 08:11 pm
EdwardGeawn
Sun Mar 10 2024, 12:24 pm