075582814553
PIC16F886 8-Bit Microcontroller Datasheet Guide

FREE-SKY (HK) ELECTRONICS CO.,LIMITED / 03-13 16:05

This article will discuss the PIC16F886 microcontroller, including its pinout, program memory organization, working circuit example, applications, technical specifications, key features, and comparison with other microcontrollers.


Catalog

1. PIC16F886 8-Bit Microcontroller Basic
2. PIC16F886 8-Bit Microcontroller CAD Models
3. PIC16F886 8-Bit Microcontroller Pinout
4. Alternatives & Equivalent Model
5. PIC16F886 Program Memory Map
6. Functional Block Diagram
7. Technical Specifications
8. Broad Features & Advantages
9. PIC16F886 Working in Circuit
10. PIC16F886 Wide Applications
11. PIC16F886 vs Other Microcontrollers
12. Mechanical Dimensions
13. Manufacturer
PIC16F886 8-Bit Microcontroller

PIC16F886 8-Bit Microcontroller Basic

The PIC16F886 is an 8-bit microcontroller developed by Microchip Technology and part of the popular PIC16 family. It integrates a CPU, Flash program memory, RAM, EEPROM, and multiple peripheral modules into a single compact chip. The device is designed for embedded control systems that require reliable processing, flexible input/output control, and low power consumption.

This microcontroller provides 14 KB of Flash program memory, 368 bytes of RAM, and 256 bytes of EEPROM for storing data. It operates with a clock speed of up to 20 MHz and supports an operating voltage range of 2.0 V to 5.5 V, making it suitable for a wide range of digital designs. The chip also includes several communication interfaces such as USART, SPI, and I²C, along with timers and other integrated modules. The PIC16F886 also features 24 programmable I/O pins and an 11-channel 10-bit ADC, allowing it to process both digital and analog signals efficiently.

If you are interested in purchasing the PIC16F886, feel free to contact us for pricing and availability.

PIC16F886 8-Bit Microcontroller CAD Models

PIC16F886-I/SS symbol, footprint and 3d model.

PIC16F886 8-Bit Microcontroller CAD Models

PIC16F886 8-Bit Microcontroller Pinout

PIC16F886 8-Bit Microcontroller Pinout
Pin No.
Pin Name
Description
1
RE3 / MCLR / VPP
Master Clear (reset) input and programming voltage pin
2
RA0 / AN0 / ULPWU / C12IN0−
Analog input channel 0 / ultra-low power wake-up
3
RA1 / AN1 / C12IN1−
Analog input channel 1
4
RA2 / AN2 / VREF− / CVREF / C2IN+
Analog input / voltage reference
5
RA3 / AN3 / VREF+ / C1IN+
Analog input / positive voltage reference
6
RA4 / T0CKI / C1OUT
Timer0 clock input / comparator output
7
RA5 / AN4 / SS / C2OUT
Analog input / SPI slave select
8
VSS
Ground
9
RA7 / OSC1 / CLKIN
Oscillator input / external clock input
10
RA6 / OSC2 / CLKOUT
Oscillator output / clock output
11
RC0 / T1OSO / T1CKI
Timer1 oscillator output / clock input
12
RC1 / T1OSI / CCP2
Timer1 oscillator input / Capture-Compare-PWM
13
RC2 / P1A / CCP1
PWM output / Capture-Compare module
14
RC3 / SCK / SCL
SPI clock / I²C clock
15
RC4 / SDI / SDA
SPI data input / I²C data
16
RC5 / SDO
SPI data output
17
RC6 / TX / CK
USART transmit / synchronous clock
18
RC7 / RX / DT
USART receive / data
19
VSS
Ground
20
VDD
Positive power supply
21
RB0 / AN12 / INT
External interrupt input
22
RB1 / AN10 / P1C / C12IN3−
Analog input / PWM output
23
RB2 / AN8 / P1B
Analog input / PWM output
24
RB3 / AN9 / PGM / C12IN2−
Analog input / low-voltage programming
25
RB4 / AN11 / P1D
Analog input / PWM output
26
RB5 / AN13 / T1G
Analog input / Timer1 gate control
27
RB6 / ICSPCLK
In-Circuit Serial Programming clock
28
RB7 / ICSPDAT
In-Circuit Serial Programming data

Alternatives & Equivalent Model

• PIC16F882

• PIC16F883

• PIC16F884

• PIC16F887

• PIC16F873A

• PIC16F876A

• PIC18F883

PIC16F886 Program Memory Map

PIC16F886 Program Memory Map

