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.
PIC PWM : What its for and how to use it. Including an example showing typical setup of a PIC PWM module with register settings.
How to use I2C. In this tutorial you will learn all about the 2 wire I2C serial protocol. Learn how easy it is to use, how it works and when to use it...
A 0-5V LCD volt meter project using an HD44870 display and one PIC micro ADC.
PIC programming : How to use ICSP for programming a PIC microcontroller giving some ICSP connection diagrams and it also shows how to use MPLAB X and ICPROG.
How to program PIC ICSP, IN-Circuit, live and still have a working programmer and operational circuit!
Understand how an Ultrasonic Distance meter works by building one your self – including Free software to drive the microcontroller and display.