Atmel has designed AVR microcontrollers for maximum flexibility of programs.There are three ways to load a program into AVR microcontrollers explained below.
● Parallel Programming
● Serial Programming (ICSP)
● Using Boot loader (PoyProg) to load .hex file
In this way the device burner loads program into the microcontroller separate from the system. This is very useful for large companies or manufacturers where a gang programmer is used to program many chips at one time.Most device burners support AVR families, EETools is a popular one. The chip is programmed before it is inserted into the circuit. A ZIF (Zero Insertion Force) socket is even quicker and less damaging than a standard socket.When removing and re-inserting , we must observe ESD (Electro Static Discharge) procedures. Schematic of LPT Atmel AVR Mega programmer: ATmega8, ATmega48, ATmega88, ATmega168 and some other in DIP28 is shown below.