The PIC12F675 is a very inexpensive 8-bit microcontroller from Microchip that’s available in an 8-pin DIP package (i.e. it’s suitable for breadboard use). I’ve had a small tube of these on the shelf for a few years, but I’ve only just got around to trying one out. In this post, I present a simple example circuit and program, which flashes an LED on one of the GPIO pins. The example circuit includes connections to the PICkit2 USB programmer that I’m using to program the device. The PICkit2 also supplies power to the circuit.
First, here’s the video of the example program running on the PIC12F675.
Example Code
This is the full C code for the flashing LED example. I built it using Microchip’s XC8 compiler (the compiler command line is shown in the opening comments).
//
// PIC12F675 example: blink an LED on pin GP5
// Written by Ted Burke - 18-2-2017
//
// To compile:
//
// xc8 --chip=12F675 main.c
//
#include <xc.h>
#pragma config FOSC=INTRCIO,WDTE=OFF,MCLRE=OFF,BOREN=OFF
void main(void)
{
TRISIO = 0b11011111; // Make pin GP5 a digital output
while(1)
{
GP5 = 1; // Set pin GP5 high
_delay(500000); // 0.5 second delay
GP5 = 0; // Set pin GP5 low
_delay(500000); // 0.5 second delay
}
}
Example Circuit
Click here to download editable Inkscape SVG file of circuit diagram.
Here’s my breadboard circuit:

