Is the 16F84 too old for your electronic projects?
If you don't know what a 16F84 is then you have never heard of Microchip(R) - a firm that creates remarkable stand alone microcontrollers. A microcontroller is simply a very small computer but unlike accepted computing systems all is contained within the expedient itself. There are no external peripherals such as Ram, Eprom, I/O devices.
If you are looking for an easy way to generate your own projects then microcontrollers fit the bill because they:
- Are very Small (some have 8 pins and even smaller have 5).
- Have many internal peripherals.
- Are based on reprogrammable internal memory
- Have built in timers.
- Have internal Ram.
In short they are ideal for controlling your projects -- all you have to do is program them.
This is one of the spectacular advantages over doing discrete designs since if you make a mistake in a discrete invent you will have to debug and re-wire. With a microcontroller you can just re-program the expedient in circuit (having simulated the code to outline out the mistake first).
Even best is the fact that you can make industrialized projects, because internally the peripherals operate quite fast e.g. You could generate a 50Mhz frequency counter using no external components (except a display).
Languages
In fact you can program them in many different languages but the most beloved is motor code. The infer for it's popularity is the fact that MicroChip(R) created all the tools requisite for amelioration of a motor code program for free so you will find many many examples of accumulator code on the internet.
Personally I don't like motor coding in accumulator (although I can use it if needed e.g. For speed) because it takes a huge whole of time compared to using a high level language. In fact I would say it takes 10 times as long with assembler. Also accumulator is a totally unstructured language; meaning that it is very hard to profess i.e. If you want to add a module then you probably have to enumerate the whole of the code whereas with a high level language areas of code are protected rescue you from development mistakes.
Microchip has released many hundreds of different devices (now vastly improved over the 16F84) but the basic doing of each one is based on the customary invent and even if you only studied the customary 16F84 (Ok there was a 16C84) you would have a pretty good idea of how all of the range of devices work.
That is the great power of the MicroChip(R) devices i.e. You learn something using one expedient and you are adding to your knowledge for the whole range - for instance to program a 12F675, 16F84, 16F88 or 16F877 you need to know only about Icsp because that interface is shared across the whole range. This means your studying curve is greatly reduced.
Of procedure there are some specialized peripherals that are for pro developers such as driving the pins of a dedicated Lcd but you only need to incorporate on the accepted peripherals (good examples are in the 12F675, 16F88, 16F628 and 16F877).
Peripherals
In fact there are about 15 accepted internal peripherals for the contemporary (16F range) expedient whereas the 16F84 has only one.
This is why I believe that the 16F84 has had a good running but it's now time to say goodbye to it. Other reasons for this are that it has a quarter the memory size of a 16F88 and now costs about 5 times as much.
Note The 16F88 and 16F628 borrow heavily from the 16F84 even having the same pinout so you won't have any issue if you are already used to a 16F84.
Summary
The 16F84 is probably too old for serious invent because there are newer (backwards compatible) devices that will allow you to generate far more capable projects.
Is the Pic 16F84 Dead? - The Most favorite Microcontroller Of All TimeValencia CF News Blog Steven Gerrard FC News Blog Homemade Air Conditioning