How to start with PIC line of microcontrollers
Page is under construction.
Microchip's PIC microcontrollers are quite easy to use. They don't need external storage devices for program and data such as EPROMs or RAM chips, so they don't take a lot of PCB space, they have small instruction set, and yet they are quite fast and code efficient. Microchip also provides free developement enviroment called MPLab and extensive information database - everything from data sheets to application notes. Probably the only downside is that they are expensive comparing to similar devices such as Atmel microcontrollers (which are a bit faster too).
Hardware for PICs
For all listed devices on this page you will need
a programmer. That is a hardware which writes provided program (.hex) files
to the microcontroller's program memory.
There is a lot of PIC programmers online, from
dirt cheap DIY ones to expensive commercial ones:
DIY:
Here I would mention P16PRO
from Bojan Dobaj, which I use myself. Bojan provides shareware DOS software
which programs almost every PIC available and a freeware (lite) version
that programs only PIC16C84 / PIC16F84 (the later device is what I have
used in all the projects so far). He also provides two PCB layouts (for
18 pin devices and 40 pin devices). P16PRO is connected to printer port..
Commercial programmers:
There is a lot of commercial
programmers available from Microchip and third party manufacturers such
as Parallax. Microchip's programmers like PIC Start Plus or ProMate have
the advantage of being recognized by MPLab.
Links to programmer's pages can be found at the bottom of this page.
Software for PICs
Besides the programming software that is provided
with programmer, you will (optionally) need an assembler or C compiler
that transforms a source to program code which is recognized by microcontroller.
Source code can be written in any text editor.
All these components plus a microcontroller simulator are included in Microchip's
MPLab Integrated Development Enviroment (IDE for short). This is very useful
software for development of microcontroller code.
Assembler:
Assembler is a tool that converts
assembly language source file to a program file. Assembly language is a
program language where binary code is replaced by mnemonics and operands;
basically it is a program code that is closer to human perception than
plain string of 'zeros' and 'ones'.
There are mainly two assemblers
available, each with its own mnemonics - one from Microchip and one from
Parallax. Microchip's assembler has unique mnemonics, while Parallax's
has similar mnemonics
than assembler for Intel 8051 core microcontrollers.
So if you have any experience in programming 8051, you'll probably try
out Parallax assembler. However, I use Microchip's assembler.
C Compiler:
C is a higher programming
language, meaning that the function from C source no longer takes only
one word of microcontroller's program memory. Function names are standardized,
so the C code can be theoretically migrated from one microcontroller core
to another. However, there are some specific functions for each core that
must be taken into account.
There are many C compilers
for PICs avaliable (Microchip, Parallax, IAR), however I'm quite weak at
higher language programming, so I haven't tried any of them.
Links
Microchip
home page - datasheets, app. notes, MPLab, programmers, etc. A place
to start.
Parallax
home page - assembler, C compiler, app. notes, programmers
IAR home page
- assembler, C compiler
P16PRO
home page - DIY programmer
ProPIC
home page - DIY programmer with Windows software
David Tait's PIC links - a lot of PIC links