PIC16F877 LCD code and Proteus simulation

This PIC16F877 microcontroller tutorial provides very detailed and comprehensive LCD[1] code.


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

PIC16F877 LCD schematic

In the above figure, RB0 pin is being used as RS pin for LCD. RB1 pin is used as RW pin, RB2 pin is used as Enable pin and RB4 to RB7 pins are used as Data bus for the LCD. When code starts running then ‘saeedsolutions.blogspot.com‘ is displayed on the first line of LCD first. Also, on the second line in the end, two custom characters are also displayed (Downward arrow and Upward arrow). Then whole screen starts to scroll towards left. Following animation shows the result of simulating the code in Proteus.


The code for the main function is shown below.


LCD interfacing 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 LCD code and Proteus simulation

Current Project / Post can also be found using:

  • Proteus to verify code
  • simple projects to simulate interfacing LCD with PIC16F877A using proteus and code written in micro C
  • coding for proteus design
  • lcd coding in proteus

Leave a Comment

= 5 + 6

Read previous post:
The CANable: a small USB to CAN adapter

The CANable is a hardware clone of Eric Evenchick’s CANtact project, an open-hardware USB to CAN adapter compatible with socketcan....

Scroll to top