Getting Started With PIC
!!!PAGE UNDER CONSTRUCTION!!!
Contents
Part 1: Introduction
Chosing a PIC
Hardware & software tools
Let’s verify we have all the necessary pieces of equipment ready and installed (latest version available for download from Microchip’s web site at http://www.microchip.com):
- PIC Datasheet
- MPLAB IDE, free Integrated Development Environment
- MPLAB SIM, software simulator
- MPLAB C30, C compiler (demo or free Student Version).
Part 2: Basic hardware
Besides a PC, because of we intend "make" something and not only talk about it, we need some hardware tools:
- PIC programmer-debugger (in Ai&R Lab Lambrate you can find some Microchip ICD2 programmer-debugger and, some adapter boards with ZIF socket and some self-made programming cables)
- PIC demoboard or your board with power supply, PIC, oscillator MCLR circuitry and some input-output hardware
Oscillator
MCLR circuit
Programming interface
Programming Cable
Part 3: PIC programming
MPLAB settings
Start a new project
Then, let’s follow the “New Project Set-up” checklist to create a new project with the MPLAB IDE:
- Select “Project->Project Wizard” to activate the new project wizard, which will guide us
automatically through the following steps…
- Select the correct PIC device, and click Next.
- Select the MPLAB C30 Compiler Suite and click Next.
- Create a new folder and name it “FolderName”; name the project “ProjectName” and click Next.
Simply click Next to the following dialog box—there is no need to copy any source files from any previous projects or directories. Click on Finish to complete the Wizard set-up.
Open a new editor window.
Select “File->Save As”, to save the file as: “FileName.c”. Select “Project->Save” to save the project. Our first line of code is going to be:
#include <p24fj128ga010.h>
This is a pseudo-instruction for the preprocessor telling the compiler to read the content of a device-specifi c fi le before proceeding any further. The content of the device-specifi c “.h” file chosen is a long list of the names (and sizes) of all the internal special-function registers (SFRs) of the chosen PIC model: those names reflect exactly those being used in the device datasheet. Let’s add a couple more lines that will introduce you to the main() function:
main() { }
The main() function is the place where the microcontroller (program counter) will go first at power-up or after each subsequent reset. Before entering the main() function, the microcontroller will execute a short initialization code segment automatically inserted by the linker. This is known as the c0 code. The c0 code will perform basic housekeeping chores, including the initialization of the microcontroller stack, among other things.