The world of technology is abuzz with embedded systems that are basically computers implanted in a number of electronic devices, ranging from appliances to mobile phones. Every embedded system houses a vital component known as a microcontroller. Emphasizing input/output or I/O operations, various microcontrollers act as microprocessors to exert control on electronic devices by rendering essential switching, measuring and communicating with the world.
The year 1970 witnessed the emergence of the first generation of microcontrollers. These microprocessors were 8-bit devices and able to operate a program from internal Read-Only Memory (ROM) or external Electrically Erasable Programmable Read-Only Memory (EEPROM). The microcontroller that tops the popularity chart is Intel 8051. Though it was developed as early as 1980, it is the most popular architecture even today. It is surprising to know that manufacturers such as Atmel, NXP and Silicon Labs still employ the 8051 core for their microcontrollers.
Moving on, a standard 8051 microcontroller comprises components such as a Central Processing Unit (CPU) with a Boolean processor, 2 or 3 16-bit timer/counters, 5 or 6 interrupts, 32 I/O lines (i.e. four 8-bit ports), RAM, ROM/EPROM in some models, and programmable full-duplex serial ports.
The popularity of the 8051 has been kept intact due to its many advantages. The most notable advantage is the manner it controls interrupts. Interrupt routines have t be written in fixed 8-byte areas. As the majority of interrupt routines are or must be short, they can usually conform to the 8-byte area. As might be expected if your interrupt routine is lengthier, you can yet branch to the right routine from inside the 8-byte interrupt area. Another advantage of this microcontroller is the instruction set of 8051 is made optimal for the one-bit processes that are frequently required in real-time and real-world control applications. Its Boolean processor facilitates bit manipulation leading to more effective programs that require handling binary input and output situations implicit in digital-control.
Programming a microcontroller like 8051 or 8052 can be carried out using BASIC, C or Pascal. Each of these languages has their own positive and negative points. However, C language for microcontrollers is preferred by many. It is a compiled language that runs fast all the time. As it is a standardized language, it can easily be ported to various compilers or desired devices. There are plenty of C compilers available in the market. But, Keil IDE/compiler is very much in demand. This programming language also boasts numerous built-in functions depending upon the compiler. Last but not least, C for microcontrollers is applied in a large number of varying industries.
The difficulty in learning this language initially is the only disadvantage you may encounter. But, you can overcome this problem by going for an online embedded C tutorial on an 8051 or 8052.