PIC16F887-E/P - 8-Bit 20MHz MCU 14KB Flash 40-PDIP | Microchip
MPN: PIC16F887-E/P ✓ فعالPIC16F887-E/P نمای کلی
An 8-bit microcontroller (MCU) is a single-chip computer optimized for embedded control tasks such as reading sensors, driving actuators, and communicating with peripherals via serial protocols. The PIC16F887 belongs to the PIC16F family of mid-range MCUs, sitting in the hierarchy: PIC16F family -> PIC16 series -> 8-bit MCU -> microcontroller -> embedded IC -> semiconductor. The "16" prefix denotes a 14-bit wide instruction set mid-range core, while the "F" indicates Flash-based (re-programmable) program memory. The PIC16F887 is widely used in legacy designs, education, and industrial control applications where simplicity, low power, and a familiar peripheral set outweigh the need for high-speed 32-bit processing.
Key differentiating features include: 14 KB Flash supporting self-programmability (in-circuit serial programming, ICSP), 256-byte internal EEPROM for non-volatile data storage, brown-out reset (BOR) and low-power watchdog timer with dedicated on-chip 31 kHz oscillator, nanoWatt sleep modes drawing under 1 µA, and 10-bit ADC with 14 channels that allows direct interface with analog sensors without external signal conditioning.
The device uses Microchip's enhanced mid-range 8-bit RISC architecture with only 35 single-word instructions, simplifying development in assembly or C via MPLAB X IDE and the XC8 compiler. Its nanoWatt technology includes idle, sleep, and ultra-low-power watchdog modes, making it suitable for battery-powered sensors and remote monitoring.
Typical applications include industrial control boards, sensor interface modules, hobbyist and educational platforms, low-cost consumer electronics, and home appliance controls. The 40-pin PDIP package suits through-hole prototyping, breadboarding, and legacy replacement scenarios where DIP-based tooling already exists.
When designing with this part, note that the "-E" suffix indicates the extended industrial temperature range of -40°C to +125°C. Adequate decoupling (100 nF ceramic per VDD pin plus bulk 10 µF near the MCU) and a 100 nF between VSS and VDD is recommended to suppress switching transients that can cause ADC noise or POR malfunctions.
This page synthesizes distributor pricing, drop-in same-package alternatives, and practical design notes not found in the manufacturer datasheet alone, giving buyers and engineers a single citation-ready reference.
جایگزینهای drop-in برای PIC16F887-E/P — همان پکیج، سازگار پینبهپین. قطعات با پکیج متفاوت که نیاز به تغییر PCB دارند مستثنی هستند.
گونهها در این سری
مدلهای همسری که جایگزین مستقیم هستند برای PIC16F887-E/P (همان فرمفاکتور و فوتپرینت) — متفاوت در Package, ADC, Timers, Core Architecture, Mounting Type.
PIC16F887-I/P
✅ جایگزین مستقیمبرای قیمت تماس بگیرید
مشاهده دیتاشیت ←PIC16F884-I/P
✅ جایگزین مستقیمبرای قیمت تماس بگیرید
مشاهده دیتاشیت ←PIC16F877A-I/P
✅ جایگزین مستقیمبرای قیمت تماس بگیرید
مشاهده دیتاشیت ←PIC16F886-I/SP
✅ جایگزین مستقیم📋 جایگزین مرجع (خارج از کاتالوگ)
PIC16F882-I/SP
✅ جایگزین مستقیمبرای قیمت تماس بگیرید
مشاهده دیتاشیت ←PIC16F887-E/P حداکثر مقادیر مجاز و مشخصات الکتریکی
| Core Architecture | Enhanced 8-bit PIC16 RISC |
| Instruction Set Width | 14-bit |
| Instruction Count | 35 single-word instructions |
| حداکثر فرکانس کلاک | 20 MHz |
| Program Memory (Flash) | 14 KB (8K x 14 words) |
| Data SRAM | 368 bytes |
| Data EEPROM | 256 bytes |
| Digital I/O Pins | 36 |
| ADC | 14-channel, 10-bit |
| Timers | 2 x 8-bit + 1 x 16-bit |
| Communication Interfaces | Enhanced USART + MSSP (SPI / I2C) |
| Operating Voltage | 2.0 V to 5.5 V |
| محدوده دمای کاری | -40 °C to +125 °C (extended, "-E") |
| بستهبندی | 40-pin PDIP (Plastic DIP, through-hole) |
| نوع نصب | Through-Hole |
| NanoWatt Sleep Current | < 1 µA typical |
| In-Circuit Programming | ICSP supported |
| Self-Programming | Yes (Flash supports user-code writing) |
| Watchdog Timer | Yes, with dedicated 31 kHz oscillator |
| Brown-Out Reset (BOR) | Yes |
| وضعیت RoHS | Compliant |
پیکربندی پین PIC16F887-E/P
| پین 1 | MCLR/VPP/RE3 — Master Clear (reset) input / programming voltage / digital input only |
| پین 2 | RA0/AN0 — PORTA bit 0 / analog input channel 0 |
| پین 3 | RA1/AN1 — PORTA bit 1 / analog input channel 1 |
| پین 4 | RA2/AN2 — PORTA bit 2 / analog input channel 2 |
| پین 5 | RA3/AN3/VREF+ — PORTA bit 3 / analog input channel 3 / ADC positive reference |
| پین 6 | RA4/AN4 — PORTA bit 4 / analog input channel 4 |
| پین 7 | RA5/AN5/SS — PORTA bit 5 / analog input channel 5 / SPI slave select |
| پین 8 | RE0/AN6 — PORTE bit 0 / analog input channel 6 |
| پین 9 | RE1/AN7 — PORTE bit 1 / analog input channel 7 |
| پین 10 | RE2/AN8 — PORTE bit 2 / analog input channel 8 |
| پین 11 | VDD — Positive supply (2.0 V to 5.5 V) |
| پین 12 | VSS — Ground reference |
| پین 13 | OSC1/CLKIN — Oscillator input / external clock input |
| پین 14 | OSC2/CLKOUT — Oscillator output / clock output |
| پین 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| پین 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 module |
| پین 17 | RC2/P1A/CCP1 — PORTC bit 2 / PWM output / CCP1 module |
| پین 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| پین 19 | RD0 — PORTD bit 0 |
| پین 20 | RD1 — PORTD bit 1 |
| پین 21 | RD2 — PORTD bit 2 |
| پین 22 | RD3 — PORTD bit 3 |
| پین 23 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| پین 24 | RC5/SDO — PORTC bit 5 / SPI data out |
| پین 25 | RC6/TX/CK — PORTC bit 6 / USART transmit / USART clock |
| پین 26 | RC7/RX/DT — PORTC bit 7 / USART receive / USART data |
| پین 27 | RD4 — PORTD bit 4 |
| پین 28 | RD5/P1B — PORTD bit 5 / PWM complementary output |
| پین 29 | RD6/P1C — PORTD bit 6 / PWM output C |
| پین 30 | RD7/P1D — PORTD bit 7 / PWM output D |
| پین 31 | VSS — Ground reference |
| پین 32 | VDD — Positive supply (2.0 V to 5.5 V) |
| پین 33 | RB0/INT/AN12 — PORTB bit 0 / external interrupt / analog input channel 12 |
| پین 34 | RB1/AN10 — PORTB bit 1 / analog input channel 10 |
| پین 35 | RB2/AN8 — PORTB bit 2 / analog input channel 8 |
| پین 36 | RB3/AN9/PGM — PORTB bit 3 / analog input channel 9 / LVP programming |
| پین 37 | RB4/AN11 — PORTB bit 4 / analog input channel 11 |
| پین 38 | RB5/AN13 — PORTB bit 5 / analog input channel 13 |
| پین 39 | RB6/PGC — PORTB bit 6 / ICSP clock |
| پین 40 | RB7/PGD — PORTB bit 7 / ICSP data |
کاربردهای معمول
PIC16F887-E/P مناسب است برای 6 کاربردs: Industrial Control Boards, Sensor Interface Modules, Educational and Hobbyist Platforms, Home Appliance Controls, Battery-Powered Remote Monitoring, Legacy PIC16F877A Replacement.
Industrial Control Boards
The PIC16F887-E/P fits industrial control boards because of its 20 MHz 8-bit core, 36 I/O pins, and 14-channel 10-bit ADC that reads 0-5 V sensor signals without external signal conditioning. The -40 to +125 C extended temperature rating supports factory-floor environments with temperature swings, and its 256-byte EEPROM stores calibration constants and runtime counters without external non-volatile memory. The nanoWatt sleep mode at under 1 µA reduces standby power in line-powered and battery-backed systems. Place 100 nF ceramic decoupling capacitors adjacent to every VDD/VSS pair, and reserve a 10 µF bulk capacitor near the MCU for ADC stability.
پیشنهادی
Sensor Interface Modules
Use the PIC16F887-E/P for multi-channel sensor hubs because the 14-channel 10-bit ADC covers temperature, pressure, and humidity transducers in a single chip. Its MSSP module talks to I2C or SPI digital sensors (accelerometers, gas sensors), and the enhanced USART bridges to RS-485 transceivers for industrial networks. 256 bytes of internal EEPROM retains calibration tables and sensor IDs across power cycles. The 14 KB Flash comfortably holds the polling loop, sensor driver library, and Modbus stack while leaving headroom for future features.
پیشنهادی
Educational and Hobbyist Platforms
The PIC16F887-E/P is widely used in university embedded courses and hobby projects because the 40-pin PDIP through-hole package drops easily into breadboards and solderless prototyping boards. Microchip's MPLAB X IDE, free XC8 compiler, and PICkit 3/4 debuggers provide a complete free-of-charge learning path. The 35 single-word instruction set reduces assembly learning overhead, while 14 KB Flash and 368 bytes SRAM support real projects like line-following robots, weather stations, and digital clocks without memory crunch.
پیشنهادی
Home Appliance Controls
The PIC16F887-E/P drives washing machine, dishwasher, microwave, and HVAC control panels because its 36 I/O pins connect to keypads, LCD controllers, triac drivers, and buzzer feedback paths simultaneously. Its 14 KB Flash holds state-machine firmware, while 256 bytes EEPROM stores user settings and fault logs that survive power loss. The extended -40 to +125 C temperature grade ensures reliable operation near heating elements. nanoWatt sleep modes keep standby power below 0.5 W to meet modern appliance energy regulations.
پیشنهادی
Battery-Powered Remote Monitoring
The PIC16F887-E/P suits battery-powered remote sensor nodes because its nanoWatt sleep current under 1 µA allows multi-year operation from a single 3 V lithium cell when the MCU wakes briefly to sample and transmit. The 14-channel 10-bit ADC handles battery voltage, temperature, and process variables without extra chips. The 256-byte EEPROM stores the last-known sensor state across resets. The 20 MHz wake-and-run performance enables rapid ADC acquisition and SPI/I2C transmit, returning to sleep quickly to minimize average current.
پیشنهادی
Legacy PIC16F877A Replacement
Designers upgrade from PIC16F877A to PIC16F887-E/P to gain 256-byte internal EEPROM, nanoWatt power management, and an expanded 14-channel 10-bit ADC while keeping the same 40-pin PDIP footprint, instruction set, and peripheral mapping. Existing 5 V PIC16F877A firmware ports directly with little to no rewrite. The extended temperature grade supports automotive under-hood and outdoor installations. The two parts share the same MPLAB X toolchain, allowing zero-tooling migration in production lines.
پیشنهادی
خلاصه محصولات پیشنهادی
دادههای مرجع مهندسی برای PIC16F887-E/P — مقایسه، راهنمای طراحی و اطلاعات انطباق.
راهنمای انتخاب
مقایسه با جایگزینها
| پارامتر | این محصول | PIC16F887-I/P | PIC16F884-I/P | PIC16F877A-I/P | PIC16F886-I/SP | PIC16F882-I/SP |
|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | PDIP-40 | PDIP-40 - same | PDIP-40 - same | PDIP-40 - same | SPDIP-28 - different pin count | SPDIP-28 - different pin count |
| Core / Max Clock | 8-bit PIC16 / 20 MHz | 8-bit PIC16 / 20 MHz | 8-bit PIC16 / 20 MHz | 8-bit PIC16 / 20 MHz | 8-bit PIC16 / 20 MHz | 8-bit PIC16 / 20 MHz |
| Flash Memory | 14 KB | 14 KB | 7 KB | 14 KB | 14 KB | 3.5 KB |
| Data EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 128 bytes |
| ADC Channels | 14-channel, 10-bit | 14-channel, 10-bit | 14-channel, 10-bit | 8-channel, 10-bit | 11-channel, 10-bit | 11-channel, 10-bit |
| Digital I/O Pins | 36 | 36 | 36 | 33 | 28 | 24 |
| Temperature Range | -40 °C to +125 °C | -40 °C to +85 °C | -40 °C to +85 °C | -40 °C to +85 °C | -40 °C to +85 °C | -40 °C to +85 °C |
تفاوتهای کلیدی
- Extended -40 to +125 °C operating temperature (در مقابلPIC16F887-I/P)
- 14-channel 10-bit ADC (در مقابلPIC16F877A-I/P)
- 256-byte internal EEPROM + nanoWatt low-power modes (در مقابلPIC16F886-I/SP)
یادداشتهای طراحی
Place a 100 nF ceramic decoupling capacitor as close as possible to each VDD/VSS pair (pins 11/12 and 31/32) and add a bulk 10 µF tantalum or aluminum polymer capacitor near the MCU. For battery-powered designs using nanoWatt sleep modes, switch the unused peripherals (ADC, USART) off before issuing the SLEEP instruction to achieve the sub-1 µA standby current. Use the internal 31 kHz INTRC oscillator for sleep wake-ups so the system does not depend on an external crystal during low-power intervals.
Route the MCLR line (pin 1) away from switching signals and add a 10 kΩ pull-up to VDD plus a 100 nF capacitor to ground for noise immunity. Keep the analog inputs (AN0-AN13) separated from digital switching traces, and place the ADC VREF+ decoupling capacitor (when used) at pin 5 with the shortest possible ground return. For 40 MHz oscillator operation, ensure the OSC1/OSC2 traces are short, surrounded by a ground guard ring, and that the crystal case is grounded.
Do not leave the LVP (low-voltage programming) bit enabled in CONFIG words unless you use RB3 as the LVP entry pin - this can cause unexpected resets in production boards that drive RB3. When migrating from PIC16F877A code, confirm that ADC channel numbers beyond AN7 are remapped (PIC16F887 expands to AN8-AN13 on different ports). Also verify that the BOR voltage level matches your supply range - factory default may be too high for 2.0 V to 3.3 V designs and must be lowered.
اطلاعات انطباق
RoHS and lead-free confirmed per Microchip product environmental compliance. AEC-Q100 qualification not listed - extended -40 to +125 °C temperature grade is industrial spec, not automotive certification. Full REACH SVHC and material disclosure available on request from Microchip.