Difference between revisions of "8051"

From SEGGER Wiki
Jump to: navigation, search
m
m
Line 2: Line 2:
 
== Memory architecture ==
 
== Memory architecture ==
 
=== Internal RAM (IRAM) ===
 
=== Internal RAM (IRAM) ===
  +
=== Special fuction registers ===
 
=== External RAM (XRAM) ===
 
=== External RAM (XRAM) ===
  +
=== Program Memory (PMEM) ===
   
 
== Registers ==
 
== Registers ==
  +
The classic 8051 has the following registers:
  +
* PC - 16-bit Program Counter. Contains the address to read the next instruction from
  +
* A - Accumulator. 8-bit register used by most instructions. Memory mapped to 0xE0.
  +
* B - 8-bit registers used as extension to A for multiply and divide. Memory mapped to 0xF0.
  +
* SP - 8-bit Stack pointer.
  +
* DP - Data Pointer. 16-bit register used by instructions accessing PMEM and XRAM.Memory mapped to 0x82-83
  +
* PSW - Program Status Word. 8-bit register containing various flags.
  +
{| class="wikitable" border="1"
  +
|-
  +
! header 1
  +
! header 2
  +
! header 3
  +
|-
  +
| row 1, cell 1
  +
| row 1, cell 2
  +
| row 1, cell 3
  +
|-
  +
| row 2, cell 1
  +
| row 2, cell 2
  +
| row 2, cell 3
  +
|}
 
== Instruction set ==
 
== Instruction set ==

Revision as of 01:08, 4 June 2019

8051 is a term for Intel's MCS-51 single chip microcontroller (MCU). It was one of the first microcontrollers ever. The instruction set is still in use in a lot of modern designs. Modern implementations are usually "pipelined" and execute a single instruction in a single cycle, so they are much faster than the original design.

Memory architecture

Internal RAM (IRAM)

Special fuction registers

External RAM (XRAM)

Program Memory (PMEM)

Registers

The classic 8051 has the following registers:

  • PC - 16-bit Program Counter. Contains the address to read the next instruction from
  • A - Accumulator. 8-bit register used by most instructions. Memory mapped to 0xE0.
  • B - 8-bit registers used as extension to A for multiply and divide. Memory mapped to 0xF0.
  • SP - 8-bit Stack pointer.
  • DP - Data Pointer. 16-bit register used by instructions accessing PMEM and XRAM.Memory mapped to 0x82-83
  • PSW - Program Status Word. 8-bit register containing various flags.
header 1 header 2 header 3
row 1, cell 1 row 1, cell 2 row 1, cell 3
row 2, cell 1 row 2, cell 2 row 2, cell 3

Instruction set