Embedded SystemsAuthor:

PIC16F876A Adjustable Timer

A CCS C electronics study implementing multiplexed seven-segment display driving and time counting on a PIC16F876A.

CCCS CPIC16F876AProteus

About the Project

This CCS C study handles time display on a PIC16F876A and a multi-digit seven-segment module. The repository includes firmware sources, a Proteus schematic project, and a compiled HEX output.

How It Works

Configured for a 20 MHz clock, the firmware writes segment patterns to port B and digit-select masks to port C. Nested counters advance the hour, minute, and second digits. Each digit is enabled for roughly 2 ms to multiplex the display, while decimal-point patterns provide time separators.

Technologies

  • CCS C: PIC firmware and direct port control.
  • PIC16F876A: time counting and display scanning.
  • Proteus: circuit schematic/simulation project.

Project Structure

  • Codes/main.c: segment tables, counters, and multiplexing loop.
  • Schematics/schematic.pdsprj: Proteus circuit project.
  • Codes/main.hex: compiled programming image.

Hardware

PIC16F876A, seven-segment display, 20 MHz crystal, buzzer, buttons, LED, and passive components.

Technical Notes

The current source demonstrates the display-scanning and time-counting core. Although buttons are listed in the documentation, a button-driven adjustment flow is not present in the source.

Source Code

View the project on GitHub.