On Mon, 29 Dec 1997 09:57:09 -0800 John Montalbano writes: >I am just coming up to speed on PIC microcontrollers and have a few >simple questions about the 16C(F)84 parts. > >1) Why would I want to use a 16C84 rather than a 16F84? Most all of >the >examples that I have seen posted are for the 16C84. Is this only >because >that part was around longer, or is it a preference for the EEPROM? The C84 is likely in the process of being discontinued. The F84 is software equivalent, with the added advantages of extra RAM, possibly better code protection, and lower power drain. The programming method is only slightly different. Recent versions of the parallel-port programmers will support the F84 with the same hardware used for C84. To the software writer they are identical other than having more RAM in the F84. You can use the C84 examples with a F84, the extra RAM will just go unused. > >2) Has anyone successfully used either an X902-ND or PX400-ND 4Mhz >resonator from DigiKey with the 16F84? I've used the Panasonic ones. The other ones should work as well. Just connect the 2 outside pins to the PIC oscillator terminal, and the center pin to the PIC GND or to Vdd. No other parts are needed. Set the oscillator type to XT. The case of these units is not sealed very well. Some people have reported failure from getting solvent or flux inside. Other than that they are inexpensive and work well, though the frequency isn't all that precise. >3) Can anyone confirm that David Tait's parallel port programmer works >for both parts? Can you explain what I should do differently for the >16F84? I don't know about the David Tait specifically, but later versions of the software for most of the parallel port programmers support both chips directly. If your programmer has a 'F84' option just use it. You can execute any HEX file written for C84 directly on a F84 without modification. If you have a programmer that supports only 16C84 and no hope of upgrading it it can still program F84 chips, though you need to set the PUT bit opposite what it should be and can't enable the code protection. >4) Appendix A in the P16C84 datasheet says PA2, PA1 and PA0 are >removed >from the status register and placed in the option register. It sure >does >not look that way from the data sheet. Can anyone explain what they >are >trying to say here. This appendix discusses the difference between the "PIC16CXX family" (which includes the PIC16C84), or "14-bit PIC" and the "PIC16C5X" family, or "12-bit PIC". If you haven't used a PIC16C5X before, then there's no need to worry about it. Just concentrate on learning the PIC16X84, which shares the same 14-bit core with a large number of more advanced PICs like the 16C6X and 16C7X. The 12-bit PICs also appear to be on the way out, except that the only 8-pin PICs available, 12C50X, are 12-bit. Nearly all 12-bit PIC software can be changed slightly and reassembled for 14-bit PIC, and much 14-bit PIC software can migrate down to 12-bit PIC if it isn't using the advanced features of the 14-bit chips. I usually use a F84 to test 12C508 software, then reassemble it for the 12C508.