The PIC16F886 program memory is organized into an 8K × 14-bit Flash memory space, addressed by a 13-bit Program Counter (PC<12:0>). This means the microcontroller can access addresses from 0000h to 1FFFh. The program memory is divided into four pages, each containing 2K words. Page 0 ranges from 0000h to 07FFh, Page 1 from 0800h to 0FFFh, Page 2 from 1000h to 17FFh, and Page 3 from 1800h to 1FFFh. The Reset vector is located at address 0000h, which is where the program starts executing after a reset. The Interrupt vector is located at 0004h, where the microcontroller jumps when an interrupt occurs.

The diagram also shows the hardware return stack, which is used to store return addresses when the program executes instructions such as CALL, RETURN, RETLW, or RETFIE. The PIC16F886 has an 8-level deep stack, meaning it can store up to eight return addresses. Each time a subroutine or interrupt occurs, the current program counter value is pushed onto the stack. When the routine finishes, the stored address is popped from the stack so the program can continue from the correct location. This stack operates automatically and does not use general RAM.

Functional Block Diagram

Functional Block Diagram

Technical Specifications

PIC16F886-I/SS specifications.

Category
Specification
Manufacturer
Microchip Technology
Series
PIC® 16F
Part Status
Active
Core Processor
PIC
Core Size
8-bit
Maximum Speed
20 MHz
Program Memory Size
14 KB (8K × 14)
Program Memory Type
Flash
EEPROM Size
256 × 8
RAM Size
368 × 8
Number of I/O Pins
24
Connectivity Interfaces
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Data Converters
11-channel, 10-bit ADC
Operating Voltage (Vcc/Vdd)
2.0 V – 5.5 V
Oscillator Type
Internal
Operating Temperature
−40°C to +85°C
Mounting Type
Surface Mount
Package / Case
28-SSOP (0.209", 5.30 mm width)
Supplier Device Package
28-SSOP
Packaging
Tube
DigiKey Programmable
Verified
Base Product Number
PIC16F886

Broad Features & Advantages

High-Performance RISC Architecture

The PIC16F886 uses a high-performance RISC CPU with only 35 simple instructions, making programming easier and efficient. Most instructions execute in a single cycle, allowing fast processing with an operating speed up to 20 MHz. The architecture also includes an 8-level deep hardware stack and supports direct, indirect, and relative addressing modes.

Flexible Clock and Oscillator Options

The microcontroller includes a precision internal oscillator that is factory calibrated to ±1% accuracy. Users can select different operating frequencies ranging from 8 MHz down to 31 kHz through software. It also supports clock switching, crystal fail detection, and two-speed start-up for improved reliability.

Rich Peripheral Integration

PIC16F886 integrates multiple peripherals such as analog comparators, timers, PWM modules, and communication interfaces. It also includes a 10-bit A/D converter with up to 11 input channels, making it suitable for analog signal monitoring and control tasks.

Advanced Timer and PWM Capabilities

The device features several timers including 8-bit and 16-bit timer/counters with programmable prescalers. Enhanced Capture, Compare, and PWM modules support precise signal measurement and generation, with PWM resolution up to 10 bits and frequencies up to 20 kHz.

Built-in Communication Interfaces

PIC16F886 supports multiple communication protocols such as USART, SPI, and I²C through its MSSP module. These interfaces allow the microcontroller to communicate easily with sensors, memory devices, and other microcontrollers.

Reliable System Protection Features

The device includes safety features such as Power-on Reset (POR), Brown-out Reset (BOR), Watchdog Timer (WDT), and Power-up Timer (PWRT). These features help ensure stable operation and protect the system from voltage fluctuations and software faults.

Low-Power Operation

PIC16F886 is designed for energy-efficient applications. It provides low standby current, ultra-low-power wake-up, and multiple sleep modes. These capabilities make it suitable for battery-powered and energy-sensitive devices.

High Endurance Memory and Debug Support

The microcontroller includes high-endurance Flash and EEPROM memory with long data retention. It supports in-circuit serial programming (ICSP) and in-circuit debugging, which simplifies development, testing, and firmware updates.

PIC16F886 Working in Circuit

PIC16F886 Working in Circuit

PIC16F886 microcontroller controlling a 20×4 LCD display and reading temperature from a sensor. The microcontroller is powered by a +5V supply, while a 0.1 µF capacitor helps stabilize the power. An 8 MHz crystal oscillator with two 22 pF capacitors provides the clock signal needed for the PIC16F886 to run.

The LCD module is connected to several I/O pins of the PIC16F886 to display information. A 10 kΩ potentiometer adjusts the LCD contrast so the characters appear clearly on the screen.

An LM34DZ temperature sensor is connected to the RA0/AN0 analog input. The sensor outputs a voltage based on temperature, which the PIC16F886 reads using its 10-bit ADC. The microcontroller converts the signal into digital data and displays the temperature on the LCD.

The circuit also includes an ICSP header for programming and a reset button connected to the MCLR pin to restart the system when needed.


Processed in 0.056890 Second , 22 querys.