In the circuit shown below i have configured the LCD module Command Register at address 00H and Data Register at 01H, so when ever we will write the data at address 00H, it will be considered as command for LCD, and when ever at 01H, it will be considered as ASCII character to be write. the following table shows addresses for different read write operations.
To use the LCD module as memory mapped i/o as explained above we will have to do the following connections with micro controller, since the address and data both will transfer through Port "0", therefore we will have to use an Octal Latch 74573. the PCB layout is also available to download. an example program is also available to download, Here i have given different subroutines, by combining which we can make a complete program, first of all i will show you the subroutine for initialization of LCD module. I have also written a library in C Language, by which we can write any type of data on LCD using C language, there are many built in functions which can be called from any "KEIL C" program, and all necessary files including that library can be download from the link given below.