When i was working with the 8051, i didn't buy any specific programmer for programing the chip. Instead i took out the serial communication pin 10 and 11 through RS232 and connected to the serial port of my PC. Also a switch is been kept between the ground and Rst pin 9 which was pulled up to give a momentary a pulse to that pin.
Now when i needed to program i just make the use of Flash Programmer and i was able to program my 8051. The advantage is i need not the take out the chip again and again if i need to do reprogramming of it. Itself while the chip is on board i was able to load my new program in it.