Freeware 8052 microprocessor IDE

download link This is a page about my freeware 8052 IDE program which is an editor / emulator / debugger / assembler / disassembler for the 8052 all in one portable Windows executable. Many years ago when I was programming the 8052 professionally and at home, tools were very expensive. There was not much freeware or opensource, but trough my employer I had most of the tools I needed. I wrote a lot of programs in 8052 assembler in 8052 assembler and PL/M, but I also learned to write in C and I had a good C compiler for the 8052. The 8052 was a genius design for its time and its funny that this processor is still used a lot. For development and debugging 8052 assembler code, this freeware IDE can be used.
Regards, Hein Pragt.

I also have a Facebook Group on Retro Computing and Electronics, feel frtee to join!

8052 workbensch editor / emulator / debugger

8052 workbench IDE

To be able to program for the 8052 you need an assembler or compiler. I personally still like to write in 8052 assembler but I could no longer find tools for Windows 10. There were still some programs to download but most of them worked at DOS level, had serious bugs or did not fit my needs. After some searching I decided that it was time for a new project, building a complete integrated 8052 development environment. I found a pretty good assembler and the base code of my Z80 IDE and I had some olde code in my code library. The result is 8052 workbench, a portable x64 Windows program that includes an editor, assembler, disassembler, emulator, single step debugger, Intel hex read / write function a VT100 terminal window, a seven segment display with 8 LEDs and keyboard support.

Installation

Download the zip file and unzip it at the place where you want to install it on your hard drive. Then create a shortcut to the program to the desktop and the program is ready for use. It is a so-called portable program which means that it does not use external sources or libraries and does not use the registry. After removing the directory from this program, it has also disappeared completely from your system.

First time use

To practice there is an example4.asm file in the example directory, which you can load after which it will be in the shown in the middle edit window. Now you can convert this into machine code by means of the assemble button, this will appear on the left of the screen and be put into the virtual memory of the emulator. The last (or first) .org statement will also be put in the program counter and by simply pressing the run button you can execute the program and follow it on the screen. This will not be very fast because every instruction will perform a screen update of all registers. If you want the program to run faster, you can disable the update of the registry block by means of the update checkbox. You can now modify the program, reassemble it and run it again.

In de example directory there are also two 8052 Basic versions from Intel that will run fine in this IDE emulator. After the assembler and RUN hit the spacebar (just as in the ariginal autobaud detect) and the prompt will be shown.

There are more example files, a lot of them I made mysef when testing the IDE and some I found on the Internet and are free to use.

By means of the step button you can execute the program instruction by instruction and check the output and the registers. You can also enter the break address, the emulator will then stop at a run command at this address and display the registers of that moment. When 0000 is entered in the break field it will be ignored.

You can save the modified code as an asm file again but also save it as a hex file so that you can load the binary code in a circuit or ep(rom) for a real 8052 circuit. You can also read an Intel-Hex file, which will then be loaded into the internal emulator memory. You can also run tis code when you put the correct start address in the program counter. You can also disassemble this internal emulator memory code after which the source code will appears in the edit screen in the middle. This can then be changed and written back into the emulator memory by means of assemble button.

I/O map

The 8052 has no I/O space so the LEDS and seven segment display are mapped on port 1 and 2. You can put the leds on port 1 or 2 and the display on lines port 1 or 2 and character port 1 of 2. You can select this with the top menu, or with some extra assembler directives I added. Look in the example files to see how they work.

  • The keyboard is send to the serial buffer of the 8052 (SBUF) and the display is also connected to the serial (SBUF) of the 8052. I also pulse the character on the RX pin to enable autobaud detect and simulate the hardware as good as possible.
  • Interrup lines are connected to the interrupt buttons at the top of the screen, when pushed they will activate the interrupt lines.
  • The output ports are shown at the top as input values and output values, they can be modified to test input / output code.

LED I/O modes

In led I/O mode 1 the leds are connected to port 1 and a 1 on the port makes the led light up, directive is ;#LED1

8052 leds on port1

In led I/O mode 2 the leds are connected to port 2 and a 1 on the port makes the led light up, directive is ;#LED2

8052 leds on port2

Seven segment display modes

In Seven segment mode 1 the leds are connected to port 1 is select of segment and port 2 is display data. The data is latched so the displays keep their value even if they are no longer selected. Directive is ;#SEVEN12

8052 seven segments 1

In Seven segment mode 2 the leds are connected to port 2 is select of segment and port 1 is display data. The data is latched so the displays keep their value even if they are no longer selected. Directive is ;#SEVEN21

8052 seven segments 2

Interrupt pins configuration

The I0, I1 and I2 buttons ar the top of the screen are connected to the interrupt lines to simulate external interrupts.

8052 interuupts


Version 1.02

The Z80 IDE workbench I released is very successful and so I decided to also make a complete development suite for the AVR 51 processors. I have used these processors a lot in the past an recently I rediscovered this wonderful microcontroller again. The 8052 IDE workbench is based on the code of the Z80 workbench and shares a lot of code. The layout and features are also mostly the same, it is an editor, assembler, disassembler, emulator and hardware simulator in one. This is the initial release and it could contain some minor bugs, I will fix these in the next release.

Download

Here you can download the latest version if this IDE. This download is a zip file containing a portable x64 (and a x32 version) Windows exe programs, an assembler directory and a examples directory. This is the initial release, after weeks of debugging I think the project is ready for relase, if you find any bugs please report them to me.

Download x64 (and x32) version 1.02 of 8052_workbench102.zip (2022)

  • Version 1.02
    • Fixed a last minute change error in the terminal code that made keyboard not respond.
    • Fixed the name of the example directory.
    • Fixed a unwanted quote charcter in exampkle4.asm.

  • Version 1.01
    • Initial release, it might be not completly bug free, I will test on, wait for remarks amd release the next version soon.



8052 links, tips and documents

Last update: 10-06-2022


Disclaimer: All pages on this Web site are copyrighted by Hein Pragt, unless otherwise noted. I strive for accuracy but cannot be held responsible for any errors in the content. For questions about the content of this site or persmission to copy you can contact me at: (email: heinpragt@outlook.com). Heinpragt.com is registered under KvK number: 73839426.