Easy-Downloader V2.1 for 89C51/89C52/89C55WD

Wichit Sirichote, kswichit@kmitl.ac.th

Simple modification the Easy programmer's hardware and firmware for 89C55WD.

I got many mail asking for modification the Easy-Downloader V2.0 for the 89C55WD. They told me that ATMEL stop production the 89C55. They make 89C55WD instead. Also a friend from Brazil sent me two 89C55WD. I think better modify the easy V2.0 for such chip. After reading ATMEL datasheet, I checked different between 89C55 and 89C55WD. Here is what I get.
1. address line A14 P3.0 P3.4
2. status line RDY/BSY P3.4 P3.0
3. mode select lines P2.6, P2.7, P3.6, P3.7 P2.6,P2.7,P3.3,P3.6,P3.7
4. minimum program pulse width 1us 200ns
5. minimum erase pulse width 10ms 200ns
6. Vdd during erasing +5V +6.5V
7. Vpp +12.5V +12.5V

Let get back study the Easy V2.0 schematic again.

Figure 1: Circuit Diagram of Easy-Downloader V2.0

Since the 89C51 and 89C52 do not use A14, thus for 89C55WD we can tie A14 that comes from P2.6 to pin 14. The 89C55WD uses pin 10 for RDY/BSY.  The mode selection needs more signal, i.e. P3.3 so I thought may be I can use P3.2 that used to be RDY/BSY for such signal, however doing this I will not have the status line to monitor while programming. May be I can try with software delay instead.

Here is the new schematic for Easy V2.1. Click at the image to get the complete schematic. We see that the modification is very simple, just cut pin 14 of ZIF and tie A14 signal to P3.4. I used P3.2 of master chip for mode selection P3.3 pin13 of ZIF, that's all. Everything remain the same as V2.0.

Figure 2: Schematic of Easy-Downloader V2.1 89C51/89C52/89C55WD

Figure 3 shows BOM or Bill of Materials for V2.1. Please note that the signal for serial port connected to DB9 connector requires the CABLE to be cross over between TxD and RxD. Such cable commonly known as null modem cable. It uses to connect two PC without the need of MODEM. U2 or master chip can be whatever chip having pins and software compatible to MCS51, say 89C51, 89C52, or 89S8252. R4 and R5 may not find easily, you may make it with two resistors series connected, say for R4 by using 2k + 150 Ohms.
Easy-Downloader V2.1 89C51/89C52/89C55WD  Revised: Sunday, August 18, 2002
          Revision: 1

Bill Of Materials         August 18,2002      11:52:03 Page1

Item Quantity Reference Part

1          2          C1,C2               30pF disc ceramic cap
2          6          C3,C7,C8,C10,C11,C12          10uF 10Vdc electrolytic cap
3         1           C4                    0.1uF disc ceramic, or mutilayer
4         1           C5                    1uF 16V electrolytic cap
5         1           C6                    100uF 25V electrolytic cap
6         1           C9                    10uF 10V electrolytic cap
7         1           D1                    1N4001 silicon rectifying diode
8         1           D2                     LED  small dot LED
9         1           J1                      DC input 
10      1           Q1                     2N2222 NPN transistor
11      1           R1                    10KX8  R pack
12      1           R2                    1k
13      1           R3                    250 Ohms
14      1           R4                    2150 Ohms
15      1           R5                   1150 Ohms
16      1           R6                    8.2k
17      1           R7                   10k
18      1           U1                    LM7805C/TO220 +5V Voltage regulator
19      1           U2                    AT89C51 4-k FLASH Microcontroller
20      1           U3                   40-pin Zero-Insertion-Force SOCKET
21      1           U4                   LM317/TO Adjustable linear regulator
22      1           U5                   MAX232A RS232 Level converter
23      1         VB1                  SUB-D 9,  for NULL MODEM CABLE
24      1           Y1                   11.0592MHz Crystal

Figure 3: Bill of Materials

Making the programmer board is easy with simple universal PCB or even on the breadboard. But the latter is just for testing not suitable for practical usage.

Before putting the chip into the board. Here is hardware check list.

1. Check the DC output from AC adapter, it should provide approx. +15V or higher.

2. Check the polarity of the DC jack, the center must be positive. I add D1 to protect wrong polarity.

3. Check Vcc-GND for U2, U3 and U5. It must be +5V.

4. Now check Vpp, measure at pin 31 of ZIF socket, it should be approx. +12.5V. Let tie P3.3 of master chip to +5V, the Vpp will then be approx. +5V. The value of R3, R4 and R5 are designed for such output.

5. Let ask someone to help program the EZ55.hex into the master chip, say 89C51.

6. Turn off the board power and put every chip to the PCB.

Before try with EZ4 we can check the EZ55 firmware and our board wiring by firmware check list below.

1. Run Hyperterminal with 9600 8n1 no flow control.

2. Connect the programmer board to COM1, say.

3. Before power up the programmer board, put a target chip to ZIF socket. Then turn on power.

4. Press ENTER key on PC, you must get,
Easy-Downloader V2.1 for ATMEL 89C51/52/55WD

5. Try with command 'g'

 found 89C55-12V
 nonblank 8659 bytes
 bytes counter 3484

6. Now try with EZ4.

Here's the beta version of firmware for master chip, EZ55.HEX and the source code file EZ55.C.

The source code was compiled with Dunfield Micro-C for 8051 release 3.2.


1. During erase the chip, ATMEL recommends to raise Vcc from +5V to +6.5V. I tested with +5V as 89C55, it works fine. However, if need such +6.5V, I'm thinking to raise the GND pin of 7805 with two silicon diodes (0.6X2), this would make the output of 7805 to approx., +6.2V. But the master chip doesn't have enough i/o to control it. So we may try supply both chips with +6.2V without the enable line! So far I haven't tested it yet.

2. EZ55 runs well under new PC software,EZ4

3. The signature byte of 89C55WD is located at 0x100. When the EZ4 connects the board, it will show found 89C55, the same as 89C55 put of ZIF. However A14 is now not tie to P3.0, instead to P3.4. So if you still have the 89C55, and need the programmer to program it, you may make a jumper to select between P3.0 and P3.4 for A14 signaling.

4. It is a good practice to put the target chip in/out while the programmer's board power turns off. And carefully put the right position, otherwise the target and master chips may dead.