🧭 Project Overview
This project demonstrates how to interface a 7-segment display with a PIC16F877A microcontroller. The display counts 0 to 9 with a 1-second delay between each digit, showing how segment encoding and port control work in embedded systems.
⚙️ Hardware & Software Requirements
Hardware:
PIC16F877A Microcontroller
1 × 7-Segment Display (Common Cathode type)
8 × 330Ω Resistors
Breadboard / Proteus simulation
Software:
MPLAB X IDE
XC8 Compiler
Proteus 8 Professional (for simulation)
🧩 Proteus Circuit Setup
Controller: PIC16F877A
Oscillator: 20 MHz Crystal (pins 13 & 14)
7-Segment Display (Common Cathode):
Connect segments a–g, dp to RC0–RC7 respectively through 330Ω resistors
Connect common cathode pins to GND
Power: +5V → VDD, GND → VSS
Open the project file Proteus_Design.pdsprj in Proteus 8.
Import the compiled .hex file from MPLAB X.
Run the simulation — the 7-segment display will count from 0 to 9 repeatedly.
📸 Output
Display cycles through digits 0 → 9 every second.
🚀 Future Expansion Ideas
Add two 7-segment displays for double-digit counting (00–99).
Interface push buttons to control count up/down.
Use timer interrupts for precise timing instead of software delay.