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.