The Intel MCS-51 was developed by Intel in 1980 for embedded systems. Intel's original versions were popular in the 1980s and early 1990s. The binary compatible derivatives are still popular today though Intel no longer manufacture the MCS-51. In addition to these physical devices, several companies also offer MCS-51 derivatives as IP cores for use in FPGAs or ASICs designs.
The 8051 package includes :
8-bit ALU , Accumulator and 8-bit registers; hence it is an 8-bit microcontroller.
8-bit data bus , which can access 8 bits of data in one operation
16-bit address bus, It can access 216 memory locations-64KB (65536 locations) each of RAM and ROM.
On-chip RAM-128 bytes(data memory)
On-chip ROM-4 kByte(program memory)
Four byte bi-directional input/output port
UART(serial port )
Two 16-bit Counter/timer
Two-level interrupt priority
Power saving mode(on some derivatives)
The MCS-51 has four distinct types of memory-internal RAM, special function registers, program memory,and external data memory.
Intel RAM is located from address 0 to address 0xFF.IRAM from 0x00 to ox7F can be accessed directly, and the bytes from 0x20 to 0x2F are also bit-addressable. IRAM from 0x80 to 0xFF must be accessed indirectly, using the @R0 or @R1 syntax, with the address to access loaded in R0 or R1.
Special function registers (SFR) are located from address 0x80 to 0xFF, and are accessed directly using the same instructions as for the lower half of IRAM. Some of the SFR's are also bit-addressable.
Program memory (PMEM, though less common in usage than IRAM and XRAM) is located starting at address 0. It may be on-chip or off-chip, depending on the particular model of the chip. Programming 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. Aside from storing code, program memory can also store tables of constants that can be accessed by MOVC A,@DPTR, using the 16-bit special function register DPTR.
External data memory (XRAM) also starts at address 0.It can also be on-chip or off-chip. What makes it "external" is that it must be accessed using the MOVX (Move eXterbal) instruction.Many variants of the 8051 include the standard 256 bytes of IRAM plus a few KB of XRAM on the chip. If more XRAM is required by an application,the internal XRAM can be disables and all MOVX instructions will fetch from the external bus.
The MCS-51 instruction set offers several addressing modes, including
Direct register, using ACC(the accumulator ) and RO-R7
Direct memory, which access the internal RAM or the SFR'S ,depending on the address
Indirect memory, using R0, R1, or DPTR to hold the memory address. The instruction used may vary to access internal RAM, external RAM, or program memory.
Individual bits of a range of IRAM and some of the SFR'S.
The 8048, the predecessor of 8051, was used in the keyboard of the first IBM PC, where it converted keypresses into the serial data stream which is sent to the main unit of the computer. The 8048 and derives are still used today for basic model keyboards.
The 8031 was a cut down version of the original Intel 8051 that did not contain any internal program memory(ROM). To use this chip, external ROM had to be added containing the program that the 8031 would fetch and execute. An 8051 chip can be sold as a ROM-less 8031, as the 8051's internal ROM is disabled by the normal state of the EA pin in an 8031 -based design. A vendor might sell an 8051 as an 8031 for reasons such as faulty code in 8051's ROM, or simply an oversupply of 8051''s and undersupply of 8031's.
The 8052 was an enhanced version of the original 8051 that featured 256 bytes of internal RAM instead of 128 bytes, 8 KB of ROM instead of 4 KB, and a third 16-bit timer. The 8032 had these same features except for the internal ROM program memory. The 8052 and 8032 are largely considered to be obsolete because these features and more are included in nearly all modern 8051 based microcontrollers.
The 80c537 and 80c517are CMOS versions , designed for the automotive industry. Enhancements mostly are new peripheral features and expanded arithmetic instructions. The 80c517 has fail save mechanisms, analog signal processing facilities and timer capabilities and 8 KB on-chip program memory.
Today 8051 serials are usually used as sillicon intellectural property cores. Available in high-level language source code (VHDL or Verilog )or FPGA netlist forms, these cores are typically integrated within embedded systems, in products ranging from USB flash drives to washing machines to complex wireless communication systems on the chip. Designer use 8051 silicon IPcores, Because of the smaller size, and lower power,compared to 32 bit processors like ARM M series, MIPS and BA22. Modern 8051 cores are faster than earlier packaged versions. Design improvements have increased 8051 performance while retaining compatibility with the original MCS 51 instruction set. The original Intel 8051 ran at 12 clock cycles per machine cycle, and most instructions executed in one or two machine cycles. Atypical maximum clock frequency of 12 MHz meant these old 8051s could execute one million single-cycle instructions, Or 500,000 teo-cycle instructions, per second. In contrast , enhanced 8051 sillicon IP cores now run at one clock cycle per machine cycle, and have clock frequencies of up to 450 MHz. That means an 8051-compatible processor can now execute 450 million instructions per second.