PIC16F877 LED blinking code and Proteus simulation

This post provides the code to make an LED blink using PIC16F877 microcontroller. This code is written in C language using MPLAB with HI-TECH C compiler. This code is intended to be the first step in learning how to use PIC16F877 microcontroller in your projects. You can download this code from the ‘Downloads‘ section at the bottom of this page.

Following figure shows the minimum circuit required to make an LED blink with PIC16F877.

PIC16F877 LED blinking schematic

In this figure, first thing to note is that there is a crystal of 20MHz used with PIC16F877[1]. You can use any crystal from 0 to 20MHz with PIC16F877. MCLR master reset pin is pulled high to keep PIC16F877 out of reset. RB0 pin is being toggled in the code.


The code for making LED blink using PIC16F877 is shown below.


LED blinking code using PIC16F877 was compiled in MPLAB v8.85 with HI-TECH C v9.83 compiler and simulation was made in Proteus v7.10. To download code and Proteus simulation click here.


For more detail: PIC16F877 LED blinking code and Proteus simulation

Current Project / Post can also be found using:

  • led blinking code pic16f877
  • program for eye blink sensor using pic16f877a in hi tech c

Leave a Comment

= 4 + 4

Read previous post:
PIC16F877 timer0 schematic
PIC16F877 timer0 code and Proteus simulation

This PIC16F877 microcontroller tutorial answers the question, " How to use timer0 of PIC16F877 and how to handle its interrupts?...

Scroll to top