2051 Programmer

Easy-DownloaderV1.1 forATMEL 89C2051/4051
Wichit Sirichote, kswichit@kmitl.ac.th
  1. 2021 Programming Language Popularity
  2. 2021 Programming Ideas

ARC433 Software CD Note: This product is non-returnable for credit PC software for programming the RadioShack PRO433, PRO528 and PRO-2051. Downloads and CD's sold separately.

Build your own a personal writer forprogramming HEX code into Flash based microcontroller AT89C2051(2k) andAT89C4051(4k). Simple hardware and Easy use software in DOS and Windowversion. Single-side and double side PCB files included.sourcecode with sdcc version!

  1. Parallel Printer port 2051 programmer. This new schematic shown at the bottom of this page is the basis of DT206, a new 2' SimmStick board, which mates with the DT004 Printer Port front end. 31-Mar-1999 It has been found that the AT89C4051 chip can't be programmed with the.
  2. The scanner automatically goes into the wired programming mode. PGM and WirEd appear. Page 76: Cloning Your Scanner You can clone all the frequencies, trunking talk groups, and fl eet maps programmed in your PRO-2051 to another PRO-2051 using an optional interface cable and software (available at your local RadioShack or www.radioshack.com).
  3. 89C2051 Programmer Peter Dannegger provides a 2051 programmer with protection against misinsertion circuit. If you have a problem, comment, bug report, or suggestion concerning the use of Easy-Downloader please contact the author via e-mail address shown above.

Introduction

The first version of the Easy-Downloaderwas designed in 1997 to be used as a tool for my students on building her/hisown microcontrollers circuit in the class ' Designing Microprocessors System'.The circuit features low-cost and easy use. The latest version V1.1 wasdesigned to be used with 2051 and the newest 4051 chips. There is no separatefunctions like other programmer e.g., blank check, erase, write. Simplytype say, c:..>ez hello , the hex file 'hello.hex' will then be programmedto the chip automatically. If the chip is not blank or the code is locked,it will erase first, then write and verify... that all.

Hardware

