Anda di halaman 1dari 4

Embedded Systems with 8051 Microcontrollers

Turbo51 - Free Pascal compiler for 8051 microcontrollers

Most of computer systems in use today are embedded in other machinery, such as vehicles,
mobile devices, appliances, and most of computer peripherals. These computers are called
embedded systems. An embedded system is a special-purpose computer system designed to
perform one or a few specialized functions, often with real-time computing constraints. It is
usually embedded as part of a complete device including hardware and mechanical parts. In
contrast, a general-purpose computer, such as a personal computer, can do many different
tasks depending on programming. Embedded systems control a lot of common devices in use
today.

While some embedded systems are very complex, many have minimal requirements for
memory and program length, with no operating system, and low software complexity. Typical
IO devices include switches, relays, solenoids, LEDs, small or custom OLED displays, RF
devices, and sensors for data such as temperature, atmospheric pressure, light level etc.
Embedded systems usually have no keyboard, large screen, disks, printers, or other
recognizable I/O devices of a PC, and may lack human IO devices of any kind

A key component in many embedded systems is a microcontroller. A microcontroller (also


MCU or uC) is a complete computer system-on-a-chip (SoC). It contains a processor core,
memory, and programmable IO peripherals. Microcontrollers include an integrated CPU,
memory (a small amount of RAM, FLASH program memory, or both) and peripherals capable
of input and output. Microcontrollers are used in automatically controlled products and
devices, such as automobile engine control systems, hand held devices, office machines,
appliances, mobile phones, and toys. By reducing the size, cost, and power consumption
compared to a design using a separate microprocessor, memory, and IO devices,
microcontrollers make it economical to electronically control many more processes. One of
the still very popular 8-bit microcontrollers is Intel 8051.

The 8051 core is a Harvard architecture, single chip microcontroller which was developed by
Intel in 1980 for use in embedded systems. Intel's original versions were widely used in the
1980s and also in 1990s, but has today largely been superseded by a vast range of faster
and functionally enhanced 8051-compatible devices manufactured by more than 25
independent manufacturers including Atmel, Infineon Technologies (formerly Siemens AG),
Maxim Integrated Products (via its Dallas Semiconductor subsidiary), NXP (formerly Philips
Semiconductor), Nuvoton (formerly Winbond), ST Microelectronics, Silabs (formerly Cygnal),
TI and Cypress Semiconductor. Intel's official designation for the 8051 family of
microcontrollers is MCS-51.

Many C compilers are available for the 8051 family, most of which feature extensions that
allow the programmer to specify where each variable should be stored in its 6 types of
memory, and provide access to 8051 specific hardware features such as the multiple register
banks and bit manipulation instructions. Other high level languages such as Pascal, BASIC,
Forth, PL/M and Modula 2 are available for the 8051 family, but they are less widely used
than C and assembler. In the world of embedded compilers C is almost a standard for
programming. There are many discussions on which programming language is better, in
particular between C and Pascal programmers. There is no clear winner.

C is a general-purpose, block structured, procedural, cross-platform, imperative computer


programming language developed in 1972 by Dennis Ritchie at the Bell Telephone
Laboratories for use with the Unix operating system. Although C was designed for
implementing operating systems and system software, it is also widely used for developing
application software. It is widely used on many different software platforms and computer
architectures, and several popular compilers exist. C has greatly influenced many other
popular programming languages, most in particular C++, which originally began as an
extension to C programming language.

Pascal is an influential, imperative and procedural programming language, designed by


Niklaus Wirth in late 1960s as a compact and efficient language intended to encourage good
programming techniques using so-called structured programming and data structuring. An
extension known as Object Pascal was designed for object oriented programming.

Until recently there was no practically usable and efficient Pascal compiler for the 8051 family
of microcontrollers. Now this has changed. There is Turbo51, a free Pascal compiler for the
8051 family of microcontrollers. If you like Pascal programming language and yoy are
programming for 8051 microcontrollers then you will find Turbo51 an excellent tool.

Turbo51 is a Win32 console optimizing compiler with Borland Turbo Pascal 7 syntax. It has
full floating point support, you can mix Pascal and assembly language using all register
banks. Advanced code generator and smart linker generate compact code in many formats:
binary (.bin), Intel HEX (.hex), OMF-51 (.omf), assembler source code (.asm). Source-level
debugging is also possible with extended object (OMF) file.

One of the most important strengths of Turbo51 are optimizations to generate compact code.
Turbo51 uses the following compiler optimizations: constant folding, dead code elimination,
branch elimination, integer arithmetic optimizations, loop-invariant code motion, code-block
reordering, loop inversion, induction variable elimination, instruction combining, instruction
selection, register allocation, common sub-expression elimination, peephole optimizations
and many more.

You can download Tubo51 (it is released as a freeware) and use it for hobby projects or
serious work. On the Turbo51 web page you will find documentation and code examples that
show the syntax, features and generated files. This should be enough to start a 8051 project
development with Turbo51. And if you are still missing something or have a problem you can
always ask author for help.

If you are already familiar with the 8051 assembly language programming you can start with
Turbo51 as 8051 assembly language compiler and then add some Pascal statements until
you become familiar with Turbo51 and Pascal syntax. A good approach is also to compile
some Pascal code and then check ASM file. This way you can learn 8051 instructions, get
some ideas on how to write effective code and become familiar with the compiler. Turbo51,
like many common C compilers for 8051, generates optimized code and supports source-
level debugging with OMF object file.
With Turbo51 you have a choice. You can choose between plethora of C compilers and
Turbo51 - a free Pascal compiler for 8051 microcontrollers.

Download Turbo51 - Pascal compiler for 8051 microcontrollers

Turbo51 was written by Igor Funa, a hobby programmer interested in embedded systems,
Pascal programming language, transmitting sites, broadcasting, DVB-T and computers in
general.

Anda mungkin juga menyukai