8051 consists of 8-bit and 16-bit registers. These registers can be accessed using software instructions, some of these registers are bit addressable and some are byte addressable.There are some special function registers used to perform specific task.
| Size | Address | Register Name | Type |
|---|---|---|---|
| 8-bit | E0* | A Register | Math Register |
| 8-bit | F0* | B Register | |
| 8-bit | B8* | IP | Interrupt Register |
| 8-bit | A8* | IE | |
| 8-bit | 89 | TMOD | Timer Control |
| 8-bit | 88* | TCON | |
| 8-bit | 8C | TH0 | Timer and control register |
| 8-bit | 8A | TL0 | |
| 8-bit | 8D | TH1 | |
| 8-bit | 8B | TL1 | |
| 8-bit | 98* | SCON | Serial Data registers |
| 8-bit | 99 | SBUFF | |
| 8-bit | 87 | PCON | |
| 8-bit | D0* | PSW | |
| 8-bit | 81 | SP | Stack Pointer |
| 8-bit | 83 | DPH | Data pointer |
| 8-bit | 82 | DPL | |
| 16-bit | No Address | PC | Port Register |
| 8-bit | 80* | P0 | |
| 8-bit | 90* | P1 | |
| 8-bit | A0* | P2 | |
| 8-bit | B0* | P3 |
*- bit addressable
- Accumulator A - It is a 8-bit register used to store results of arithmetic operations.
- B Register - It is an 8-bit register used to store results of multiplication and division and acts as temporary storage.
- IP Register - Interrupt Priority, it is a 8-bit register. It is used to set the priorities of interrupts in 8051.
- IE Register - Interrupt Enable, It is used to enable/disable interrupts in 8051, the lower four bits are used to enable/disable specific interrupts, whereas, the last bits are used to disable/enable all the interrupts.
- TMOD - Timer Mode, this fucntion is used to set the mode of timers into either 16 bit timer, 8bit auto reload timer, 13 bit timer.
- TCON - Timer Control, Used to configure and modify the timers to work in specific functionality. It is used to enable disable timer, timer or counter.
- Timer 0 and Timer 1 - These are used perform timing and counter operation.
- SCON - Serial Control, it has one serial port, it is used to configure propoerties such as Baud Rate of the serial communication.
- SBUF - Serial Buffer, used to receiver and transmit data to the serial port. The data written into SBUF register is transmitted to TX pin and data is read from RX pin.
- PCON - Power Control, this register control the various power modes of 8051, it can be put to sleep state to minimize power consumption.
- PSW - Program Status Word, stores the important bits of results of accumulator.
- SP - Stack Pointer, locate from where the next data is to be taken from Stack.
- DPTR - Data Pointer, used to access external RAM memory and program code memory.
- PC - Program counter, stores the address of programs next step.