8051 Projects [ Download final year project using 8051 microcontroller with complete project report, code and circuit diagram. ]
Frequency Counter using AT89C2051 and LCD (Assembly)
Author Ajay Bhargav
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.
Image
Filesize 19.51 kB
Date
Downloads 44226
Download
Rating
 7.3 - 3 votes  
<< Previous [Electronic Voting machine with Managed Control Unit (Project Report Included)] Back to list [C51 Snakes - A Nokia inspired game built on 8051] Next >>


Comments
i need c code of this project kindly mail me on [email protected]

[ Comment by sandeep kumar :: ]


i need c code of this project [email protected]

[ Comment by henri.johnson :: ]


C code is also there I think.. check download section.

[ Comment by :: ]


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.

[ Comment by Ogu Reginald :: ]


@ Ogu Reginald, You can understand the concept and implement the same on your own in C. Its really simple.

[ Comment by :: ]


could u please send the C code to me?

[email protected]

[ Comment by :: ]


can you give the flowchart and detail comment of there code ?

[ Comment by Chinh 299 :: ]


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.

[ Comment by Auden :: ]


You're using a 11.059MHz crystal and it should be 12.00MHz

[ Comment by :: ]





You must be logged in to make comments on this site - please log in, or if you are not registered click here to signup