The 8051 is an
8 bit microcontroller made by
intel. It's been around since just slightly after the last
ice age. It is also one of the most common controllers around. In fact, there is probably one within 6 inches of your hands right now ... yes, in your
keyboard. Of course, they've probably found
cheaper alternatives by now, though up through the 90's 8051's had a
stranglehold on the market.
The 8051 is a
Harvard Architecture chip, meaning it expects separate
code and
data memory spaces. The 8051 has 4K (
IIRC) of internal
PROM for code, but can also use an
external program store. It
accesses that store as well as up to 64K of external
RAM on a 16 line bus. The lower 8
address bits are
multiplexed with the
data in order to save pins, so an external
latch like a
74LS373 is required.
The 8051 features two internal
timers, an internal
UART, and two external
interrupts, for a grand total of 5 interrupts. They are all maskable with two
interrupt priority levels. Though it can be
hacked to do so with relative ease, the 8051 does not have native
memory mapped IO. It is also lacking
BUSREQ and
BUSACK pins, so
DMA would be a dangerous proposition.
One thing about the 8051 is that because it's
so damned cool, lots of
universities use it to teach about
microprocessors ... and not surprisingly, lots of recent
EECS grads know how to program 8051's and nothing else. This creates somewhat of a "
If the only tool you have is a hammer, then everything looks like a nail" type situation.
The 8051 has two close relatives: the
8031, which has no internal code memory, and the
8751, which has internal EPROM code memory. There are also
millions of 8051 copies made by other companies, many of which feature niceties like internal
ADC's and such.
8051 fun facts:
* The reason 8051's often have funny
crystal frequencies like 3.6864
MHz or 11.0592
MHz is that those can be neatly divided into popular
baud rates like 19200 or 57600 for the internal
UART
* Features
assembly code mnemonics ORL and
ANL.