III.3 DOS Upload Utilities

The BOOT-51 package for DOS/Windows contains the utilities COMPORT.EXE, RESET51.EXE, and SLEEP.EXE, which are usually invoked by UPLOAD.BAT, but can also be used separately.

COMPORT

sets <baudrate> and data format of a PC serial <port>:

COMPORT <port> <baudrate> [<parity> [<databits> [<stopbits>]]]

Legal parameter values are:

<port>:        AUX, COM1, COM2, COM3, COM4
<baudrate>:  1.66 < baudrate < 121000
<parity>:  N, O, E, M, S (default: N)
<databits>:  5, 6, 7, 8 (default: 8)
<stopbits>:  1, 1.5, 2 (default: 1)

The port names AUX and COM1 are equivalent.
COMPORT allows to set very low, very high, and very odd baudrates, which can be generated by the 16C450 UART of the PC (and the 8051 board), but are not supported by the PC BIOS or the MS-DOS MODE command.
Baudrates that cannot be generated exactly are accepted as long as the deviation doesn't exceed 5.0 %. COMPORT displays the ”real” baudrate and the relative deviation (if any) from the nominal value.
The parity can optionally be set to N (none), O (odd), E (even), M (mark), or S (space). Furthermore, the data format can be set to 5, 6, 7, or 8 data bits, and 1, 1.5, or 2 stop bits.
Default settings are: no parity, 8 data bits and 1 stop bit.

Note:      only 6, 7 or 8 data bits may be combined with 1 or 2 stop bits.
5 data bits are only possible with 1.5 stop bits!

Example 1:      COMPORT COM4 12800
   
   Sets the serial port COM4 to 12800 Baud, no parity, 8 data bits, and 1 stop bit.

RESET51

forms a reset pulse of the duration <pulsewidth> at the D0 and D1 outputs of a PC printer <port>, or at the DTR output of a serial <port>:

RESET51 <port> [<pulsewidth>]

Legal <port> values are:        PRN, LPT1, LPT2, LPT3,
AUX, COM1, COM2, COM3, COM4,
NUL

PRN and LPT1 are equivalent, and so are AUX and COM1.
The optional parameter <pulsewidth> is the duration of the reset pulse in ms.
Legal values are:    1   <=   <pulsewidth>   <=   65535.    (default is 50)
When invoked without parameters, a help screen is displayed.
In case of error, RESET51 returns the ERRORLEVEL 1, 0 otherwise.
When executed, RESET51 forms a positive pulse at D0 (pin 2), and a negative pulse at D1 (pin 3) of a PC printer port, or a ”high” pulse (-12 V !!!) at the DTR output of a serial port respectively.
If the NUL device is specified as <port>, RESET51 delays only for <pulsewidth> ms.
If the default pulse width of 50 ms is too short to reset the MCS-51 board, specify a greater pulse width.

Example 2:      RESET51 LPT2 500
   
   Applies a reset signal to the D0 and D1 outputs of the printer port LPT2 for 500 ms.

RESET51 is running under MS-DOS, and in the DOS-Boxes of Windows 3.1x and 9x.
Windows ME does no longer provide a DOS-Box.
RESET51 is not running under Windows NT, 2000, and XP!

For batch file operation, a reset line is highly recommended! If you don't have it, you will always have to press the reset button of the target system, before invoking BOOT.BAT. Since this may easily be forgotten, it is better to automate this step.

SLEEP

waits until BOOT-51 has output <chars> characters of its sign-on message at a given <baudrate>:

SLEEP <baudrate> [<chars>]

SLEEP is a simple delay program, which is waiting as long as it takes to output <chars> characters with the specified <baudrate>. However, SLEEP takes into account, that BOOT-51 will never send more than one character per ms, even at very high baudrates.
The default value of <chars> is 70, which is slightly more than the total length of the BOOT-51 sign-on message.

Example 3:      SLEEP 300
   
   Waits until BOOT-51 has fully output its sign-on message at 300 Baud.