8051 HARDWARE
ARCHITECTURE
Various Features
of 8051 microcontroller are given as follows
Introduction
The 8051 is an 8-bit,
low-power, high-performance microcontroller. There are a large number of
devices in the 8051 family with similar architecture and each member of the
family is downward compatible with each other. The basic 8051microcontroller has the
following features:
- 4 Kbytes of program memory
- 256*8 RAM data memory
- 32 programmable I/O lines
- Two 16-bit timer/counters
- Six interrupt sources
- Programmable serial UART port
- External memory interface
- Standard 40-pin package
Various Features of 8051 Microcontroller
Various Features
of 8051 microcontroller are given as follows
- 8-bit CPU
- 16-bit Program Counter
- 8-bit Processor Status Word (PSW)
- 8-bit Stack Pointer
- Internal RAM of 128bytes
- Special Function Registers (SFRs) of 128 bytes
- 32 I/O pins arranged as four 8-bit ports (P0 - P3)
- Two 16-bit timer/counters : T0 and T1
- Two external and three internal vectored interrupts
Pin out Description
Pins 1-8: Port 1
Each
of these pins can be configured as an input or an output.
Pin 9: RS A logic one on this pin disables
the microcontroller and clears the contents of most registers. In other words,
the positive voltage on this pin resets the microcontroller. By applying logic
zero to this pin, the program starts execution from the beginning.
Pins10-17: Port 3 Similar to port 1, each of these pins can serve as
general input or output. Besides, all of them have alternative functions.
Pin 10: RXD Serial asynchronous communication input or Serial
synchronous communication output.
Pin 11: TXD Serial asynchronous communication output or Serial
synchronous communication clock output.
Pin 12: INT0 Interrupt 0 input.
Pin 13: INT1 Interrupt 1 input.
Pin 14: T0 Counter 0 clock input.
Pin 15: T1 Counter 1 clock input.
Pin 16: WR Write to external (additional) RAM.
Pin 17: RD Read from external RAM.
Pin 18, 19: X2, X1 Internal oscillator input and output. A quartz
crystal which specifies operating frequency is usually connected to these pins.
Instead of it, miniature ceramics resonators can also be used for frequency
stability. Later versions of microcontrollers operate at a frequency of 0 Hz up
to over 50 Hz.
Pin 20: GND Ground.
Pin 21-28: Port 2 If there is no intention to use external memory then
these port pins are configured as general inputs/outputs. In case external
memory is used, the higher address byte, i.e. addresses A8-A15 will appear on
this port. Even though memory with capacity of 64Kb is not used, which means
that not all eight port bits are used for its addressing, the rest of them are
not available as inputs/outputs.
Pin 29: PSEN If external ROM is used for storing program then a
logic zero (0) appears on it every time the microcontroller reads a byte from
memory.
Pin 30: ALE Prior to reading from external memory, the
microcontroller puts the lower address byte (A0-A7) on P0 and activates the ALE
output. After receiving signal from the ALE pin, the external register (usually
74HCT373 or 74HCT375 add-on chip) memorizes the state of P0 and uses it as a
memory chip address. Immediately after that, the ALU pin is returned its
previous logic state and P0 is now used as a Data Bus. As seen, port data
multiplexing is performed by means of only one additional (and cheap)
integrated circuit. In other words, this port is used for both data and address
transmission.
Pin 31: EA By applying logic zero to this pin, P2 and P3 are
used for data and address transmission with no regard to whether there is
internal memory or not. It means that even there is a program written to the
microcontroller, it will not be executed. Instead, the program written to
external ROM will be executed. By applying logic one to the EA pin, the
microcontroller will use both memories, first internal then external (if
exists).
Pin 32-39: Port 0 Similar to P2, if external
memory is not used, these pins can be used as general inputs/outputs.
Otherwise, P0 is configured as address output (A0-A7) when the ALE pin is
driven high (1) or as data output (Data Bus) when the ALE pin is driven low
(0).
Pin 40: VCC +5V power supply.