The traditional AT89C51 requires a special device called programmer/burner tool to load hex file from your host system. The process is straight forward. You will compile your project to generate hex file. Place the controller in the programmer tool. These tools comes with a peace software with which you can select desired hex file and burn to the controller
I will be using 89V51RD2 which is compatible with 89C51 and it has UART bootloader. You can use a USB-UART bridge to program this controller.
Just connect the USB-UART bridge to the RS-232 port you are ready to program the controller.You need to download the flash magic tool to load the hex file.