Site hosted by Angelfire.com: Build your free website today!
Spider RooM Labs

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


(C) 1999 Bojan Burkeljc
Last update: 18th August 1999