I'm just starting to look at programming PICs, but have not been able to find what the difference is between the C and F series of PICs. Is there a difference, or are they just different chips, and not derivatives of the same device?

For example is a 16C74 the same as a 16F74?

If anyone can point me in the right direction I would most greatful.


Posted on 2003-08-14 10:06:49 by Nick
Hi, Nick,

The C devices are EPROM-based PIC's (windowed or not), while the F ones are FLASH-based devices.
As you probably know the FLASH devices are erased electrically, there is no need for a UV lamp.

As far as programming, the only major difference you will see is that for the F series you have erase command(s) available. Other than that (and some timing differences), the programming works pretty much the same way. Just check the programming specs for your device.

Hope this helps.

You can program the devices in the circuit. Just use two resistors in series with the programming lines (RB6, RB7) to connect to the rest of the circuit and a couple of jumpers: one in series with Vdd, the other one in series with the /MCLR pin.
When you need to program the PIC, remove the jumpers so the programmer only powers the PIC, not the rest of the circuit and it only applies Vpp to the /MCLR pin of the PIC, not something else (this may also be solved with a diode).
The programming clock and programming data signals just go to the PIC pins, before the series resistors I mentioned. You can have all these connections and the 2 jumpers arranged in a 7 or 8-pin header that you use for programming. Use the same arrangement on all your boards, so you will only need one cable.
Made a mistake in your program? Hook up the programmer to the header and a minute later you are back in business. (Don't forget to put the jumpers back on, or you will wonder why the new program doesn't do anything).
Posted on 2003-08-14 11:34:58 by VVV
Thanks for that info, that clears things up nicely. Your in circuit programming idea sounds interesting aswell.


Posted on 2003-08-14 11:45:01 by Nick
uhm... is it the same like in system programming feature (ISP) that nowadays many vendors use it?
Posted on 2003-08-16 02:34:15 by dion
Yes, dion,

That is similar to ISP. Actually, Microchip calls it ICSP (In Circuit Serial Programming).


Just one more thing: the approach with the series resistors on RB6, RB7 only works if those pins are used as inputs or low current outputs.
If you need them as higher current outputs (mA range), then instead of resistors you have to use jumpers on them, too. So you would use 4 jumpers: one for power, one for /MCLR, one for PGC, one for PGD.

You can use a 2x5 pin header. The first 4 positions have jumpers normally installed, one of the last pins is the ground connection and you remove the last pin, to act as a "key" for the conector on the cable: plug the corresponding hole in the cable connector.
Posted on 2003-08-19 11:28:33 by VVV