Easy-Downloader V1.1 for ATMEL
Build your own a personal writer for
programming HEX code into Flash based microcontroller AT89C2051(2k) and
AT89C4051(4k). Simple hardware and Easy use software in DOS and Window version.
Single-side and double side PCB files included.Acrobat
files for PCB image.
IntroductionThe first version of the Easy-Downloader was designed in 1997 to
be used as a tool for my students on building her/his own
microcontrollers circuit in the class " Designing
Microprocessors System". The circuit features low-cost and
easy use. The latest version V1.1 was designed to be used with
2051 and the newest 4051 chips. There is no separated functions
like other programmer e.g., blank check, erase, write. Simply type
say, c:\..>ez hello , the hex file "hello.hex" will
then be programmed to the chip automatically. If the chip is not
blank or the code is locked, it will erase first, then write and
verify... that all.
HardwareFigure 1 depicts a circuit diagram of the Easy-Downloader. As
shown, the circuit uses a 89C2051 with writer.hex firmware,
74LS373 8-bit latch, DS275-like, 7805, LM317 and two transistors,
2N2222A and 2N2907A. The programming voltage control circuit is
the same as recommended by ATMEL application note. It can be
raised from 0V, 5V and 12V by appropriated signal from P3. The
8-bit latch, 74LS373 provides some signal for selecting the
programming modes. A byte to be programmed or read back is
sent/received through P1. Incrementing address is done by pulsing
a positive pulse to XTAL pin. The circuit may be built using
simple point-to-point soldering with a general purpose PCB( fish's
egg like PCB) or making PCB shown above, the file is
Protel PCB version 2.76. The finished board should be tested
without any chips; 1) +5V supply, 2) programming voltage 0V, 5V
and 12V by connecting the pin that control (P3.5 and D) 2N2222A
and 2N2907 to +5V and/or GND. The adapter output should be approx.
Figure 1: Circuit Diagram of Easy-Downloader
As suggested by a friend from Romania,
Puiu Chiselita, to provide PCB image in Acrobat file, so I have
asked my friend, Jaroon Keawkhrua. He made within an hour, thanks
again for providing us, the Acrobat PCB file.
Functional TestUse a given programmer (or ready made Easy-Downloader) write the
writer.hex into the 2051 chip. Put the programmed 2051 chip to the
board. Invoke any communication software with 9600 baud, 8-data
bit, no parity. Connect DB-9 to COM1, say, press enter key, the
title "Easy-Downloader V1.1 for ATMEL 89C2051/4051"
would be appeared on the screen. type >s2048 ( set byte counter
to 2k), then without the 2051 chip in ZIF, type >r (read 2kB),
on screen would show FFFFFFFFFFF... indicating corrected wiring
for P1. If you put the chip having already program inside, r
command will show the hex code with the number of byte set by s
command. Try e command to erase the entire program!! All done.
Figure 2 shows example of using Xtalk program to test the board.
Figure 2: Using Xtalk to test the board
Now try with "ez" the uploader program to help you more
easy to write the hex file to the chip. Example of using ez is
shown in Figure 3. Have fun...
Figure 3: Example of using EZ program
writes the writer.hex to 2051 chip
Figure 4: Example of Using EZ3 and
The EZ Uploader provides a
simple means of sending HEX file to the writer board. To connect
the board with EZ, click available COM port, COM1, say. After the
EZ recognizes the chips, then click Send Hexfile, that all. Since
there is no signature byte that indicates chip number and
programming voltage, thus you have to choose the appropriated
memory size either 2051 or 4051 manually, i.e., 2048 or 4096
HEX file extensionSome Assembler or Compiler produce output hex file with .OBJ
instead of .HEX. The EZ needs .HEX extension, just rename it...
Expensive ZIF SocketWithout expensive ZIF socket, you may use an ordinary socket
instead, surely many times of pulling the chips may cause the far
end leg of the 2051 chip broken. My student suggests me to insert
one more socket to the 2051 chip. It works very nice. Even the
programmer has ZIF, but your application board does not have.
Better to insert one socket to strengthen the 2051's leg.
DC AdapterAny DC adapters, fixed or adjustable can be used, a bridge diode
corrects polarity for the regulator IC eventually. Many adapters
provide higher DC output than the value labeled, to ensure, check
the proper programming voltage that must be in the range of 11.5
Putting Right PositionThe latest version does not include the protection circuit if
putting wrong position, i.e., GND-Vcc <--> Vcc-GND.
Thus before put the chip into the programmer or your
application board, back to see your thought, say I am putting the
2051 chip to the right position, then pick the chip, and place
89C1051There's no problem with 89C1051 chip but ensure that the hex code
must less than 1024 bytes (000H to 3FFH). While verifying after
erase it showed 0 to 2048 byte as the 2051 chip, it means twice
reading, i.e., 000H-3FFH then 000H-3FFH, the same physical
address. When programming, the control chip will write and verify
only the size of program.