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 business that creates powerful stand alone microcontrollers. A microcontroller is naturally a very small computer but unlike acceptable computing systems all things is contained within the device itself. There are no external peripherals such as Ram, Eprom, I/O devices.
If you are finding 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 schedule them.
This is one of the spectacular advantages over doing assorted designs since if you make a mistake in a assorted make you will have to debug and re-wire. With a microcontroller you can just re-program the device in circuit (having simulated the code to outline out the mistake first).
Even good is the fact that you can make developed projects, because internally the peripherals control quite fast e.g. You could generate a 50Mhz frequency counter using no external components (except a display).
Languages
In fact you can schedule them in many distinct languages but the most favorite is engine code. The reckon for it's popularity is the fact that MicroChip(R) created all the tools needful for improvement of a engine code schedule for free so you will find many many examples of assembler code on the internet.
Personally I don't like engine coding in assembler (although I can use it if needed e.g. For speed) because it takes a huge estimate of time compared to using a high level language. In fact I would say it takes 10 times as long with assembler. Also assembler is a totally unstructured language; meaning that it is very hard to enounce i.e. If you want to add a module then you probably have to narrate the whole of the code whereas with a high level language areas of code are protected recovery you from production mistakes.
Microchip has released many hundreds of distinct devices (now vastly improved over the 16F84) but the basal performance of each one is based on the original make and even if you only studied the original 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 device and you are adding to your knowledge for the whole range - for instance to schedule 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 policy there are some specialized peripherals that are for expert developers such as driving the pins of a dedicated Lcd but you only need to join on the acceptable peripherals (good examples are in the 12F675, 16F88, 16F628 and 16F877).
Peripherals
In fact there are about 15 acceptable internal peripherals for the modern (16F range) device 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 problem if you are already used to a 16F84.
Summary
The 16F84 is probably too old for serious make because there are newer (backwards compatible) devices that will allow you to generate far more capable projects.
Is the Pic 16F84 Dead? - The Most beloved Microcontroller Of All TimeNatural Gas Compressor Home Made Baby Shower Invitations Ductless Air Conditioner