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.
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:
you can see some books of avr here
Embedded C Programming and the Atmel AVR
AVR: An Introductory Course
Embedded C Programming and the Atmel AVR
AVR: An Introductory Course
the LCD which i used
hope you enjoyed the post as i did...
:)
:)
0 comments:
Post a Comment