8051 Microcontrollers |
The 8051 family of microcontrollers is one of the oldest 8-bit microcontrollers that survived more than 30 years. It was developed by Intel in late 1970. The instruction-compatible core is still used today in many microcontrollers form Atmel, Silabs, NXP, and many other microcontroller manufacturers. The 8051 microcontroller is also implemented as soft core in many embedded systems. One of the reasons for such popularity of the 8051 family of microcontrollers is availability of many excellent development tools and compilers in particular. Keil is probably one of the most respectable companies that made many great C compilers and other commercial development tools for 8051 microcontrollers. There is also SDCC, a free C compiler for 8051 family. And for those who prefer Pascal programming language and work with 8051 microcontrollers there is Turbo51, a free Pascal compiler for 8051. There are also many assemblers, ASEM-51 is one of them.
The 8051 family of microcontrollers contains an 8-bit Harvard architecture core with four 8-bit I/O ports, 8 general purpose registers, 256 bytes of internal RAM, two timers/counters, UART, six basic interrupts and interface for 64 KB of external memory. There are also 4 register banks and direct access to bits in some bit-addressable registers. 8052 is an enhanced version of 8051 with one more timer, a second UART and 128 bytes of additional indirectly accessible internal RAM.
Most 8051 microcontrollers have from 2K to 64K Flash code memory and can easily be programmed either with dedicated programmer or in a universal EEPROM/microcontroller programmer.
Because the 8051 core is so popular it is also used in many SoC projects. It is very likely that many gadgets, kitchen appliances or industial electronic devices contain a 8051 microcontroller core.
8051 microcontrollers are frequently used in hobby projects, There are many cheap versions with small pin number like the Atmel AT89C2051. 8051 projects are popular because the 8051 is a well known and supported microcontroller core with plethora of high quality development tools. Even for beginners it is not so hard to learn 8051 assembly instructions or to compiler a simple project with C compiler.
This is a short 8051 code snippet to get an impression about 8051 instructions.
Init_EEPROM_ModuleData: |