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

43620

  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

Bobbyerilar
Thu Mar 28 2024, 08:08 am
pb58
Thu Mar 28 2024, 05:54 am
Clarazkafup
Thu Mar 28 2024, 02:24 am
Walterkic
Thu Mar 28 2024, 01:19 am
Davidusawn
Wed Mar 27 2024, 08:30 pm
Richardsop
Tue Mar 26 2024, 10:33 pm
Stevencog
Tue Mar 26 2024, 04:26 pm
Bernardwarge
Tue Mar 26 2024, 11:15 am