PIC, is a family of RISC microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instrument's Microelectronics Division.

Microchip Technology does not use PIC as an acronym (in fact they call their chips PICmicros). It is generally regarded that PIC stands for Peripheral Interface Controller, General Instruments' original designation of the PIC1650.

The original PIC was built to be used with GI's new 16-bit CPU, the CP1600. While generally a good CPU, the CP1600 had poor I/O performance, and the 8-bit PIC was developed in 1975 to improve performance of the overall system by offloading I/O tasks from the CPU. The PIC used simple microcode stored in ROM to perform its tasks, and although the term wasn't used at the time, it is a RISC design that runs one instruction per cycle.

In 1985 GI spun off their microelectronics division, and the new ownership cancelled almost everything — which by this time was mostly out-of-date. The PIC, however, was upgraded with EPROM to produce a programmable channel controller, and today a huge variety of PICs are available with various on-board peripherals (serial communication modules, UARTs, motor control kernels, etc.) and program memory from 512 words to 32kwords and more (a "word" is one assembly language instruction, varying from 12-to-16 bits depending on the specific PICmicro family)

Table of contents
1 Coding for PICs
2 Programming PICs
3 Modern PICs
4 Features
5 PICs on the internet
6 PIC clones
7 Wireless PICs
8 dsPICs (digital signal processing)
9 External Links

Coding for PICs

PICs use a RISC instruction set, which varies in length from about 35 instructions for the low-end PICs to about 70 instructions for the high-end PICs. Microchip provides a free IDE package called MPLAB, that also includes a software simulator as well as an assembler.

Third parties make C compilers for PICs. For the high-end 18F series, Microchip also sells a "C18" compiler. An open-source Pascal compiler, JAL, has also been released.

Programming PICs

Devices called "programmers" are traditionally used to get program code into the target PIC. Most PICs that Microchip sells nowadays have ICSP (In Circuit Serial Programming) and/or LVP (Low Voltage Programming) capabilities, allowing the PIC to be programmed while it is sitting in the target circuit.

Bit-Size

The bit size of PICs is a source of much confusion. All PICs handle data in 8-bit chunks, so they should be called 8-bit microcontrollers. But unlike most CPUs PICs use a Harvard architecture, so the size of an instruction can be different. In fact different PIC families uses different instruction sizes, which makes it a challenge to compare the code size of PICs to other microcontrollers. For example, say a microcontroller has 6144 bytes of program memory --- for a 12-bit PIC, this works out to 4096 words (or assembly instructions); for a 16-bit PIC, this is 3072 words.

Modern PICs

The old PROM and EPROM PICs are now gradually replaced by chips with Flash memory. Likewise the original 12-bit instruction set of the PIC1650 and its direct descendants has been superseded by 14-bit and 16-bit instruction sets. Microchip still sells OTP (one-time-programmable, or EPROM) and UV-eraseable (EEPROM) versions of most of its PICs for legacy support, or volume orders.

Features

Current PICs offer a wide range of inbuilt hardware, such as:

PICs on the internet

PICs are well-documented on the internet, mainly for two reasons. First some popular consumer products (pay-TV, playstation) used PICs as part of their security system, which attracted the attention of crackerss. Second the (now obsolete, see PIC16F84) PIC16C84 was the first widely available microcontroller that could easily be re-programmed by hobbyists.

PIC clones

Every now and then there are companies that offer cheap and/or enhanced PIC versions. Most seem to disappear quite soon. Scenix (formerly Ubicom) seems to avoid this fate and produces PIC clones that run much faster than the originals.

Wireless PICs

The rfPIC microcontroller devices integrate the power of Microchip´s PICmicro devices with UHF wireless communication capabilities for low power RF applications. The devices offer small package outline and low external component count to fit the most space-constrained applications.

dsPICs (digital signal processing)

dsPICs are Microchip's newest family, scheduled to enter mass production in late 2003. These will be Microchip's first inherent 16-bit (data) microcontrollers. They build up on the PICs existing strengths by offering hardware MAC (multiply-and-accumulate), barrel shifting, bit reversing, 16-bit x 16-bit multiplication and other such operations common in digital signal processing algorithms.

See also: Microbot

External Links

Microchip Ubicom PIClist (PIC mailing list) page with links to the original PIC1650 documents Scenix