Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Tachometer using 8051 (AT89C51)

This project implements a digital tachometer using the AT89C51 (8051) microcontroller. The system measures rotational speed by counting input pulses over a fixed time window and displays the RPM on a 16×2 LCD.

The design is fully simulated in Proteus and the firmware is written in Embedded C using Keil µVision.


📑 Table of Contents


🔧 Features

  • AT89C51 (8051) microcontroller
  • External interrupt based pulse counting (INT0)
  • Timer-based fixed gate time measurement
  • 16×2 LCD interface (8-bit mode)
  • RPM calculation and display
  • Proteus simulation only (no physical hardware)

🧠 Working Principle

  1. Input pulses (simulated using a Proteus CLOCK source) are applied to the INT0 pin.
  2. The microcontroller counts pulses over a fixed time window using Timer0.
  3. RPM is calculated using: RPM = (Pulse Count × 60) / Gate Time (seconds)
  4. The calculated RPM is displayed on the LCD.

Minor variations in RPM are expected due to pulse quantization and simulation time-step limitations of Proteus.


🛠 Tools Used

  • Keil µVision – Firmware development
  • Proteus Design Suite – Circuit simulation
  • AT89C51 – 8051 microcontroller
  • GitHub – Version control

📁 Project Structure

  • firmware/ → Embedded C source and HEX file
    • tachometer.c
    • tachometer.hex
  • simulation/ → Proteus project file
    • Digital_Tachometer.pdsprj
  • images/ → Circuit diagrams, block diagrams, and results
    • block_diagram.png
    • circuit_diagram.png
    • lcd_output.png

▶ How to Run the Simulation

  1. Open the Proteus project file from the simulation/ folder.
  2. Load the compiled HEX file into the AT89C51 microcontroller.
  3. Run the simulation.
  4. Adjust the CLOCK frequency to observe RPM changes on the LCD.

📌 Notes

  • This project is intended for academic and learning purposes.
  • Optical sensor behavior is not physically simulated; pulse input is electrically stimulated.
  • Minor RPM variations are normal due to discrete pulse counting.

📜 License

This project is open-source and available for educational use.

About

Digital tachometer using AT89C51 (8051) simulated in Proteus

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages