PIC12F675 Microcontroller Tutorial
A tutorial on the 12F675 PIC microcontroller which shows you how to program and use it with a series of projects starting out with a simple LED flasher and progressing on to more advanced projects.
To use the tutorial files you need to have a PIC programmer with an ICSP output connector and the components shown in each tutorial.
You don’t have to install the compiler as hex file is contained in the downloadable zip file.
If you do want to re-compile the source code the compiler is free for the small amounts of code used here as they all generate hex output files that are below the 2k limit.
Before you start have a look at the following for background info:
- Static precautions and handling (Read before picking up chip).
- Programming with PIC ICSP (In Circuit Serial Programming).
- PIC ICSP signals and ‘real’ circuit.
- General purpose ICSP programmer circuit.
- MikroC compiler Click Here for the compiler download page.
- Quick guide to compiling programs with MikroC.
The 12F675 microcontroller is packaged in an 8 pin chip and even though it is tiny it is packed with peripherals. It even has a 10bit ADC built in (this is the same ADC that you can find on the 16F877A and 16F88 used elsewhere on this site). So learning about this peripheral is also useful for these other parts.
The 12F675 has 1024 words of program memory, 64 Bytes of RAM and 128 Bytes of EEPROM, an internal oscillator, timers an ADC and a comparator.
Note:The 12F629 is identical except that it does not have the ADC.
12F675 Microcontroller Features
The following bubble diagram shows the major peripherals and features of the 12F675 in a visual format:
Note: you can compare this chip (using bubble diagrams) to some others used on this site by clicking here.
You can program the microcontroller using an ICSP programmer (you can use it for any PIC chip). ICSP connections are shown in the diagram below.
To use it you will need software running on the PC : ICPROG. This lets you flash the hex file generated by the compiler into the 12F675
Current Project / Post can also be found using: