A device, which in the testing program phase can simulate any device is called a development system. In addition to the programmer's hardware, the power supply unit and the microcontroller’s socket, the development system is also provided with on-board components for input pin activation and output pin monitoring. The simplest development systems have every pin connected to one push button and one LED. High quality versions have pins connected to LED displays, LCD displays, temperature sensors and all other components that can be found on the target device the program is written for.
If needed, all these peripheral modules can be connected to the microcontroller using jumpers. This enables the whole program to be tested in practice even during its development stage, because the microcontroller doesn’t know or care whether its input is activated by a push button or a sensor built into a true device. Concerning that the compiler (on your PC) and the programmer's hardware (on your development system) cooperate perfectly, the process of compiling a program and programming the microcontroller is performed in a single step - by clicking the appropriate icon within the compiler. Now, any change in the program will immediately affect the operation of the appropriate on-board components. It’s time for fun?