8-Bit Microcontroller Summary

8-Bit PIC® Microcontrollers come in several core architectures. This can be confusing to someone trying to decide the best choice for their product or project. This summary will describe the different options to help you make the correct choice.

The 8-Bit family has four categories:

8bit.png

The 8-bit PIC Microcontroller uses a RISC architecture that has a separate address and data bus. This means they can be separate in size as well. All 8-bit PIC Microcontrollers have an 8-bit wide data bus but the program bus will vary in size depending on the family. This can also cause confusion since the memory structure of an 8-bit PIC Microcontroller will be reported in words of a size equal to the program bus not the data bus. A larger program bus allows the device to place more information in one instruction line and thus more efficient execution. So memory for each device is reported in words and then a byte reference.

For example, an 8 K program memory on a 14-bit core device contains 8 K words of program space which is the equivalent of 14 K of space in bytes.

All 8-bit devices execute assembly commands in one instruction cycle except for branches and fetches. This makes for a very efficient operating system. The oscillator speed in most devices is divided by four to produce the instruction clock but enhanced parts have a Phase Lock Loop (PLL) feature that allows you to step up the oscillator by four before the divide to get a one to one relationship between the oscillator speed and the instruction clock speed.

The 8-bit family has some of the lowest current draws in the industry and many features that will run in sleep mode.

8-Bit Peripheral Reference Guide

8bitreference.png

Baseline

Baseline PIC microcontrollers utilize a 12-bit instruction word and provide the right amount of features and options to minimize expenses and get the job done right. Baseline has the simplest architecture of the 8-bit family and therefore are the easiest to work with and understand. They feature:

  • Simple 33 (12-bit wide) instruction set for ease of use and quick development
  • 2 K word (3 KB) addressable program memory
  • 144 bytes RAM (max)
  • 2 level hardware stack
  • 1 (8-bit) file select register
  • Multiple product options and easy migration
  • Smallest form factors available

The Baseline can be recognized by their part number structure.
10Fxxx, 12Fxxx and 16Fxxx

You can see the full line-up of Baseline devices on this page: Baseline Devices.

Mid-Range

Mid-Range PIC Microcontrollers are the next tier in performance and has features from the Baseline PIC microcontrollers. Utilizing a 14-bit instruction word, these peripheral-rich devices are ideal for many applications that require a higher level of embedded control and more memory.

  • 35 (14-bit wide) easy instructions to learn
  • 8 K word (14 KB) addressable program memory
  • 368 bytes RAM (max)
  • 8 level hardware stack
  • 1 (9-bit) file select register
  • Hardware interrupt handling
  • Highly integrated feature set, including EEPROM, LCD, mTouch sensing solutions and serial communications

The Mid-Range can be recognized by their part number structure.
10Fxxx, 12Fxxx and 16Fxxx

You can see the full line-up of Enhanced Mid-Range devices on this page: Mid-Range Devices.

Enhanced Mid-Range

The newest family is the Enhanced Mid-Range core which builds upon the best elements of the Mid-Range core and provides additional performance while maintaining compatibility with Mid-Range PIC MCUs for true product migration. These devices have the latest features and the lowest power in the 8-bit core. The Enhanced core adds more program memory and higher operating speeds. They also feature the highest accuracy, highest frequency internal oscillators.

  • 49 (14-bit wide) assembly commands
  • 32 K word (56 KB) addressable program memory
  • 4 KB RAM (max)
  • 16 level hardware stack
  • 2 (16-bit) file select registers
  • Hardware interrupt handling with content save
  • Advanced feature set, multiple serial communications, and motor control capability

The Enhanced Mid-Range can be recognized by their part number structure.
12F1xxx and 16F1xxx

You can see the full line-up of Enhanced Mid-Range devices on this page: Enhanced Mid-Range Devices.

High-End

These parts have their own prefix namely, PIC18. This family combines the maximum level of performance and integration with the ease-of-use of an 8-bit architecture. With up to 16 MIPS of processing power, PIC18 Microcontrollers feature advanced peripherals, such as CAN, USB, Ethernet, LCD, and CTMU. They offer the largest pin count and memory size in the 8-bit family of parts. The architecture is optimized for C programming.

  • 83 (16-bit wide) assembly instructions
  • Up to 2 MB addressable program memory
  • 4 KB RAM (max)
  • 32 level hardware stack
  • 1 (8-bit) file select register
  • Integrated 8x8 hardware multiply
  • Highest performance 8-bit architecture

The High-End devices can be recognized by their part number structure.
18Fxxxx, 18FxxJxx and 18FxxKxx

