PIC16F877 timer1 code and Proteus simulation

This PIC16F877 microcontroller tutorial answers the question,
” How to use timer1 of PIC16F877 and how to handle its interrupts? “

PIC16F877 timer1

Using PIC16 simulator (Proteus) you can verify this PIC timer1 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.

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.

In this circuit, PIC16F877 is running on external crystal of 20MHz value. RB0 pin is toggled every time timer1 expires and executes it’s ISR[1] code. In the above figure, it is clear that after approximately every 13msec, RB0 pin is toggled i-e timer1 expires. You can easily change this value in the code.

PIC16F877 timer1 Schematic


The main function code is shown below.


Timer1 code for 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 timer1 code and Proteus simulation

Current Project / Post can also be found using:

  • pic microcontroller timer1 pdf
  • timer circuit using 16f877a and code
  • Pic 16f877a sample program pdf
  • pic16f877a timer1 code

Leave a Comment

= 3 + 9

Read previous post:
TRIAC BLOC - a solid-state relay with I2C interface
TRIAC BLOC – a solid-state relay with I2C interface

From time to time I get requests to make some high power switching, so I decided to design a solid-state...

Scroll to top