October 10, 2011

Custom character and animation on LCD



Hello friends I have been very fascinated about the custom character generation on normal (16x2) LCD
So I decided to have some hands on about it. I started reading about it on net and finding data about CGRAM.
I came across many good websites they are listed at the end of the post..
There are mainly two RAMs in our LCD display
1)DDRAM-you put the ASCII value and it is displayed on the screen (normally everybody is aware with it)
2)CGRAM-discussed below in detail  
                CGRAM is 64 Byte ram we can use it to make 8 custom characters.so this is clear that each character consist 8 bytes now let us start generating a custom character.


Each block we see in our LCD is 5x8 pixels(5 columns & 8 rows) we can configure lcd row by row as shown in the figure thus we get 8 bytes for one pixel.
We can make 8 characters in CGRAM so after obtaining the values of each row just load it to CGRAM .To do so you have to point starting address of RAM you can take help of the below given able you have to do  0x40+(CGRAM address)once a byte is written on the RAM location then you need not to point the next data then the pointer is incremented by itself.


Now if you have constructed your character in CGRAM how would you display it ?
This is the question puzzled me the most. I’ll try to explain in easy words .once you have created your character in any location in CGRAM (say 1st location=0x40 to 0x48)   and you want to display it in any location (say 1st row 6th column=0x86)then point to 0x86 by using    “lcd_cmd(0x86)” and write ASCII value zero  (‘0’)(this is the equivalent value of CGRAM 1st location)there you can see the table below to get the ASCII values of   Characters generated in CGRAM.


So you are now done with all the basics of generating a custom character you can generate a character independently or with the help of two or more blocks as shown below.

I tried to generate the rupee symbol on LCD. But first I generated it on paper to get some better idea.  
So here are some demos of what you can do…..

 Indian Rupee symbol (Designer: kishan. keyur)….


A car( Designer: Preet)……






now thats not all
do it sound cool then look at the video you can see the animation done in 16x2 lcd....


further more you can develop interactive game with the help of this experience.
links:
the LCD which i used

hope you enjoyed the post as i did...


:)


0 comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...