post details Development-Tools | Micrcocontrollers-8051-89C51-89C52-AT89C51-AT89C52-89S51-89S52-AT89S51-AT89S52 | Emulators-Simulators-Assembler-Disassembler-Compiler-Debugger
Tutorials Development Tools For 8051 Microcontrollers


8051 Microcontroller Family Models & Introduction
Atmel, NXP, Philips, 8051, 8052, 89C51, 89C52, 89S51, 89s52, 89C1051, 89C1051, 89C2051, AT89C4051, AT89S8252,l AT89C1051, AT89C2051, AT89C4051,P89C51RB+, P89C51RC+, P89C51RD+, P89C51RB2Hxx, P89C51RC2Hxx, P89C51RD2Hxx, P89C660, P89C662, P89C664, P89C668, P89C669, P89C51RA2xx, P89C51RB2xx, P89C51RC2xx, P89C51RD2xx, P89C60X2, P89C61X2,P89LV51RB2, P89LV51RC2, P89LV51RD2, P89V51RB2, P89V51RC2, P89V51RD2, P89V660, P89V662, P89V664.
Introduction And Advantages Of 8051 Development Tools -
8051 Embedded System Development requires so many important tools to develop embedded 8051 microcontrollers based systems. Without these 8051 development tools we can not develop a single application. These important tools are 8051 Emulators, 8051 Simulators, 8051 Evaluation Kits, Training Boards 8051, 8051 Development Boards, Programming Languages, such as 8051 C-Compiler, Assembly Language,  8051 Assembler, 8051 Disassembler, 8051 Debuggers, 8051 BASIC and 8051 RTOS. Here in this tutorials we will discuss each tools extensively and deeply to understand the working and importance of development tools in the field of 8051 based embedded system development and testing. The tools are very essential part of the development lifecycle without we can not develop any 8051 based embedded systems. So important development tolls are emulators, simulators, assembler, disassembler, compiler, debugger. Here are two major and giant microcontroller manufacturer companies are Atmel, NXP formerly known Philips then their devices are 8051, 8052, 89C51, 89C52, 89S51, 89s52, 89C1051, 89C1051, 89C2051, AT89C4051, AT89S8252, AT89C1051, AT89C2051, AT89C4051,P89C51RB+, P89C51RC+, P89C51RD+, P89C51RB2Hxx, P89C51RC2Hxx, P89C51RD2Hxx, P89C660, P89C662, P89C664, P89C668, P89C669, P89C51RA2xx, P89C51RB2xx, P89C51RC2xx, P89C51RD2xx, P89C60X2, P89C61X2,P89LV51RB2, P89LV51RC2, P89LV51RD2, P89V51RB2, P89V51RC2, P89V51RD2, P89V660, P89V662, P89V664 and many more. So lets start discussing each and every tools here.
8051 Microcontroller Emulators :- 
Emulator is the system where the software runs into the real hardware and the results and aftermaths are seen into the computer using software. For emulating a special kind of adapter is used to connect host computer and target board. Embedded software runs into the hardware and the results and output can be seen into the pc using adapter.  An emulator in computing duplicates (provides an emulation of) the functions of one system using a different system, so that the second system behaves like (and appears to be) the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated.
8051 Microcontroller Simulators:-
Simulators are the kind of system softwares are used to run embedded application without the need of development hardware board. Before downloading the hex code into the microcontrollers first the application is run into the software called Simulators to test its input and output desired operations. For this important task there are  plenty of software simulators available into market commercial and non commercial. which simulates microcontroller working and operations without microcontroller device itself. Simulators does not have any connection with the target board or hardware board all operations and functions are executed into the software using PC. Simulators are capable of simulating not only arithmetic operations and functions but also I/O input output operations and even executing peripherals like timers, ADC, USART, I2C and so on.
8051 Microcontroller  Assembler:-
The job of the Assembler is to convert the text file into machine language object file computer understands the system machine language code. The 8051 Assembler accepts an assembly language coded source file created with a text editor and converts into into a machine language object file. The process of conversion takes place into two important steps which are compulsory. In the first step, the Assembler creates a symbol table from the symbols and labels used in the source file. In the second step the Assembler really converts the source file into the machine language object file and the completes the process.  There are three main assemblers in use today these are MASM, (Microsoft's Assembler), TASM (Borland's Turbo Assembler) and A86 Assembler. GNU public license and is freely available Assemblers are also available. 
8051 Microcontroller IDE Programming Language:-
For any software development and application development we need a another programming language or software to write applications. In  MCU 8051 based development we also need IDE is integrated development environment for 8051 microcontrollers. All Applications written for embedded systems like RTOS, system on chip requires a system software to write desired application this is called IDE. The highly used and recommended supported IDE programming languages are C and assembly languages. These languages have their own assemblers and other important utilities includes. Embedded C, Keil C are C language based IDEs. Keil C is an integrated applications software development systems for embedded development for 8051 microcontrollers, that runs on an Personal Computer/PC. Any IDE allows writing, compiling, assembling, debugging, downloading, and running applications software in the MCS-51 language. All C IDEs contains a C compiler, relative assembler, linker/locator, editor, chip simulator, assembly language debugger, and host-to-board communications in a user-friendly, menu-driven environment. 
8051 Microcontroller Disassembler:-
A Disassembler is a software which is used to convert machine language programme into assembly langauge into text format, in simple it is the reverse engineering of the embedded systems. It is the opposite of the Assembler. Assembler assembles the text file into machine language and Disassembler converts the machine language into assembly language so that file can be read easily. While developing the source code file we use constants, symbols and programmer comments. While assembling these are removed from the assembled machine code by the assembler. So it is difficult for the human being to understand the given code into the assembly language because all the comments and symbols are removed from the file. So disassembled result becomes more difficult for a human to interpret than the original annotated source code. In simple Disassembler is a computer program which converts executable machine code into assembly language into text for in readable form. An assembler converts assembly language to machine code and a disassembler reverses this process. A disassembler can help you to figure out how a program works, which can be the first step in changing how that program works.  
8051 Microcontroller Compiler:-
Computer / Embedded Systems understands its own language called machine language or machine code. To write programmes for the microcontroller based system we need to write programme in such a way that microcontroller of computer should understand the same and act according to the desired result. So a compiler is used to write a program into the simple language written by human beings and then converts that programme into machine language or code so that machine or computer should understand that. A compiler is an intermediate system developed for the systems to program between human friendly language like English and machine language, that translate or converts High level language to Machine language (codes) so that computer understands and executes its instruction. This helps Programmers to write different programs in high level Lang which can perform any task. Example of High level languages are, Java, Pascal, C, C++ etc. So  compiler is a system software that converts or translates a source program written in some high-level programming language (such as Java) into machine code for some computer architecture. The generated machine code can be later executed many times against different data each time. A basic compiler has the 8051 Compiler, Assembler, Simulator for the 8051, including the latest release of popular Windows IDE (WIDE 3) is the tool of choice for 8051 embedded system development. 
8051 Microcontroller Debugger:-
A debugger is a debugging tool for 8051 microcontroller basically a software that is used to run and test the programme developed for embedded system. Debugging is the process in software development where we can stop a running programme to check for certain task. We can halt the running application at somewhere where we need to check the condition if occurs. So it is very slower than the original one is running into the real time. Its is a special software which is developed to check the bugs of the running system before it should be loaded into the targeted board. A special program used to find  bugs  in other programs. A debugger gives the freedom to the developer to stop it and and examine and change the values of variables. As an example the µVision Debugger from Keil supports simulation using only your PC or laptop, and debugging using your target system and a debugger interface. µVision includes traditional features like simple and complex breakpoints, watch windows, and execution control as well as sophisticated features like trace capture, execution profiler, code coverage, and logic analyzer.