Skip to content

RStephanH/tmicroC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PIC16F84A Digital Electronics Lab

A digital electronics lab project built around the PIC16F84A microcontroller, covering bit manipulation on I/O ports, reading digital inputs, and implementing a small combinational logic system in C.

Software Tools

  • Proteus — schematic capture and circuit simulation (PIC16F84A behavior, switches, LEDs).
  • MPLAB X IDE — project creation, C source editing, and build configuration (config bits, compiler settings).
  • MPLAB XC8 Compiler — C compiler used to build the firmware (.hex output).
  • MPLAB IPE (Integrated Programming Environment) — used alongside MPLAB X for programming/verification workflows.
  • MPLAB Extensions for VS Code — an alternative to MPLAB X IDE for building the same project directly from VS Code (same underlying XC8 toolchain).

Electronic Components

  • PIC16F84A — 8-bit microcontroller, the core of every exercise in this project.
  • Pull-down resistors (4.7kΩ) — used on each switch input (PORTA) to guarantee a defined logic 0 when the switch is open, avoiding floating input pins.
  • Pull-up resistor (4.7kΩ) on MCLR — required so the PIC stays out of reset during normal operation.
  • Series resistors (270Ω) — placed in series with each LED to limit current and protect both the LED and the microcontroller output pin.
  • Red LEDs — used as the visual output for every exercise (port state, inverted bits, or logic equation results).

Project Structure

The project is split into three exercises, each in its own subfolder with a slightly different context (I/O configuration and goal):

.
├── exo1/
│   ├── README.md
│   ├── main.c
│   └── screenshots/
│       └── exo1.png
├── exo2/
│   ├── README.md
│   ├── main.c
│   └── screenshots/
│       └── exo2.png
└── exo3/
    ├── README.md
    ├── main.c
    └── screenshots/
        └── exo3.png

Each subfolder README describes the specific context of that exercise and shows its schematic.

Note: Exercise 1 does not yet have its own dedicated circuit. It currently reuses the circuit originally built for Exercise 2 (5 switches on PORTA, 8 LEDs on PORTB) rather than a minimal setup tailored to its own requirements. Not ideal, but functional — a dedicated schematic may be added later.

About

Digital electronics lab on the PIC16F84A — bitwise port manipulation, digital input reading, and a combinational logic system, built in C (MPLAB X / XC8) and simulated in Proteus.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages