During the college days, we were thought how to use the 8051 microcontroller, as a student our biggest problem is how to burn our hex file to our chip. Until these days, this is still the problem of students in my school so I came up with an idea making a simple programer using my Gizduino (Arduino clone in the Philippines) lying around and writing a simple C# application to process the hex file. The 89s52 is the most common available in our place and the good thing is it can be programmed via its SPI port without needing high voltage to enter programming mode.
Programming the chip is not that difficult, we just need to issue series of commands as stated in the datasheet, the c# app will parse the hex file and what the gizduino will do is just to translate it to SPI commands, then voila we have our 8051 programmed in no time. The prototype is done using my general purpose digital trainer.
The Atmega 328/168 in the arduino is overkill for these purpose, I will port this later to a smaller and cheaper microcontroller.
The fun part Testing!