skip navigational linksPJRC
Shopping Cart Download Website
Home Products Teensy Blog Forum
You are here: 8051 Tools PAULMON Monitor Download Code

PJRC Store
8051 Board, $79
LCD 128x64 Pixel, $29
LCD 16x2 Char, $14
Serial Cable, $5
9 Volt Power, $6
More Components...
8051 Tools
Main Page
selected Download Code
Version 1
Development Board
Code Library
89C2051 Programmer
Other Resources

PAULMON2 Download

PAULMON2 is available as assembly language source code or ready-to-run binary object code. You can now download a copy directly from this web page. PAULMON2 is in the public domain. You may copy sections of code from PAULMON2 into your own programs, even for commercial purposes. It's good form to give credit where credit is due, but even that is not required. PAULMON2 comes with "no strings attached".

Need A Pre-Programmed Chip, No Problem

If you need a 87C52 chip pre-programmed with PAULMON2, you can buy the pre-programmed chip here.


There is documentation for PAULMON2 online.

New! Automatic baud rate detection code which attempts to avoid detecting the baud rate on characters other than the carriage return. Hopefully this will help prevent the situation where the board appears dead, only because some "garbage" appears on the serial line when a terminal emulation program starts up, ms windows has to be restarted (imagine that), or some other strange condition.

Memory editor can write to flash rom, page-up and page-down keys now work in memory editor, arrow keys work (more or less) during hex entry, cool cin_filter routine available in the jump table, new type of startup program to run before auto baud rate detection (see fix_baud.asm, also in a ZIP file), improvements in download and upload, fixed bug that would crash paulmon2 if a program was located on the last page in searchable memory, and several other minor improvements.

Grab the Assembly Language Source Code:

These asm files should be assembled with as31, which is also available for free.
  • paulmon21.asm - Source for PAULMON2 v2.1, core functions, assembles to only 4k
  • extra.asm - Extras Package, Disassembler, Single-Step Run, Fancy Memory Editor
  • - Both of these in a ZIP file.

Pick the Ready-To-Run Copy For Your Memory Configuration:

All of these obj files are ready-to-program Intel Hex format. Some EPROM programmer software defaults to binary format. You must select intel-hex before loading these files. They will appear too large (due to intel-hex ascii encoding, embedded address, checksum and other info) if your programmer loads them as binary format. For systems with only 4k of EPROM (87C51), these files will work if only the first half is used. No modification is necessary. Most EPROM programmers will either load the entire file and use only the first half, or only attempt to load the first half of the file if a 4k part is selected. Remember, you need to load them as intel-hex format.

For developing your own programs, the PAULMON2.EQU and PAULMON2.HDR files can be quite useful. They are also available in this ZIP archive for easier downloading. Documentation is now paritally on-line.

Original PAULMON2 Still Available

The original PAULMON2 supported a 28F256 Flash ROM, which is now an obsolete part... but the code is still available here, in case you have this chip.

New Features

Nearly everything has been rewritten and improved.
  • Version 2.1 changes Flash ROM support to 39F512. The older 28F256 is now and obsolete part.
  • Fits in either 4k or 8k. The disassembler, single-step execution, and fancy external memory editor are omitted for the 4k version.
  • Intel hex download checks for nearly every possible error.
  • Intel hex upload added.
  • Auto baud rate detection greatly improved. Initial tests show it reliably detects reload=255 (57600 baud w/ 11.0592 MHz crystal). This is the part which requires the most beta testing on various hardware.
  • Support for AMD 28F256 flash rom.
  • Program headers recognized to identify programs in memory.
  • Start-up programs run (useful with flash rom).
  • Externally installed commands.
  • New fancy external memory editor (uses vt100 terminal codes)
  • Single step execution greatly improved.
  • Several useful routines added (many are already available in my code library)
  • More configurable (before assembly).
Overall the level of quality in PAULMON2 is just much higher than the original PAULMON1 (which was really my first substantial 8051 program).


PAULMON2 is in the public domain. PAULMON2 is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.

PAULMON2, Paul Stoffregen
Last updated: February 24, 2005
Status: The PAULMON2 project is in (publically available) beta testing.
Suggestions, comments, bug reports??? <>