A PIC microcontroller is a
processor with built
in memory and RAM and you can use it to control your projects (or build projects
around it). So it saves you building a circuit that has separate external RAM,
ROM and peripheral chips.
What this really means for you is that you have a very powerful device that has
many useful built in modules e.g.
- Analogue comparators.
Even with just these four
modules (note these are just example modules - there are more) you can make up
many projects e.g.:
* Frequency counter - using the internal
timers and reporting through UART (RS232) or output to LCD.
* Capacitance meter - analogue
* Event timer - using internal timers.
data logger -capturing analogue data using an internal ADC and using the internal
EEPROM for storing data (using an external I2C for high data storage capacity.
* Servo controller (Control through UART)
- using the internal PWM module or using a software created PWM.
The PIC Micro is one of the most popular microcontrollers and in case you were
wondering the difference between a microprocessor and a microcontroller is that
a microcontroller has an internal bus with in built memory and peripherals.
In fact the 8 pin (DIL) version of the 12F675 has an amazing number of internal
peripherals. These are:
- Two timers.
- One 10bit ADC with 4
- An internal oscillator (or you
can use an external crystal).
- An analogue comparator.
- 1024 words of program memory.
- 64 Bytes of RAM
- 128 Bytes of EEPROM memory.
- External interrupt (as well as
interrupts from internal peripherals).
- External crystal can go up to
- ICSP : PIC standard
And all of these work from within
an 8 pin DIL package!
In the mid-range devices the
memory space ranges from 1k to 8k (18F parts have more) - this does not sound
like a lot but the processor has an efficient instruction set and you can make
useful projects even with 1k e.g. LM35 temperature sensing project that
reports data to the serial port easily fits within 1k.
In fact a PIC microcontroller is
an amazingly powerful fully featured processor with internal RAM, EEROM
peripherals. One of the smallest ones occupies the space of a 555 timer but
has a 10bit ADC, 1k of memory, 2 timers, high current I/O ports a comparator
a watch dog timer... I could go on as there is more!
One of the most useful features
of a PIC microcontroller is that you can re-program them as they use flash
memory (if you choose a part with an F in the part number e.g. 12F675 not
12C509). You can also use the ICSP
built into each PIC Microcontroller for programming and even do programming
while it's still plugged into the circuit!
You can either program a PIC microcontroller using assembler or a high level
language and I recommend using a high level language such as C as it is much
easier to use (after an initial learning curve). Once you have learned the
high level language you are not forced to use the same processor e.g. you
could go to an AVR or Dallas microcontroller and still use the same high level
Input / Output - I/O
A PIC Microcontroller can
control outputs and react to inputs e.g. you could drive a relay or read input
With the larger devices it's possible to drive LCDs or seven segment displays
with very few control lines as all the work is done inside the PIC Micro.
Comparing a frequency counter to discrete
designs you'll find
two or three chips for the microcontroller design and ten or more for a
discrete design. So using them saves prototype design effort as you can use
built in peripherals to take care of lots of the circuit operation.
The PIC microcontroller has many
built in peripherals and this can make using them quite daunting at first
which is why I have made this introductory page with a summary of each major