The PIC16F84 used in this tutorial is shown below. This is a relatively simple 18 pin device consisting of 13 I/O pins each of which can be set to be an input or an output.

The PIC16Fxxx family of products is continually being updated by Microchip. At the time of writing (February 2002) Microchip are encouraging developers to switch to a new device - the PIC16F627. The '627 is different to the '84 in many respects and has many more features than the PIC16F84 (refer to the data sheet for details). Most significantly it has several on-board comparators which can be used for analogue functions. The Analogue comparator inputs are available on pins RA0 to RA3. The simplified pin out is as shown:

The curious thing about this new device is that it provides a greater degree of functionality than the PIC16F84 and yet it costs less! Unfortunately this increased functionality comes at a price - it is more complex to use. If you do wish to use the PIC16F627 then you will need to be aware of come critical differences:

- by default the port A pins are set to be comparator inputs rather than digital i/o lines
- the PIC16F627 does not have a low frequency, external RC clock option
- Special Function Registers take up more data memory space
- Low voltage programming is selected as default
- Brown out reset is selected as default

These differences means that the PIC16F627 is not suitable for this course.

If you are looking for an alternative to the PIC16F84 then we suggest you choose a 28 pin device that behaves in much the same way as the PIC16F84. The PIC16F870 would be a good choice. It is a reasonable cost and has several analogue A/D converters which you will find useful for project work.