The PIC 16F627 is a fairly good replacement device for the 16F84 as it has a
lot of usable built in peripherals but it has the same amount of program memory
as the 16F84 i.e. 1k. So if you are running out of memory space then I suggest
you use a 16F628 as it has twice the program
Note : You may be ok as the RAM is larger so the C compiler will have more room to manoeuver so try it out on the compiler first and simulate your program.
The 16F84 has 1 peripheral (Timer 0) whereas the PIC16F627 has:
(i.e. the same peripherals as the 16F628)
Another feature is that you can switch it from internal 4MHz to slow speed internal 37kHz on the fly so you can used it in power sensitive applications.
Its best feature is
This is nearly four times as much as the 16F84 and, for high level language use, this makes it much easier to use as it is the resource the you run out of most quickly.
Jump to bubble diagram device list.
For a peripheral block summary click here.
The 16F627 is only really missing an ADC and I2C capability but to use it effectively you are really going to have trouble with its limited program memory - the 16F628 or 16F88 are better choices.
Note : You may be ok as the RAM is larger so the C compiler will have more room to manoeuver so do try it out on the compiler first and simulate your program.
You could program I2C by soft coding in C (see this project) and you could use an external ADC but you will probably run out of program memory space.
Jump from PIC 16F627 resources to
Best Microcontroller Projects Home Page.
The Essential Guide to the 74HC595; What it is and how you can easily use one in any of your projects.
Which pic programmer do you need? This page discusses PIC programmers and gives some essential information on choosing or building your own programmer.
learn how to use Arduino pulseIn and pulseInLong to get the most accurate pulse measurement on an Arduino.
How to use Arduino millis() for deylays but still make the processor do work - Stop using delay()
This MCP23017 Interrupt tutorial shows you how to connect interrupt outputs from several MCP23017s to a single microcontroller interrupt pin.
Arduino Delay() is a useful function but not for large programs - Find Out Why Here...