Everyone in their daily life has been using microcontrollers knowingly or unknowingly embedded in machines like cars, TV, refrigerator, washing machine, etc. Many of you know the capabilities of microcontrollers and have worked with it. You should have programmed it using different programmers by manufacturers. Have you ever thought how does a programmer work? What is the basic principle behind it? Why do we have different programmers for different chips? In this series of tutorials we will try to get answers of such questions. We will do all the operations which are done by a programmer like read, write, erase etc. one by one. We will work with the 89S51 microcontroller belonging to the 8051 family. The same methodology can be used to program other members like 89S52 & 89S53 microcontrollers.
A programmer, also called as a burner, is a device which is used to feed a program in a microcontroller. It consists of a hardware and software. The software reads the hex file generated by the compiler and feeds it into the target microcontroller. For more details about the programmer, refer the tutorial on Microcontroller Programmer/Burner.
In this series of tutorials, we will perform every function a programmer performs one by one. We will not use any software but rather use two controllers. One is the target controller on which every operation will be performed and the second controller will be the master controller which will have the necessary codes to perform the different functions of a programmer. The objective of this exercise is to understand the concepts behind the working of a programmer and learn to design a programmer from scratch. If you are good at software designing you can design the software also for the programmer using any language.