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.
How to make a Pulse Rate Sensor using a simple single opamp circuit with an Arduino and a few other components.
74HC595 : How to add nearly unlimited outputs to any microcontoller.
How to use the MAX6675 and an Arduino to measure temperatures from 0°C to 1024°C with two components: A chip - the MAX6675, and a Sensor: - a type-K thermocouple.