Here’s the free circuit which can program 89S series microcontroller through USB. It just needs an programmed AVR Atmeg8 microcontroller.
Even though the Atmega8 does not have an USB interface an software USB is created.
The software is created by Fischl, its available at :http://www.fischl.de/usbasp/
But this programmer supports only AVR chips and now the Atmega8 microcontroller program is changed to support the AT89S series micros.
You can program the following 89 series chips by using this programmer
AT89S51, AT89S52, AT89S53, AT89S8252, AT89S8253, AT89S2051, AT89S4051 and AVR chips
Basic 8051 ISP circuit
Download the Hex file into the Atmega8
Connect the ISP lines to the AT89S series chip
Don’t forget to connect the crystal & power supply to the AT89S chip
Connect the hardware to the PC USB
Download contains the pc software and AVR Code for Atmega8
If you want to program 89S52 with AVR dude then
Add this text into your avrdude.conf(\winavr\bin\)
8051 USB 8051/AVR programmer 1.0
USB programmer to burn AT89S series 8051 microcontroller through USBasp