How to Program the AT89C51 Microcontroller
The Atmel microcontroller can be programmed using a variety of software available on the market. The most popular platforms are Arduino and Keil µVision, to mention a few. Keil is recommended if you want to do serious programming and expand with community help.
To program the Atmel microcontroller, we'll need an IDE (Integrated Development Environment), which acts as a programming environment. A compiler converts our software into HEX files, which can be read by MCUs. Our hex file is dumped into our MCUs using an IPE (Integrated Programming Environment).
IDE: Keil µVision IDE
Programming Hardware: MAX232 with RS232 to USB converter
Programmer: USBASP
A programmer is required to dump or upload our code into an Atmel IC; the most often used programmer is the USBASP, which must be purchased separately. Simulating your program in software before attempting it on hardware will also save you time. As a result, you can simulate your applications using software such as Labcenter's ISIS proteus.
AT89C51 Programming circuit is shown below:

AT89C51 Programming circuit