2021 programming ideasFigure 1 shows a circuit diagramof the Easy-Downloader. As shown, the circuit uses a 89C2051 with writer.hexfirmware, 74LS373 8-bit latch, DS275-like, 7805, LM317 and two transistors,2N2222A and 2N2907A. The programming voltage control circuit is the sameas recommended by ATMEL application note. It can be raised from 0V, 5Vand 12V by appropriated signal from P3. The 8-bit latch, 74LS373 providessome signal for selecting the programming modes. A byte to be programmedor read back is sent/received through P1. Incrementing address is doneby pulsing a positive pulse to XTAL pin. The circuit may be built usingsimple point-to-point soldering with a general purpose PCB( fish's egglike PCB) or making PCB shown above, the file is Easy-v1.pcbProtel PCB version 2.76. The finished board should be tested without anychips; 1) +5V supply, 2) programming voltage 0V, 5V and 12V by connectingthe pin that control (P3.5 and D) 2N2222A and 2N2907 to +5V and/or GND.The adapter output should be approx. 15Vdc 100mA.

Figure1: Circuit Diagram of Easy-Downloader V1.1
AcrobatPCB Files

Assuggested by a friend from Romania, Puiu Chiselita, to provide PCB imagein Acrobat file, so I have asked my friend, Jaroon Keawkhrua. He made withinan hour, thanks again for providing us, the Acrobat PCB file.

TOPLAYER (80kB) /annuaire/montages/cache/2502/easy-v2t.pdf
BOTTOMLAYER (36kB) /annuaire/montages/cache/2502/easy-v2b.pdf
COMPONENTLAYER (51kB) /annuaire/montages/cache/2502/easy-v2o.pdf

Software

Two files that you shouldget are: writer.hex 4,871 bytes, the intelhex file firmware for 89C2051 chip ( the actual code size is 2021 bytes)and, ez.exe 20,800 bytes the uploader programrun on PC, send hex file to the downloader. The original writer.cprogram was written in 'C'. To modify, it needs Micro C-compiler from DunfieldDevelopment System Ontario Canada with tiny memory model.

Programmer

Functional Test

Use a given programmer (or readymade Easy-Downloader) write the writer.hex into the 2051 chip. Put theprogrammed 2051 chip to the board. Invoke any communication software with9600 baud, 8-data bit, no parity. Connect DB-9 to COM1, say, press enterkey, the title 'Easy-Downloader V1.1 for ATMEL 89C2051/4051' would be appearedon the screen. type >s2048 ( set byte counter to 2k), then without the2051 chip in ZIF, type >r (read 2kB), on screen would show FFFFFFFFFFF...indicating corrected wiring for P1. If you put the chip having alreadyprogram inside, r command will show the hex code with the number of byteset 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.

Figure2: Using Xtalk to test the board
Now try with 'ez'the uploader program to help you more easy to write the hex file to thechip. Example of using ez is shown in Figure 3. Have fun...

Note: EZ3 can use only withold PC that runs dos, for new PC try with window version!


Figure3: Example of using EZ program writes the writer.hex to 2051 chip

Figure4: Example of Using EZ3 and EZ3.1

DownloadEZUploader V3.0 for Window The EZ Uploader provides a simplemeans of sending HEX file to the writer board. To connect the board withEZ, click available COM port, COM1, say. After the EZ recognizes the chips,then click Send Hexfile, that all. Since there is no signature byte thatindicates chip number and programming voltage, thus you have to choosethe appropriated memory size either 2051 or 4051 manually, i.e., 2048 or 4096 respectively.

DownloadEZUploader V3.1 for Window An upgraded version of EZ3with RAED and SAVE AS features for reading HEX code resided in the chipandsave as an Intel HEX file.

Tips

HEX fileextension

Some Assembler or Compiler produceoutput hex file with .OBJ instead of .HEX. The EZ needs .HEX extension,just rename it...

ExpensiveZIF Socket

Without expensive ZIF socket,you may use an ordinary socket instead, surely many times of pulling thechips may cause the far end leg of the 2051 chip broken. My student suggestsme to insert one more socket to the 2051 chip. It works very nice. Eventhe programmer has ZIF, but your application board does not have. Betterto insert one socket to strengthen the 2051's leg.

DC Adapter

2021 Programming Language Popularity

Any DC adapters, fixed or adjustablecan 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.5to 12.5V.2051 Programmer

Put theRight Position

The latest version does notinclude the protection circuit if putting wrong position, i.e., GND-Vcc<--> Vcc-GND.

Thus before put the chipinto 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 it...

89C1051

There is no problem with 89C1051chip but ensure that the hex code size must less than 1024 bytes (000Hto 3FFH). While verifying after erase it showed 0 to 2048 byte as the 2051chip, it means twice reading, i.e., 000H-3FFH then 000H-3FFH, the samephysical address. When programming, the control chip will write and verifyonly the size of program.

Easy 1.1 Links

  • MakeYour Own Single-Side PCB for Easy-Downloader V1.1
  • RS232CLevel Converter A circuit for RS232C level converter, MAX232and DS275.
  • Experimentingthe 2051 with C Programming

Sourcecode for sdcc

I spent my weekend modifiedthe source code of Easy downloader V1.1 for sdcc! Now you may study thecode to see how it works with a nice tool available freely for everyone,the small device c compiler, sdcc. The compiled code is very nice and isvery compact. You may noticed that the size of new firmware is only 1128bytes!

2021 Programming Ideas

Download the source code,WRITER1.C, hex file, writer1.hex and the compiler,SDCC.zip

Below is a sample how touse sdcc.

C:sdccapp>s

C:sdccapp>path=c:sdccbin

C:sdccapp>sdcc writer1.c

library file /sdcc/share/sdcc/lib/small/libsdcc.lib
library file /sdcc/share/sdcc/lib/small/libint.lib
library file /sdcc/share/sdcc/lib/small/liblong.lib
library file /sdcc/share/sdcc/lib/small/libfloat.lib

C:sdccapp>packihx writer1.ihx>writer1.hex
packihx: read 166 lines, wrote 75:OK.

C:sdccapp>

The batch file s.bat contains,

path=c:sdccbin
sdcc writer1.c
packihx writer1.ihx>writer1.hex

2051 programmer 2

The output machine code ishex file with *.ihx extension. We can use a tool, packihx to convert suchhex file with *.ihx to *.hex easily.

The ez4.1 is suitable forprogramming the hex file into a 20-pin microcontrollers, 89C2051/4051.Since the hex file produced by sdcc is not sorted from low address to highaddress. The old version, EZ31 has bug for such hex file. So I recommenedto use EZ4.1 for program loading. Click at the picture to download EZ4.1!

Contributionto Easy Programmer V1.1

  • PROGRAMM.PCB Layout made by Hooman Falahati , from IRAN.

KnutOlafson

Member level 1
Joined
May 16, 2012
Messages
34
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Activity points
1,622
Hi people,
I have two pieces of AT89C2051 which I would like to put somewhere (timer or something) but I don't have programmer for that mcu. In further, I don't want to spent big money on bying or building programmer for it... but looking for workaround....
As far as I can see, software for Arduino (at the moment I have Arduino UNO R3) has 'Parallel programming' option, which is only option to program mcu like AT89C2051.
Problem is that AT89C requires 12V for programming and Arduino does not has this.
Has anyone tried to use Arduino for programming such mcu like AT89 and if it possible how to do that? How to pump-up that signal level and what else is needed....?
Thank you.
Knut