8051 Software Tools Overview
To develop your 8051-based project, you will need three PC-based
programs, and a development board with a monitor ROM. Here is
the typical data flow using these tools:
For each tool, there you may choose on of several options.
The basic tools are:
- Text Editor
This is where you will compose the code that ultimately will run
on your 8051 board and make you project function. All PC operating
systems include a text editor, and there are many free text editors
available on the internet. PJRC does not provide a text editor.
All Microsoft Windows systems have NOTEPAD, which is a very simple
editor. Linux systems usually have VI and EMACS installed, as
well as several others.
- Compiler or Assembler
Your source code will be turned into a .HEX file by either an
Assembler or Compiler, depending on your choice of programming
language. PJRC provides free downloads of the AS31 assembler
and SDCC C Compiler. These free tools are available for
. It is also
possible to use other compilers, such as the Keil C compiler.
- Terminal Emulator
To communicate with your 8051 board, you must run a terminal
emulator program. You will be able to transmit your .HEX
file to the board and run its code, observe its results and
information it may send to the serial port, and you can also use
the terminal emulator to examine and manipulate memory with
the Monitor ROM. Microsoft provides HyperTerminal with
windows (often it must be installed from the windows cdrom
using "add/remove programs"). Linux distributions usually
- Monitor ROM
The Monitor ROM is 8051 code that runs when your board boots.
It provides interactive menus that allow you to download code,
run it, manipulate memory and perform other functions. All
8051 development boards from PJRC come with
loaded in the non-erasable
internal memory of the 87C52 chip. Using the monitor, you can
cause your code to run on the board. It is also possible to
download your code to non-volatile memory on the board together
with a "auto-start header" that causes PAULMON2 to run your
code automatically when the board boots.