After a lot of trials & errors I was able to come up with a circuit to blink an LED using a PIC16F877A microcontroller.
Components I use are,
- PIC16F877A
- LM7805
- 20MHz Crystal Oscillator
- IN4007 Diode
- 300R Resistor
- 10k Resistor
- 22 Ceramic Capacitor
- 104 Ceramic Capacitor
- 224 Ceramic Capacitor
My question is, whether this circuit is good enough for learning purposes, or does it has any serious issues with it. These are my concerns,
- While programming, S1 switch is put to position 1. After programming, it is put to position 3. Is it the wrong approach? I actually change the position of the jumper wire (No sliding switch).
- Also, after programming, I have to remove all the PICkit3 connections otherwise the LM7805 becomes hot.
- Further, when I run after programming & removing the PICkit wires, I get a slight shock when touching the metal silver head of LM7805.
Failed to program device Target Vdd not detected. Please ensure the target device is connected.
\$\endgroup\$