PIC16F877 external interrupt code and Proteus simulation




This post answers the question, “How to capture a pulse to generate an interrupt in PIC16F877” ?

PIC16F877 external interrupt
Also, using PIC16 simulator (Proteus) you can verify this external interrupt code and change it according to your needs. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the ‘Downloads‘ section at the bottom of this page.

This PIC16F877 microcontroller tutorial provides the external interrupt code (e-g when you need to control servo motor which has position encoder, with your PIC microcontroller you can use this code). As we know, PIC16F877 microcontroller has one RB0/INT pin, this pin is used to service external interrupts in the circuit shown below.

It is assumed that you know how to blink an LED with PIC16F877 microcontroller. If you don’t then please read this page first, before proceeding with this article.

The following diagram (made in Proteus) shows the PIC microcontroller circuit diagram[1].

PIC16F877 external interrupt schematic

In the above circuit[2], normally a low value is present on the RB0/INT pin because of the pull down resistor. But when push button is pressed then a low to high pulse on the RB0/INT pin generates the interrupt. And code is written in such a way that whenever interrupt is generated then RD0 pin is toggled.

Code

The code for the main function is shown below.

Downloads

External interrupt code for PIC16F877 as 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 external interrupt code and Proteus simulation




Current Project / Post can also be found using:

  • pic16f877a interrupt c code
  • pic16f877a external interrupt program
  • g510 sim pic codes
  • pic16f877a interrupt download

Leave a Comment

*
= 4 + 9

Read previous post:
PIC16F877 UART
PIC16F877 UART code and Proteus simulation

This post answers the question, "How to use interrupt based UART in PIC16F877" ? Also, using PIC16 simulator (Proteus) you...

Close
Scroll to top