mishra12
Advanced Member level 2
- Joined
- Feb 18, 2009
- Messages
- 672
- Helped
- 136
- Reputation
- 272
- Reaction score
- 122
- Trophy points
- 1,323
- Location
- some where left alone
- Activity points
- 4,915
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Hello everyone,
There are always many posts here asking about ISP programmers for the atmel 89S51 or 89S52 mcu's. Most commonly available are the FREE programmers that use the parallel port of your PC.
These programmers are not reliable, or do not work consistently on some parallel ports. If you happened to get stuck with a motherboard on your PC like mine, you would be lucky to get the programmer to read the signature bytes especially with windows XP or higher. These days computers are no longer equipped with a parallel port. I have been using this programmer for a few years now reliably even with a USB to serial adapter cable.
I use the 89S series mcu's quite a bit because they are inexpensive and easy to program (no fuses, or other problems). I wanted an easy to use programmer that would allow me to program the 89S mcu's in circuit without removing it every time.
I did not want to go through all the trouble to write a windows application, so I thought I would just use an existing one and modify the code in the programmer to do ISP operations instead of high voltage parallel programming as in the 89S51/89C52. I chose this one:
**broken link removed**
The ezdl4.exe has nothing to do with me and does not need to be changed to work with this programmer.
The circuit I chose was the same circuit as an avr910 programmer except that an 8051 device is used for the programmer. (the reset circuit will be different and the crystal will be 11.0592MHz) I chose this because I already have an avr910 programmer board therfore I would not have to go through the trouble of making another board.
Have a look at the schematic below. You can use any 8051 mcu for the programmer as long as you adhere to the pinout, and it must hold at least 4K in size. The circuit can take power from your target, or supply power to the target, if the power from the programmer (as with the avr910 programmer) is connected to your target circuit.
Now the only problem is: Somehow you have to get the code into an 8051 MCU. If you do not have a programmer, this will be a problem. Once that is done you will have a very reliable programmer.
Everything is included in the zip file. Please read the readme.txt for instructions.
Any suggestions are welcome. Please post them here.
ctownsend
bring the code to the shop and ask the person to program it for you. Lots of shops will do this free or for almost no cost to you.
---------- Post added at 16:36 ---------- Previous post was at 16:25 ----------
Corrections to the above post (don't know why I can't edit my own post??)
typos HERE:
I did not want to go through all the trouble to write a windows application, so I thought I would just use an existing one and modify the code in the programmer to do ISP operations instead of high voltage parallel programming as in the 89C51/89C52.
AND HERE:
Have a look at the schematic below. You can use any 8051 mcu for the programmer as long as you adhere to the pinout, and it must be at least 2K in size. The circuit can take power from your target, or supply power to the target, if the power from the programmer (as with the avr910 programmer) is connected to your target circuit.
The original post showed 4K size (that was the original code before the final release)
---------- Post added at 16:44 ---------- Previous post was at 16:36 ----------
help us help you. Show us a schematic of what you've done. what chip are you using for the programmer? what are the capacitors used for the clock circuit? What are the capacitors used for the MAX232 circuit? Are you using a genuine max232?
What does your reset circuit on the microcontroller look like? Did you connect EA to VCC? Are you taking power from the target or supplying power to the target? What voltage?
answer every single question and post a picture of what you've done. this is the only way I or anyone else can offer help to you. The code and circuit does work. I used it for more than 2 years now.
connection between serial port and max232 may be wrong it is connected just opposite if we look the 8051 micro controller and embedded system by mazidi
As the green LED glows when the software starts, we may assume that serial port able to communicate with the master processor (AT 89s52 in this case, programmed by other conventional programmer).
:03000000020030CB
:1000300074FFF590F5B0759850758DFD758920D2D7
:100040008E12005512004D12005D80F522F5993098
:1000500099FDC299223098FDC298E5992220910716
:100060007590FFC29280162092077590FFC2938010
:0E0070000C2093077590FFC2918002C291226E
:00000001FF
2. The lock function works, however all lock bits will be programmed.
The EZDL4.exe program will display the message "Lock failed!".
The reason for this is because the EZDL4.exe program tries to read the flash after
the lock bits have been programmed. In the 89C devices, the flash will read FFh
if the device is locked.
With the 89S devices, the flash will read 00h 01h 02h 03h 04h 05h..etc.
which is not FFh, therefore the EZDL4.exe program indicates failure programming
lock bits.
You can verify that the device is locked by reading the flash to a file.
Open the file, and verify that the flash contents are 01 02 03 04.
There are a some commands that were disabled from the original 89C version.
Working commands are read, write, lock, verify and fast verify.