PIC16F887 Microcontroller Overview
- The PIC16F887 is an 8-bit microcontroller from Microchip. The 40-pin IC has 14 Channel 10-bit ADC making it suitable for applications that require more ADC inputs. The IC also has 2 Comparators, 2 Timers (8-bit and 16-bit), and supports SPI, I2C, and UART communication protocols.
- It can operate at a speed of up to 20MHz with an external oscillator and also has a precision internal oscillator tunable between 8MHz to 32kHz. The IC supports nanoWatt technology allowing it to consume very low power and operate in Power-Saving sleep mode. It also has a wide operating voltage from 2V to 5.5V making it suitable for battery-powered applications.
- The IC also supports safety features like Power-on Reset (POR), Brown-out Reset (BOR), Low Current Watchdog Timer (WDT), etc making it suitable for task-critical and industrial applications. The controller supports In-Circuit Serial Programming (ICSP) allowing the designer to program the controller easily even without removing it from the actual circuit.
How to select your PIC16F887 Microcontroller
Microchip provides a wide variety of Microcontrollers from the PIC family. Each MCU has its own advantage and disadvantage. There are many parameters that one has to consider before selecting an MCU for his project. The below points are just suggestions that might help one to select an MCU.
- If you are a beginner who is learning PIC then, selecting a MCU that has good online community support and wide applications will be a good choice. PIC16F877A and PIC18F4520 are two such MCUs
- Consider the operating voltage of your system. If they are 5V then select a 5V MCU some sensors or devices work and communicate on 3.3V in such case a 3.3V MCU can be selected
- If size and price is a limitation then you can choose small 8-pin MCUs like PIC12F508. These are also comparatively cheaper.
- Based on the sensors and actuators used in your project, verify which modules you might need in for MCU. For example is you are reading many Analog voltages then make sure PIC has enough ADC channels and supportive resolution. The details of all modules are given in the table above.
- If you project involves communication protocols like UART, SPI ,I2C, CAN etc make sure you PIC can support them. Some MCU can support more than one module of the same protocol
Applications: PIC16F887 Microcontroller
- Design requiring many ADC channels
- Battery Operated Low Power applications
- Design requiring Multiple I/O interfaces and communications
- Ideal for more advanced level A/D applications in automotive, industrial, appliances and consumer applications.