Integrated Development Environment for 8051 Microcontrollers
Introduction Download Installation Sample programs
Project manager for Assembler and Pascal projects
MC-51 is an Integrated Development Environment (IDE) for the 8051 family of
microcontrollers (Siemens, Philips, Atmel, etc.).
The IDE contains:
ASEMW and Turbo51 are command line controlled programs. To compile sources MC-51 calls these programs with the adequate parameters. The output (especially the error messages) is displayed in the bottom port of the desktop window. Clicking on an error message will move the editor cursor directly to the line containing the error.
As there are many controllers in the 8051 family that differ in the structure of special funtion registers (SFR), you have to include the appropriate Assembler module (MCU file), resp. Pascal unit into your source code. The MC-51 package contains modules and units for many common microcontrollers of the 8051 family. When creating a new source file, the program will automatically insert the code into the text that is needed for the selected microcontroller type (see at upper right in the toolbar). On the other hand, when loading a source file from disk the used module is recognized automatically.
To communicate with a microcontroller experimentation board via the serial interface, MC-51 provides a terminal mode. The required parameters for the connection can be adjusted using the main menu. The microcontroller needs to be programmed with an appropriate monitor program (e.g. PAULMON).
The simulator lets you test small programs without any external hardware. It
contains all common debugging features (Run, Stop, Single step, Step over subroutine,
Run to selected line). You can execute the program step-by-step
or set breakpoints anywhere in the program. The simulator displays the source code
with program labels as well as the compiled hex code and the program addresses.
All registers and memory locations can be inspected and changed if desired.
Numbers may be displayed as hex, decimal or binary values.
The port connections are displayed as SFRs and as buttons with LED-like status display. Changing a bit is made just by clicking one of these buttons (only possible when the program to be tested set them as input). Further two timers and the serial port (output as displayed text and inmput from keyboard) are simulated. Interrupt controlling of these devices is possible. The two external interrupts can be triggered by dedicated buttons per mouse clicks. Controlling the priority of interrupts is not implemented. Symbol and opcode tables of family derivates can be loaded.
In terminal mode the screen is splitted into two windows: Data received from serial interface (upper part) and data to be sent to the microcontroller (lower part). If there is a monitor program like PAULMON installed in the microcontroller, hex files created by the assembler or the Pascal compiler may be downloaded into the microcontroller memory.
Furthermore MC-51 contains a module for flash programming of some Atmel microcontrollers (AT89S51/52 and AT89S8252/8253) using the serial interface. How to connect the serial port to the microcontroller can be taken from the description of the experimentation board.
The integrated text editor uses components from the open source project SynEdit. In addition to many extended editor functions, SynEdit supports syntax specific highlighting of source code. Most of these features can be individually adjusted by the user.
To make the software developement more efficient, it is recommended to move frequently used program parts into separate modules (include files for Assembler, units for Pascal). Mc-Tools can save all files belonging to a software project (main file and modules) and the optionally required compiler options into a file (see below). Loading a project from such a file will restore all files and settings automatically to the IDE.
Languages: English and German (additional languages possible)
Operating systems: Windows XP, Vista, 7, 8 and 10
Download: Vers. 5.9.2 (4,35 MB) released 2018-01-10 (Release notes):
The setup contains the program, default editor settings, the Turbo-51 compiler (Vers. 0.1.3.17), the Assembler ASEM-51 as well as modules and units for many microcontrollers of the 8051 family.
MC-51 is distributed as an executable Windows setup file (mc-setup-5.x.yy.exe, where x.yy represents the applicable version). You can install the program into any folder on your system (default: C:\Program Files\Mc-Tools). To do this, Administrator rights are required. Optionally shortcuts are created in the Windows start menu and on the desktop.
The following directory and file structure is created beneath the installation folder:
<Install directory> mc51.exe Program mc51.ini Default settings for the program mc51.key Keyboard settings for the integrated editor mc51-asm.hlt Preferences for syntax highlighting (Assembler)) mc51-pas.hlt Preferences for syntax highlighting (Pascal)) opcodes.mco List of 8051 opcodes for simulator 8051.mcu List of basic symbols for simulator notes-en.txt Brief instruction mcprojects.exe Project manager checkisp.exe Program to check a flash programmable Atmel microcontroller (e.g. AT89S8253) diffisp.exe Programm to check for differences of flashed programs <locale> Language specific files for Mc-51 (current: German) <Asem-51> Directory for Assembler AsemW.exe Assembler to use under Windows ... Some other programs and documentation <Mcu> Directory for modules (s.o.) *.mcu Modules for the different microcontrollers <Turbo-51\bin> Directory for Pascal compiler Turbo51.exe Pascal compiler <units> Directory for the units *.pas Units for the different microcontrollers
Starting MC51.EXE for the first time, all necessary settings (location of Assembler, Pascal compiler, etc.) will be made automatically by the program.
If an experimentation board is connected to the computer,
the connected serial port has to be selected prior to the first operation:
Depending on which monitor program you are using some more settings are required:
If you are using PAULMON as monitor program, you can leave all settings at the default values (9600 baud, 0 ms and 50 ms). After power on or a reset on the experimentation board having this monitor implemented, you have to strike once the enter key inside the terminal window to cause the microcontroller to adjust itself to the selected baud rate.
Having started the program via a desktop shortcut or having invoked it from another program , you can control it by setting the following command line options:
; comment /project:<project name> ; name of the project /options:-A -J -T /main:<mainfile> ; main file of the project <source1> ; source files <source2> ..