vicgray said:
Hi! I am doing a project and am having headaches.
I am doing a heartbeat monitor using **broken link removed**
1. Is there any difference between PIC16F84 and PIC16F84A?
2. I heard that the source code for PIC16F84 cannot be programmed to PIC16F84A. It will not work. Is that true?
3. The circuit is using PIC16F84-10/P. However, I am only using a 4MHz crystal in the circuit. Can I use PIC16F84-04/P?
Please advise! Thanks!
The 84A was the old replacement for the 84 (just a later silicon revision), but both are long obselete!. You should really use a more modern PIC, the 16F628 was the replacement for the 84 series, and in turn is now replaced by the 16F628A (again, just a later silicon revision). There are also various other new compatible PIC's, some of which have inbuilt A2D - like the 16F819 and 16F88.
All of these are pin compatible with the 84 series, and the original code runs with only VERY slight changes - basically to account for the extra hardware in the newer devices. For example turning OFF the comparators in the 628, and turning OFF the analogue inputs on the others.
What you generally CAN'T do is load the original HEX files, you need to reassemble the source files with the slight changes, plus altering the include file name in the header, and the fuse settings - but it's all VERY simple.
If you check my tutorials you will see that the 628 ones all include two lines commented as 'make it like an 84', these turn off the comparators.
As well as the 628 being a better spec, it's also cheaper!, plus it includes an internal 4MHz oscillator - saving you adding the external crystal and capacitors. This is why I choose it for my tutorials, it's so much easier to use than the 84 (and saves money!).