Organize and Share your Electronics the way you want. Sign-Up for a free account now. It takes only 30 seconds!

Basic Interfacing of HD44780 based LCD with PICs

Basic Interfacing of HD44780 based LCD with PICs

Presented here are the source code and the schematics for this project. The code is written according to the instructions shown in the datasheet. The source code is quite clearly documented and remarked so there isn’t really a need to explain about its operation over here.
Although this code works, there is alot of room for improvement since this was like the…. 6th programme I wrote in PICMicro assembler :D. For instance, we can reduce on the delay time routines. I put larger number of loops to make certain that the each instructions written to the LCD has sufficient time to be completed before executing the next instruction.

Then, I decided to write a more optimized code than the above by reducing the size and the execution time of the programme by using shorter delay time. This way the the instructions executed faster and at the same time, has sufficient delay to complete its execution. Presented below are the new schematics and source code. This code is written for PIC16F873A instead of PIC16F84. Just change the connections from PORTB to PORTC for the LCD datalines DB0 to DB7 and the RS, R/W and E lines from PORTA to PORTB. It can be used for any other 28 or 40 pins PICMicro such as the PIC16F873, 876, 876A, 877, 877A and etc. by changing the **include ‘p16f84.inc’ to p16f873a.inc and the connections pinout.

Presented below are the source code and the schematics for the PIC16F873A interfacing.

These simple programmes can be used as a display test of the LCD before actually starting on a project that requires the use of the LCD. This way you can be certain that the LCD actually works before implementation.

Visit Here for more.







 

More Articles to Read

Gesture Controlled Smart Home
Gesture Controlled Smart Home
Design for a Wideband, Differential Transimpedance DAC Output
Design for a Wideband, Differential Transimpedance DAC Output
Wrist thrusters let you fly through the water effortlessly
Wrist thrusters let you fly through the water effortlessly
Bertan/Spellman 225-20R HV power supply teardown
Bertan/Spellman 225-20R HV power supply teardown
Blinking Christmas Lights
Blinking Christmas Lights
Adjusting clock with alarm, hygrometer & thermometer on 1.8″ ST7735 display
Adjusting clock with alarm, hygrometer & thermometer on 1.8″ ST7735 display
Adding an “extra sense” with rangefinders
Adding an “extra sense” with rangefinders
This wireless game controller looks like a rug
This wireless game controller looks like a rug
How to run your ESP8266 for years on a battery
How to run your ESP8266 for years on a battery
Calibration of a 3-Phase Energy Meter Board on the ADE7754
Calibration of a 3-Phase Energy Meter Board on the ADE7754
Making beats on a tiny Arduino DJ controller
Making beats on a tiny Arduino DJ controller
Qinsi-QS5100 Sn63Pb37 solder profile
Qinsi-QS5100 Sn63Pb37 solder profile
Water Detection System
Water Detection System
Professional Hi-Fi 15W Tube Amplifier circuit
Professional Hi-Fi 15W Tube Amplifier circuit
This Arduino machine will judge how sick your ollies are
This Arduino machine will judge how sick your ollies are
Turn an old payphone into a boombox for ’90s hits
Turn an old payphone into a boombox for ’90s hits
Big F’n 3D printer build
Big F’n 3D printer build
Temperature alarm for boiling milk
Temperature alarm for boiling milk
QuadBot is a 3D-printable walking robot for everyone
QuadBot is a 3D-printable walking robot for everyone
MicroConverter I2C Compatible Interface
MicroConverter I2C Compatible Interface

Top


Shares