Minor Experiments in Electronics
by Dave


Today's Experiment

Pic Pyro 12
NOPPP Software for 12F675

Pic Pyro 16
NOPPP Software for 16F877A

Pic Pyro 18
NOPPP Software for 18F452

1st Project
Hello World

Microchip Technology, Inc.'s
PIC Microcontrollers

The RCA CDP1802 was a GREAT starting point in the world of CPUs. It was static and could be clocked at super slow speeds so one could actually whip out the logic probe and poke around for whatever the problem might be. The PIC series of MCU's offered by Microchip offers this same advantage. Development with the PIC seems light years ahead of the CDP1802, mostly because of the software tools available for it. Never mind the obvious fact that the CDP1802 predates the PIC series by a few decades, but it also helps that the PIC is still in production. The CDP1802 is out of production and getting hard to find.

Most peripheral glue is built in to the PIC, making it literally a one-chip solution for many projects. Main program memory, data memory, A/D modules, Timer modules, I2C Bus capability, USB Modules, and so on make the PIC a great component to build your project around. There is an enormous number of PIC part numbers to choose from, from entry-level simple control units to massive 80-pin chips with every conceivable capability.

PICs come in the form of IC's, 8-Pin DIPs on up. With normal CPUs and logic, each specific pin on the IC represents a certain function. For example, pin 1 on the 74LS04 is always the input pin for inverter number 1. It cannot be changed. That's what pin 1 does. On the PIC? Totally different. Each pin can be programmed to represent a certain function during runtime. Want pin 1 to be an A/D input? OK. Want pin 1 to be 9600 baud serial output? OK. Want pin 1 to directly drive an LED? Easy. The best thing about this is that pin 1 can be all these things, within the same program. How simple is working with the PIC? Simple! Except for the quirky instruction set, working with the PIC is a dream. It's perfect for experimenter's breadboarding. The only pins that are not programmable are the power, reset, and clock pins.

The most popular PIC for beginners seems to be the 16F84A. There may be better choices for your first PIC, but with the immense amount of example code and projects built around this PIC, it is a good choice. It can run at speeds from DC to 20MHz. It has 1K of nonvolatile main memory. It is an 18-Pin DIP, 13 pins of which are programmable.

The only problem? The same one as always... lack of memory. Sure, 1K of onboard memory on the 16F84A may be more than enough for 99% of projects and experiments, but I want MORE! Like... 64K would be nice. Sure, the 13-bit PC can only count to 8K but... well, one can dream.