A Frequency Counter using the 8051 MCU (AT89C51) and Assembly Language Programming.
This project demonstrates a Frequency Counter using the AT89C51 Microcontroller, part of the 8051 MCU family. The frequency measurement is displayed on an LCD and controlled via external components, making it an excellent tool for various applications in electronics and communications.
The program is written in Assembly language, optimized for efficiency and speed, and the circuit is simulated using Proteus (Version 8.9). This repository includes:
The project has been successfully tested on both simulation and real hardware setups, ensuring reliability and accuracy.
AT89C51 Microcontroller | 8051 | Assembly Language | Simulation | Proteus | Microcontroller Programming | Frequency Counter
The LCD in this project displays the measured frequency, with the microcontroller processing input signals from an external source to calculate frequency values. The LCD provides a clear readout, making it easy to monitor frequency in real time.
Each control component, such as push buttons, is connected to input pins on the microcontroller. Resistors are used throughout the circuit to ensure proper current control, preventing damage to the microcontroller and display.
git clone https://github.com/gmostofabd/AT89C51_LCD_Frequency_Counter.git
Compile the Assembly Code:
Open the AT89C51_Frequency_Counter.asm file in MIDE-51 or any compatible IDE, and compile it to generate the HEX file.
Simulate in Proteus: Open Proteus Design Suite, load the provided simulation file, and run the simulation to observe the frequency measurement.
Program the Microcontroller: For real hardware applications, upload the HEX file to the AT89C51 microcontroller using a compatible programmer.
The 16x2 LCD displays the frequency value measured by the microcontroller. The data is updated in real time, providing immediate feedback on the measurement process.
For a deeper understanding of the circuit and code, explore the Proteus simulation and review comments within the assembly source file for explanations of specific code sections.
We welcome contributions! If you have suggestions for improvements or additional features, feel free to submit pull requests or open issues regarding any bug fixes, feature enhancements, or optimizations to the assembly code.
For any inquiries, feedback, or assistance, please reach out at mostofa.melab@gmail.com.
If you found this project helpful, please give it a ⭐ on GitHub! ```