for beginners 89c51 is not advisable. better to use very easy 89v51xx chips which have ISP through UART means you need only a max232 ic between the microcontroller and the computer. for more about this here is the schematic and software used check this out electronics-madeeasy.blogspot.com/.../89v51xx-programmer-using-serial.html
Better still, use one of these to connect direct to the microcontroller pins:
www.ftdichip.com/.../USBTTLSerial.htm - take care to choose 3V3 or 5V, as appropriate
Also available for I2C, SPI, and JTAG:
www.ftdichip.com/.../USBMPSSE.htm