Even though the 16F88 is an older device (still in production 2018) it has many of the standard useful internal peripherals associalted with most microcontrollers. In fact it has so many that you may find it difficult to choose what to do! This means the chip is capable of use in many different projects (example projects are available on this site). It is also used in the c programming course.since it is a convenient size.
The 16F88 is related to the 16F877 (probably the 16F887 as well since the latter is an updted 16F877) and I say related as it shares almost all the same internal peripherals as the 16F877 - just in a smaller package (18 pins instead of 40 pins).
The device has:
11 internal peripherals excluding Ram and Flash above.
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 eight 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.
Jump to PIC16F88 bubble diagram.
Jump to bubble diagram device list.
For a summary of each peripheral block click here.
Jump from 16F88 to the Home page.
A tutorial on using the ADS1115 precision 16 bit ADC for low power use.
Learn how to use the TP4056 properly. There's a right, and a wrong way, to use it to safely charge Lithium Ion batteries.
The DW01A chip is a Lithium Ion battery protector commonly used on TP4056 boards. Find out Exactly how it works and how to use it the correct way.
For Arduino string operations you can use Object Class Strings or C style strings but which should you use? Also find out how to decode commands and control variables in your programs using strings.
Real Time Clock Design (FREE): A Free and Complete RTC design using the DS1307 and a PIC micro (16F88) also re-targetable. This PIC project uses an I2C Clock chip and 7-segment display to create a fou…
With the ADXL345 acellerometer you can detect up to 16g! You can also find out how to use it for tap detection and more.