Freeware 8052 microprocessor IDE
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
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.
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.
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.
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
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
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
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
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.
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.
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.
An Intel 8052 Basic computer with only 3 chips
I found two original P8052-Basic chips and that brought back good memories of the time mid 80ties of last century when I was working as head R&D embedded programmer and hardware designer for a small company and was using the 8031 processor a lot. I put these chips in my computer chips and cpu collection and one I kept aside to make a board to get it working again. I had a latch and a memory chip in my workshop, a PCB was also there, I only needed to order a few 11.0592 crystals as these are not so common anymore. After two evenings of wiring it was finally ready and I connected it to my VT100 terminal with the TTL serial input and after pressing the spacebar I got the prompt and I could write a small Basic program. On this page I will show you the schematic I made, some build instructions and some documentation and (source)code.
Goto: Intel 8052 Basic computer page.
The Intel MCS-48 family
The MCS-51 family succeeds the MCS-48 family, if you take a closer look at both you will see the resemblance. The architect of the Intel MCS-51 instruction set was John H. Wharton and Intel's original versions were very popular in the 1980s and early 1990s, and compatible derivatives remain popular up to today. It is an example of a CISC computer, but also has some of the features of RISC architectures, such as a large register set and separate memory spaces for program instructions and data. (Harvard architecture). On this page you can find all the information about the internals of the 8051 chip, the differnt types and some basic schematics of different configurations.
Goto: The Intel MCS-48 family page.
8052 links, tips and documents
Last update: 10-06-2022