You can see the full line-up of High-End PIC18 devices on this page: High-End Devices.

Development Tools

All the 8-bit devices can be programmed/debugged with the same set of Microchip Development Tools.
They include:

  • MPLAB® X IDE - Single Integrated Development Environment supports all PIC MCUs
  • XC8 - MPLAB X C Compiler for 8-bit devices. Free versions available with no time or memory limitations
  • PICkit™ 3 - Most affordable in-circuit debugger/programmer with simple breakpoints
  • ICD 3 / ICD 4 - High-speed hardware debugger/programmer with complex breakpoints
  • MPLAB REAL ICE™ - High-speed emulator with complex breakpoints and trace capability

 Self-Paced Training

The material in these training modules exists elsewhere on this site in a general reference format. However, the training modules present it in an organized, step-by-step sequence to help you learn the topic from the ground up.

 Frequently Asked Questions

Topic
Zero-Cross Detect (ZCD) Disable
Why is the PIC16F1619 DAC1OUT on a Curiosity board always at 0 V in debug mode?
Why do I get a C syntax error on compiling a rotate left instruction asm("RLF aux, w");?
Why can't I drive my MOSFET when connected to PWM?
What is the resistance value of the internal weak pull-up?
What is the internal protection provided by the silicon such as discharge diodes?
What is the instruction size of a PIC® MCU?
What is Q1 on a PIC16F Comparator?
What does the "-ICD" suffix on an MCU mean?
What are the base PIC® microcontrollers used in the ARxxxx Series?
TX Output Signal From USART Show Two Stop Bits
PIC16F870/871 - What is the restart procedure after frame error (FERR) event ?
PIC16F - Unable To Change the Functionality of CLKIN Pin
Do the device pin tables show which pins are 5V tolerant?
Testing TSOP, SSIC, QFN, DFN Packages on a Breadboard
How can I create a Programmable Gain Amplifier (PGA) using an OP Amp and DAC output from a PIC® MCU?
What is the difference between the Byte Endurance (ED) and the Number of Total Erase/Write Cycle before Refresh (TREF)?
PIC18F87xx - How do you select the functionality of a pin?
Impact of Ripple on Vdd when using a Microchip Microcontroller
I²C Not Able to Write to SSPBUF
How do you read internal temperature on the PIC18F?
How do I debug a Curiosity Board's PIC16F1503?
PWM Output is Going Low While the CCP is Being Configured
PIC18F25K80 - I²C Stops Working in an Interrupt Driven System
How do you read the EEPROM memory of a PIC18F46J50?
How can I find a pin-to-pin compatible microcontroller to migrate my project?
ECAN Code Example Using Enhanced FIFO Mode (Mode 2)
Drive the RTCC using an External 32.768 kHz Digital Clock Input
Custom Part Suffix Meaning
Constant Current LED Driver Using PIC18
Compute the Capacitor Values for a Crystal Oscillator
Can the internal temperature sensor in PIC® devices measure ambient temperature?
SMI Interface Implementation on an 8-bit PIC®
Slow PIC® Microcontroller Startup in Freezing Temperatures
PIC10F - Invalid Calibration Memory Error
How do you calculate the sampling rate for a SAR ADC on PIC16F MCU?
Changing Oscillator Speed During Runtime on the PIC16F
Can the RTCC on a PIC® MCU without a VBAT run off a battery?
What is the most common problem encountered when communicating with a PIC® MCU SPI module?
Need to find a device with more RAM
Migrating to a newer PIC16 family
External VCAP on PIC16F
EUSART Pins Don't Work on PORTA
Can a PIC16F with USB run on the Internal Oscillator?
Can the ADC measure 5 V if the VDD is 3.3 V?
Can I reprogram the Oscillator Calibration on a PIC® device?
Why do I need to use a unity gain amplifier to measure DAC output voltage of a PIC16F1xxx?
Where can I find code examples for a PID controller using the PIC16F161x Math Accelerator?
Can I connect VUSB3V3 to VDD (+3.3 V) for USB operation on the PIC16F1455?
Can both UART and I²C be used on PIC12F1840 or PIC16F1829?
Connection of NC Pins
Can CRC Be Read From A Code Protected PIC?
Where can I find the ADC voltage reference?
Adding a Serial Number to a PIC18
App note on LCD fundamentals and the LCD driver module for 8-bit PIC® MCUs
Why I can't debug with a PIC16F18877? Why does it work in release mode but not in debug mode?
What are the differences among the 8-bit PIC MCU sub-families?
© 2018 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.