32-bit MCS-251 family of binary compatible microcontrollers. Fast interrupt pic microcontroller by mazidi pdf free download optional register bank switching. Interrupts and threads with selectable priority.
The main program then performs serial reads and writes simply by reading and writing 8-bit data to stacks. MCS-51 based microcontrollers have been adapted to extreme environments. In some engineering schools, the 8051 microcontroller is used in introductory microcontroller courses. 8051 is the original name by Intel with 4 KiB ROM and 128 byte RAM. Variants starting with 87 have a user programmable EPROM memory, sometimes UV erasable. Variants with a C as the third character are some kind of CMOS. 8031 and 8032 are ROM-less versions, with 128 and 256 bytes RAM.
The last digit can indicate memory size, e. 8052 with 8 KiB ROM, 87C54 16 KiB EPROM, and 87C58 with 32 KiB EPROM, all with 256 RAM. RAM, special function registers, program memory, and external data memory. Most 8051 systems respect this distinction, and so are unable to download and directly execute new programs. The strict Harvard architecture has the advantage of making such systems immune to most forms of malware, except those that reuse existing program code. 8-bit address space, allowed addresses 0 through 0xFF. IRAM from 0x00 to 0x7F can be accessed directly.
Most 8051 clones also have a full 256 bytes of IRAM. IRAM, at addresses 0x80 to 0xFF, and are accessed directly using the same instructions as for the lower half of IRAM. 64 KiB of read-only memory, starting at address 0 in a separate address space. It may be on- or off-chip, depending on the particular model of chip being used. Program memory is read-only, though some variants of the 8051 use on-chip flash memory and provide a method of re-programming the memory in-system or in-application. 2 KiB of program memory slightly smaller. 0, and allowing 16 bits of address space.
Many variants of the 8051 include the standard 256 bytes of IRAM plus a few KB of XRAM on the chip. The only register on an 8051 that is not memory-mapped is the 16-bit program counter PC. This specifies the address of the next instruction to execute. Relative branch instructions supply an 8-bit signed offset which is added to the PC. R7 may be accessed with instructions 1 byte shorter than others.
They are mapped to IRAM between 0x00 and 0x1F. Only 8 bytes of that range are used at any given time, determined by the two bank select bits in the PSW. This is an 8-bit register used by subroutine call and return instructions. SP is incremented before pushing, and decremented after popping a value. This is a 16-bit register that is used for accessing PMEM and XRAM. Set when addition produces a signed overflow.
The low-order bit of the register bank. Set when banks at 0x08 or 0x18 are in use. The high-order bit of the register bank. Set when banks at 0x10 or 0x18 are in use. Set when addition produces a carry from bit 3 to bit 4. Often used as the general register for bit computations, or the “Boolean accumulator”. This register is used by most instructions.