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
Programmer Circuit

Basic 8051 ISP circuit

Procedure:
- 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
Downloads
PC Software: progisp168.zip (843.50 kb)
AVR Code: usb51.zip (108.71 kb)
If you want to program 89S52 with AVR dude then
Add this text into your avrdude.conf(\winavr\bin\)
my_conf.txt (2.08 kb)
Tags: usb 8051 programmer, 8051 programmer, 8051 usb, usb programmer, free programmer