| |
 |
The 8051
|
|
|
|
| |
|
| |
|
| |
|
| |
So far we have been examining the way in which a
microprocessor executes instructions by reading them from ROM, decoding
them and carrying out the operations (with more reading of memory if
necessary). These concepts are the same for both microprocessor and
microcontroller systems. A microcontroller contains the CPU, ROM, RAM
and I/O ports all on the one chip. However, the address bus, data bus
and control bus connect these devices in the same way as in a
microprocessor system (in the microprocessor system the busses are
external while in the microcontroller they are internal). |
| |
|
| |
8051 Family |
| |
|
| |
The 8051 is just one of the MCS-51 family of
microcontrollers developed by Intel. The design of each of the MCS-51
microcontrollers are more or less the same. The differences between
each member of the family is the amount of on-chip memory and the
number of timers, as detailed in the table below. |
| |
|
| |
| Microcontroller |
On-chip Code Memory |
On-chip Data Memory |
Timers |
| 8051 |
4K ROM |
128 bytes |
2 |
| 8031 |
0 |
128 bytes |
2 |
| 8751 |
4K EPROM |
128 bytes |
2 |
| 8052 |
8K ROM |
256 bytes |
3 |
| 8032 |
0 |
256 bytes |
3 |
| 8752 |
8K EPROM |
256 bytes |
3 |
|
| |
|
| |
Each chip also contains: |
| |
- four 8-bit input/output (I/0) ports
- serial interface
- 64K external code memory space
- 64K external data memory space
- Boolean processor
- 210 bit-addressable locations
- 4us multiply/divide
|
| |
|
| |
|
| |
8051 Pinout |
| |
|
| |
|
| |
|
| |
The diagram above shows the 8051 pinout. The
chip is a 40-pin package. |
| |
|
| |
Port 0 - pins 32 to 39 make up the 8-bit
I/O port 0. However, if external memory is used, these lines are used
as a multiplexed address and data bus. |
| |
Port 1 - pins 1 to 8 make up the 8-bit
I/O port 1. |
| |
Port 2 - pins 21 to 28 make up the 8-bit
I/O port 2. However, if external memory is used, these lines make up
the high-byte of the external address (A8 to A15). |
| |
Port 3 - pins 10 to 17 make up the 8-bit
I/O port 3. However, each of these eight pins also has an alternate
function, as detailed in the table below. |
| |
|
| |
| Pin |
Name |
Bit Address |
Function |
| P3.0 |
RXD |
B0H |
Receive data for serial port |
| P3.1 |
TXD |
B1H |
Transmit data for serial port |
| P3.2 |
INT0-bar |
B2H |
External interrupt 0 |
| P3.3 |
INT1-bar |
B3H |
External interrupt 1 |
| P3.4 |
T0 |
B4H |
Timer/counter 0 external input |
| P3.5 |
T1 |
B5H |
Timer/counter 1 external input |
| P3.6 |
WR-bar |
B6H |
External data memory write strobe |
| P3.7 |
RD-bar |
B7H |
External data memory read strobe |
|
| |
|
| |
RST - the reset input is on pin 9. This
pin is used for resetting the 8051 (ie; loading the PC with the correct
startup value). |
| |
EA-bar - the external access, on pin 31,
is used for enabling or disabling the on-chip ROM. When tied high (5V),
the 8051 executes instructions in internal ROM when executing in the
lower 4K (8K for the 8052) of memory. If tied low the 8051 will always
execute instructions in external memory. The 8031 and 8032 should
always have pin 31 tied low as there is no internal code memory. |
| |
ALE - the address latch enable is on pin
30. The ALE is used for latching the low byte of the address into an
external register. We will deal with this at a later date. |
| |
PSEN-bar - the program store enable is an
output signal on pin 29. This signal is used for fetching instructions
from external code memory. We will also deal with this at a later date. |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
Copyright (c) 2005-2006 James Rogers
|