2051 Serial Programmer Schematic

  1. Nov 28, 2003 - You are here: 8051 Tools 89C2051 Programmer Schematic, Search. Line is connected to the line driver for the programmer's serial transmit.
  2. I wanna to ask about AT89C2051 programmer. The AT89 'S' 2051 they allow for serial. For a serial programmer schematic thou i got one somewhere.

Atmel 89C2051 In-Circuit Programmer Circuit - Microcontroller Based Schematics, Projects, Tutorials - This is a 'beta release' schematic. Use at your own risk The idea is to add this circuitry to a board with already has ram at 2000 and an 82C55 I/O chip to provide ports A, B and C.

Active4 years, 10 months ago
$begingroup$

As you see in the figure, programming the 8051 through serial port DB9 connector should be a fairly easy taskConnect the two pins of 8051 to max 232 and then to DB9

So the programming circuit of 8051 should contain no more than 1 chip,some power sources,crystals,capacitors and one connector port.But when you search online for 8051 programmer circuit, they contain many chip like 89c2051 and whatnot.

Arduino Serial Programmer

Then why cant we program the 8051 using this simple circuit?

By 8051 i mean AT89S51/52.

SantoshSantosh
$endgroup$

Melabs Serial Programmer

1 Answer

$begingroup$

Fresh from the box these processors don't come with a bootloader so it doesn't 'know' anything about standard serial ports per se but it does have a serial programming mode. It is expecting an external shift clock (SCK) to move serial data to the input pin (MOSI) or to read data from the output pin (MISO).

To quote from the data sheet.

'Serial Programming Algorithm

To program and verify the AT89S51 in the serial programming mode, the following sequence is recommended:

  1. Power-up sequence:

    a. Apply power between VCC and GND pins.

    b. Set RST pin to “H”.

    If a crystal is not connected across pins XTAL1 and XTAL2, apply a 3 MHz to 33 MHz clock to XTAL1 pin and wait for at least 10 milliseconds.

  2. Enable serial programming by sending the Programming Enable serial instruction to pin MOSI/P1.5. The frequency of the shift clock supplied at pin SCK/P1.7 needs to be lessthan the CPU clock at XTAL1 divided by 16.
  3. The Code array is programmed one byte at a time in either the Byte or Page mode. Thewrite cycle is self-timed and typically takes less than 0.5 ms at 5V.
  4. Any memory location can be verified by using the Read instruction that returns the content at the selected address at serial output MISO/P1.6.15

  5. At the end of a programming session, RST can be set low to commence normal device operation.

Power-off sequence (if needed):

  1. Set XTAL1 to “L” (if a crystal is not used).
  2. Set RST to “L”.
  3. Turn VCC power off.
2051

Data Polling:

Pic Serial Programmer

The Data Polling feature is also available in the serial mode. In this mode, duringa write cycle an attempted read of the last byte written will result in the complement of the MSB of the serial output byte on MISO.'

JIm DeardenJIm Dearden
$endgroup$

Not the answer you're looking for? Browse other questions tagged programming8051 or ask your own question.

Programmer

Python & Arduino-based AT89C2051 programmer

Software requirements

  • Python3 with pip
  • Arduino IDE

Hardware requirements

  • Aruino UNO board
  • Optocoupler (strongly recommend MOSFET-pair output)
  • 12V nominal power supply (actual voltage required ~13.5V)
  • (recommended) ZIF socketThe schematic is included as schematic/schematic.pdf.

Flashing the programmer

  1. Open AT89_prog/AT89_prog.ino in Arduino IDE
  2. Flash onto the Arduino board

Installing the programmer software

  1. (recommended) Create a python virtualenv
    1. python3 -m venv venv
    2. . venv/bin/activate
  2. Install from PyPI pip install at89overlord

Programming

  1. Place chip in socket
  2. Connect the Arduino board to the computer
  3. Connect the 12V power supply
  4. On the computer run at89overlord -f PATH_TO_INTEL_HEX_FILE

Other functionality

Uusp-s (upa-usb Serial Programmer-s)

Run at89overlord -h for the full list of commands and flags

Upgrading from an older version

  • Check for changes in the schematic
  • Reflash the Arduino board
  • Reinstall the programming software

2051 Serial Programmer Schematics

Running on Windows

M68hc11 Serial Programmer

Melabs

It should be possible to use this programmer on Windows.

  • Install cygwin with python3 and pip
  • When running the at89overlord append -p COMn to the arguments list,where n is the number of Arduino board's serial port.