Program Development

    Essentially, PIC micro controllers are computers. They do what they told, to the letter. They have a certain amount of program memory, RAM for storing temporary data, and EEPROM for long term data that is not lost when power is removed.

    The above features are just the beginning, and every "type" of PIC micro has different peripheral features. Think of these as "built in" tools for development, such as Hardware UART, I2C, Schmitt Trigger Inputs, through too USB and Ethernet support. Understanding all the peripheral aspects is not required to use a PIC for most tasks, and when program development is coupled with a great compiler, you can focus and expand your projects without "bit-banging" your way through the PIC's internals.

    With that in mind, I use Swordfish. Its a PICBasic language designed specifically for 18FPIC development. Before you say "18F PIC's are too advanced for me", think again. 18F PIC's are simply an advancement in microcontroller technology. They are 16F's without the drawbacks, and have more hardware peripheral features built in.

Swordfish

    Swordfish is my compiler of choice, its simply superb and allows a structured modular approach to PIC programming. You can download the free version that only limits you to 200 Variables, and no program size/PIC range limitations. Here's an extract from the Swordfish site;

The Structured Approach

    Swordfish enables you to structure a program using subroutines and functions. Each subroutine or function can have its own local declarations consisting of constants, structures and variables. Procedural programming is a better choice than simple sequential or unstructured programming, especially in situations which involve moderate complexity or require significant ease of maintainability.

The Modular Approach

    In large and complex programs, modularity is essential. Swordfish enables you to group commonly used subroutines, functions, constants, structures and variables into a single entity called a module. Scoping is an essential part in keeping a program modular and Swordfish allows all module declarations to be defined as either private or public. The separation of private and public parts of a module is often referred to as encapsulation, or information hiding, and enables you to create modules that are both reusable and robust.

 

Basics Section: