Appendix C: Development Systems

How to start working?

A microcontroller is a good-natured "genie in the bottle" and no extra knowledge is required to use it.

In order to create a device controlled by the microcontroller, it is necessary to provide the simplest PC, program for compiling and simple device to transfer that code from PC to chip itself.

Even though this process is quite logical, there are often some queries, not because it is complicated, but for numerous variations. Let's take a look...


In order to write a program for the microcontroller, a specialized program in the Windows environment may be used. Any program for text processing can be used for this purpose. The point is to write all instructions in such an order they should be executed by the microcontroller, observe the rules of assembly language and write instructions exactly as they are defined. In other words, you just have to follow the program idea! That's all! When using custom software, there are numerous tools which are also installed to aid in the development process. One such tool is the Simulator. This enables the user to test the code prior to burning it to the MCU.

Loop      button PORTA,0,0,Increment
          button PORTA,1,0,Decrement
          goto Loop

Increment incf cnt,f
          movf cnt,w
          movwf PORTB
          goto Loop

Decrement decf cnt,f
          movf cnt,w
          movwf PORTB

To enable the compiler to perform its task successfully, it is necessary that a document containing this program has the extension, .asm in its name, for example: Program.asm

When a specialized program (MPLAB) is used, this extension will be automatically added. If any other program for text processing (Notepad) is used then the document should be saved and renamed. For example: Program.txt -> Program.asm.

Note for lazy ones: skip this procedure, open a new .asm document in MPLAB and simply copy/paste the text of the program written in assembly language.


The microcontroller does not understand assembly language as such. This is why it is necessary to compile the program into machine language. It is more than simple when using a specialized program (MPLAB) because a compiler is part of the software! Just one click on the appropriate icon solves the problem and a new document with .hex extension pops out. It is actually the same program, but compiled into computer language which the microcontroller perfectly understands. Such documentation is commonly named "hex code" and seemingly represents a meaningless sequence of numbers in hexadecimal numerical system.


In case other software for program writing in assembly language is used, special software for compiling the program must be installed and used as follows: set up the compiler, open the document with .asm extension and compile. The result is the same- a new document with .hex extension. The only problem you have now is that it is stored in your PC.


To enable "hex code" transmission to the microcontroller it is necessary to provide a cable for serial communication and a special device called programmer with appropriate software. There are several ways to do it.

A lot of programs and electronic circuits having this purpose can be found on the Internet. Do as follows: open hex code document, set a few parameters and click the icon for compiling. After a while, a sequence of zeros and ones is to be programmed into the microcontroller through the serial connection cable and programmer hardware. There is nothing else to be done except for placing the programmed chip into the target device. In case it is necessary to make some changes in the program, the previous procedure may be repeated an unlimited number of times.

Is this a happy ending?

This section briefly describes the use of MPLAB and programmer software developed by Mikroelektronika. Everything is very simple...

You have already installed MPLAB, haven’t you? Open a new project and a new document with extension.asm.


OK. You have written a program and tested it with the simulator. The program did not reports any error during the compiling process? It seems that everything is under control...

Compiling Successful

The program is written and successfully compiled. All that’s left is to dump the program to the microcontroller. For this purpose it is necessary to have software that takes the written and compiled program and passes it into the microcontroller ( PIC Flash for example). Start up this program...

The settings are simple and there is no need for additional explanations (the type of the microcontroller, frequency and clock oscillator etc.).

  • Connect the PC and programmer via a USB cable;
  • Load the HEX code using command: File -> Load HEX; and
  • Click the "Write" push-button and wait...
Writing program to the microcontroller

That's it! The microcontroller is programmed and everything is ready for operation. If you are not satisfied, make some changes in the program and repeat the procedure. Until when? Until you feel satisfied...

Development systems

A device, which in testing program phase, can simulate any environment is called a development system. Apart from the programmer, the power supply unit and the microcontroller’s socket, the development system contains elements for input pin activation and output pin monitoring. The simplest version has every pin connected to one push-button and one LED as well. A high quality version has LED displays, LCD displays, temperature sensors and all other elements which the target device can be supplied with. These peripherals could be connected to the MCU via miniature jumpers. In this way, the whole program may be tested in practice, during its development stage, because the microcontroller does not know, or care, whether its input is activated by a push-button or a sensor built in a real machine.

Development system EasyPIC5

Development system EasyPIC5