Description
PIC16F886 is a MICROCHIP TECHNOLOGY microcontroller from the 'PIC16F' series. It's an 8-Bit CMOS Microcontroller with nano-Watt Technology. Because of its functionality and low cost, this microcontroller is popular among amateurs and engineers.
Because of its rapid flash memory rewrite cycle, the PIC16F886 is an excellent microcontroller for testing and creating applications. There are also a variety of instructional and support resources available online. The controller features 16KBytes of flash memory, which is sufficient for a wide range of applications. With 24 programmable input/output pins designed to handle 20mA current (direct LED driving capabilities), the system can readily communicate with a wide range of peripherals. With the Watchdog timer configured to automatically reset in the event of a mistake, the controller may be used to construct permanent installation applications.
Special Microcontroller Features
- Precision Internal Oscillator:
- Factory calibrated to ±1%
- Software selectable frequency range of 8 MHz to 31 kHz
- Software tunable
- Two-Speed Start-up mode
- Crystal fails to detect critical applications
- Clock mode switching during operation for power savings
- Power-Saving Sleep mode
- Wide operating voltage range (2.0V-5.5V)
- Industrial and Extended Temperature range
- Power-on Reset (POR)
- Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)
- Brown-out Reset (BOR) with software control option
- Enhanced low-current Watchdog Timer (WDT) with an on-chip oscillator (software selectable nominal 268 seconds with full Prescaler) with software enable
- Multiplexed Master Clear with pull-up/input pin
- Programmable code protection
- High Endurance Flash/EEPROM cell:
- 1,000,000 write EEPROM endurance
- Flash/Data EEPROM retention: > 40 years
- Program memory Read/Write during run time
- In-Circuit Debugger (onboard)
Device |
Flash (words) |
SRAM (bytes) |
EEPROM(bytes) |
I/O |
10-bit A/D (ch) |
ECCP/ CCP |
EUSART |
MSSP |
Comparators |
Timers Flash 8/16-bit |
PIC16F886 |
8192 |
368 |
256 |
24 |
11 |
1/1 |
1 |
1 |
2 |
2/1 |
PIC16F886 Pin Configuration
PIC16F886 is a 28 pin IC and each pin can perform multiple functions as shown in the above PIC16F886 pin diagram. The description for each of these pins is given below.
Pin Number |
Pin Name |
Description |
1 |
RE3/MCLR/VPP |
RE3: Pin3 of Port E MCLR: Master Clear Input or Reset pin VPP: Programming voltage |
2 |
RA0/AN0/ULPWU/C12IN0- |
RA0: Pin0 of Port A AN0: Analog input 0 ULPWU: Ultra-Low-Power Wake-up input C12IN0-: Comparator C1 or C2 negative input |
3 |
RA1/AN1/C12IN1- |
RA1: Pin1 of Port A AN1: Analog input 1 C12IN1-: Comparator C1 or C2 negative input |
4 |
RA2/AN2/VREF-/CVREF/C2IN+ |
RA2: Pin2 of Port A AN2: Analog input 2 VREF-: A/D reference voltage (low) input CVREF: Comparator voltage reference output C2IN+: Comparator C2 positive input |
5 |
RA3/AN3/VREF+/C1IN+ |
RA3: Pin3 of Port A AN3: Analog input 3 VREF+: A/D reference voltage (high) input C1IN+: Comparator C1 positive input |
6 |
RA4/T0CKI/C1OUT |
RA4: Pin4 of Port A T0CKI: Timer0 external clock input C1OUT: Comparator C1 output |
7 |
RA5/AN4/SS/ C2OUT |
RA5: Pin5 of Port A AN4: Analog input 4 SS: SPI slave select input C2OUT: Comparator C2 output |
8 |
VSS |
Ground |
9 |
RA7/OSC1/CLKIN |
RA7: Pin7 of Port A OSC1:Oscillator pin 1 CLKI: External clock source input |
10 |
RA6/OSC2/CLKOUT |
RA6: Pin6 of Port A OSC2: Oscillator pin 2 CLKO: Clock source output |
11 |
RC0/T1OSO/T1CKI |
RC0: Pin0 of Port C T1OSO :Timer1 oscillator output T1CKI: Timer1 external clock input |
12 |
RC1/T1OSI/CCP2 |
RC1: Pin1 of Port C T1OSI: Timer1 oscillator input CCP2:Capture 2 input/Compare 2 output/PWM2 output |
13 |
RC2/P1A/CCP1 |
RC2: Pin2 of Port C P1A: PWM output CCP1: Capture 1 input/Compare 1 output/PWM1 output. |
14 |
RC3/SCK/SCL |
RC3: Pin3 of Port C SCK: SPI clock SCL: I2C clock |
15 |
RC4/SDI/SDA |
RC4: Pin4 of Port C SDI: SPI data input SDA: I2C data I/O |
16 |
RC5/SDO |
RC5: Pin5 of Port C SDO: SPI data out |
17 |
RC6/TX/CK |
RC6: Pin6 of Port C TX: EUSART asynchronous transmit CK: EUSART synchronous clock |
18 |
RC7/RX/DT |
RC7: Pin7 of Port C RX: EUSART asynchronous receive DT: EUSART synchronous data |
19 |
VSS |
Ground |
20 |
VDD |
Positive Power Supply |
21 |
RB0/AN12/INT |
RB0: Pin0 of Port B AN12: Analog input 12 INT: External interrupt |
22 |
RB1/AN10/P1C/C12IN3- |
RB1: Pin1 of Port B AN10: Analog input 10 P1W: PWM output C12IN3-: Comparator C1 or C2 negative input |
23 |
RB2/AN8/P1B |
RB2: Pin2 of Port B AN8: Analog input 8 P1B: PWM output |
24 |
RB3/AN9/PGM/C12IN2- |
RB3: Pin3 of Port B AN9: Analog input 9 PGM: Low-voltage ICSP Programming enable pin C12IN2-: Comparator C1 or C2 negative input |
25 |
RB4/AN11/P1D |
RB4: Pin4 of Port B AN11: Analog input 11 P1D: PWM output |
26 |
RB5/AN13/T1G |
RB5 Pin5 of Port B AN13: Analog input 13 T1G: Timer1 Gate input |
27 |
RB6/ICSPCLK |
RB6: Pin6 of Port B ICSPCLK: Serial Programming Clock |
28 |
RB7/ICSPDAT |
RB7: Pin7 of Port B ICSPDAT: ICSP Data I/O |
Specifications
CPU |
8-bit |
Programmable pins |
24 |
Total pins |
28 |
Communication Interface |
SPI Serial Interface(7,14,15,16 PINS) [Can be used for programming this controller] UART Interface(17,18 PINS) [Can be used for programming this controller] Two-wire Serial Interface or I2C(14,15 PINS) [Can be used to connect sensors and LCDs] ICSP or In-Circuit Serial Programming Interface (27,28 Pins) [Can be used for programming this controller] |
Analog Comparators |
2 |
PWM channels |
4 |
External Oscillator |
Up to 20MHz |
CPU Speed |
1MIPS @ 1MHz |
Power Save Modes |
Available |
Operating Voltage |
2.0V to 5.5V |
Maximum current to any I/O pin |
IN: 25mA OUT: 25mA |
Operating Temperature |
-40°C to +125°C |
Package |
PDIP28 |
Dimensions | 35mm x 8.8mm x 3.3mm |