Todays sophisticated computers are developed as embedded systems so that they can be complimentarily used in mobile devices and electronic appliances. The microcontroller turns out to be the key element in an embedded system. Actually a microcontroller is a microprocessor giving more emphasis on the input & output operations. It controls the operation of electronic devices by giving them access to communication, measurements and switching information. Thus a microcontroller is regarded as a device controller. Intels 8051 microcontroller is among the oldest members of the microcontroller family, yet is very popular among users. Technical analysts attribute its popularity to its amazing architecture. Some of the reputed computer manufacturers like NXP, Silicon Labs & Atmel are still using 8051 microcontroller as the basis of their microcontrollers.
The 8051 microcontroller has a complicated memory structure that requires special software instructions to access it segment wise. Therefore special kind of compliers needs to be designed to make the memory accessible. Since the 8051 microcontroller is widely used in IT industry & many projects as well, companies have created their own 8051 microcontroller compatible compilers. As a result various kinds of embedded C programming compilers for 8051 microcontrollers are available in the market. Most of them are offered as part of a package along with debugger, simulator & integrated development environment (IDE). The Keil IDE/compiler is one such popular variety. Similarly SDCC (Small Device C Compiler) is a free & popular compiler that is found compatible with Zilog Z80, Motorola 68HC08, Maxim 80DS390 & Intel 8051 microcontrollers. The open source software code of SDCC is distributed under the guidelines of GNU General Public License.
Though pascal language is rarely used in embedded C programming, a few special Pascal compliers are available for the 8051 microcontroller. The Turbo51 & KSC Pascal51 are good examples of commercial Pascal compilers. Turbo51 is a free complier based on fast single pass & advanced multi-pass optimizing technology & using syntax of Borland Turbo Pascal 7.
While there are not enough options in basic or Pascal compilers, the C compilers are available in abundance. Users are facing difficulty in finding good quality basic or Pascal compilers for 8051 programming. The chief function of the compilers is the code they produce which should be optimized well to enhance the speed & size. However it is not the programming language in compilers which decide the size of the program codes for achieving specific tasks in 8051 programming. Either Pascal or C can be used to generate an optimized & compact code. It is the programmers preference on which platform he/she will feel comfortable working in.