The 16F88 really is useful but older device - still manufactured by
microchip as of Aug 2014.
It is pin compatible with the 16F84 (that is if you don't assign the oscillator pins) e.g. if you use the internal oscillator it frees up the oscillator pins as I/O. It also has most of the same internal hardware modules as the 16F877(A).
It has six major peripherals (see
diagram below) useful RAM and program memory (far more than the 16F84) and an
internal oscillator that can run from
125kHz to 8MHz (using a postscaler) or
31.25kHz (a separate internal clock).
These features make it easy to use with high level languages as it has enough RAM to do useful tasks. The31.25KHz clock lets it run at low power if needed.
As with all the mid range PICs it uses ICSP for programming so it can be programmed in circuit without removing it if the circuitry is designed correctly.
The only disadvantage to the chip is with that many peripherals you are unlikely to be able to use them all at the same time as it only has 18 pins. A similar chip is the 16F877(A) and this is a 40 pin chip so for experimentation is a better choice - even so the 16F88 is extremely powerful.
Jump to PIC16F88 pinout.
Jump to PIC16F88 bubble diagram.
Jump to bubble diagram device list.
For a summary of each peripheral block click here.
Arduino Battery Charger: A very useful project that lets you charge 'un-rechargeable' alkaline batteries!
The Essential Guide to the 74HC595; What it is and how you can easily use one in any of your projects.
How to use the MCP23017 to increase your I/O by 16 pins (or more) and use its interrupt system.