Getting started with PIC18F4550 and MPLABX IDE


There are various development environments available for the PIC18f4550 controller.

We can use the following IDEs for development:

  • MikroC

C Compilers for PIC 18f4550

  • XC8
  • Hi-Tech
  • C18

After code development, for loading flash memory we can use this kit

  • PIC kit1
  • PIC kit2
  • PIC kit3
  • ICD

Here we are going to develop a simple LED blinking project using MPLABX IDE with XC8 compiler and flash the PIC18f4550 chip using PIC kit2.

MPLABX IDE is an Integrated Development Environment that is developed by Microchip.

It is used to develop a code for PIC microcontrollers.

Let’s start with MPLABX IDE.

1. Download compiler XC8 and Install it.

2. Download MPLABX IDE and install it also.

3. There are many hardware Programmer available for PIC like PicKit2, PicKit3, USBPicProg.

  • Here PickKit2 is used to download the program into the device.

4. Now Open MPLABX IDE.

MPLABX Start Window

5. Now Create a new project for LED blinking.

  • Select File -> New Project
Create New Project

6. After selecting new project following window will pop-up.

  • Select Microchip Embedded -> Select Standalone and click to next.
Select Project Category

7. Select Device and their Family

  • Here PIC18 family is used and PIC18F4550 device. After selecting click on next.
Select PIC Family
Select PIC Device

8. Window for selecting tool will Pop-up after clicking on next 

  • Here PicKit2 Program downloading tool is used. Then click on Next.
Select Programmer

9. Now select Compiler. Here XC8 is used and click Next.

Select Compiler

10. Name a Project e.g. LED_Blinking_demo also set Path for Project Folder and Click on Finish.

Project Name Window

Now our project is displayed in Project window.

Project Window


  • The source file contains Main Code and other supporting files for a header (optional). 
  • Now in PIC18f4550, we need to configure some registers or bits like WDT, MCLRE’, FOSC, etc.
  • We can write these configurations in our C code as follows:

              #pragma config FOSC = INTOSC_EC

              #pragma config WDT = OFF

              #pragma config MCLRE = OFF

  • But PIC18F4550 has more configuration Registers so they are set to default and the compiler generates warnings for these registers. So to configure these registers MPLABX provides one simple way which is as follows:

11. Go to Window -> PIC Memory Views -> Select Configuration Bits

Configuration Bits Window

Then window Popup as follows:

Configuration Bit Setting
  • Configure these bits according to requirement and click on the button “Generate Source Code to Output” given on the bottom side.
  • Copy the Generated Source Code and paste it in a header file.

12. To do this 1st Create a Header file

  • Right Click on Header in project -> Select new -> Select C Header File
Add Header File
  • Name Header File and click on Finish
  • Now we have to write the main code for LED blinking.

13. Create the Main file for developing code.

  • Right Click on Source in the project -> Select new -> Select C Main File
  • To write code in Assembly, select the ASM file.
Add Main File
  • Give name to C file and click on finish.

14. Now write a simple application Code.

  • Simple C Program for LED blinking.


PIC18F4550 LED Blinking Program

 Led blinking using PIC18F4550

#include "Configurations_Header_File.h"  /*Header file for Configuration Bits*/
#include <pic18f4550.h>                  /*Header file PIC18f4550 definitions*/

void MSdelay(unsigned int);

void main()
    OSCCON=0x72;                /* Use internal oscillator of 8MHz Frequency */
    TRISB=0x00;                 /* Set direction of PORTB as OUTPUT to which LED is connected */
        LATB = 0xFF;            /* Turn ON LED for 500 ms */
        MSdelay (500);
        LATB = 0x00;            /* Turn OFF LED for 500 ms */
        MSdelay (500);
void MSdelay(unsigned int val)
 unsigned int i,j;
     for(j=0;j<165;j++);         /*This count Provide delay of 1 ms for 8MHz Frequency */


15. Now Build Project.

  • There is one Hammer like shape, click on it to build a project.
Build Target Symbol
  • After building a Project, output Window appears which gives errors and warnings if any otherwise gives message Build Successful.
Output Window
  • Following is generated Hex File which needs to load in PIC device.
Hex File

 After uploading the above program connect LED to the PIC microcontroller, it will start blinking as shown below.

LED Blinking Output

LED Blinking using PIC microcontroller

Components Used

LED 5mm
LED 5mm


LED Blinking using PIC18f4550 Download