Graphic LCD Programming

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Graphic LCD Programming

6,684 Views
mjcoury
Contributor I
All -

I have the (un)fortunate task of interfacing my HCS08 with a LCD running a pair Epson S1D15714 LCD controller...

are there are any sources of information that you know of that would speak to how to approach a project like this? How to organize the structures,ram,processes etc....


Thanks


Mike
Labels (1)
0 Kudos
5 Replies

396 Views
mke_et
Contributor IV
I use a graphical display on my '12' project. It's not hard to do, but you have to keep organized.

I put my character set in flash in a 'permanent' area, and then defined the starting point. One thing you'll have to decide right up front is your character set layout. Do you want to do it by 'scan lines'? That is, top to bottom as it appears on the display where you send each horizontal line to the display. Or do you want to do it as 'left to right', sending vertical lines. Each way has it's advantages and disadvantages.

Anyway, keep a 'dot position' in memory. Every time you write a character, kick the 'dot position' by the character width, which is easy if you are fixed widths and not proportional. Use that 'dot position' as your 'cursor'. (This can get hairy if you use a 'segmented' display that works by zones and characters cross boundaries.)

The individual character routine should be concerned with JUST one character. Use the ASCII code as your table lookup offset then just place the data on the LCD. If you have a segmented display, then you're going to have to make sure the individual 'write column' or 'write row' does the increment and handles zone writes.

It's not hard work, just a lot of simple things to keep track of.

One thing... Early on, make sure you have an 'xor' with an external byte built into the datawrite to the display. You may never need it, but later on if you want to do highlighting or reverse video, it's nice to just set a byte to do it. You could even have TWO xors built in. One that resets every character, and one that resets every 'line'. That will make future 'pretty work' really easy to implement.

Stuff like doublesize characters is not as easy to plan for up-front, but don't forget that you may want stuff like that as well in the future.

Mike
0 Kudos

396 Views
J2MEJediMaster
Specialist I
Use the search function at the bottom of this web page to search for "LCD". That will turn up several threads that deal with programming LCD screens. There may be some information in one of these to help you get started.

---Tom
0 Kudos

396 Views
mjcoury
Contributor I
Tom -

Thank you for pointing out the Search Bar, however, there are no replies when searching "GRAPHIC LCD" and 99% of the other LCD posts are about character LCDs...
0 Kudos

396 Views
J2MEJediMaster
Specialist I
OK, have you got the manual for the display? I found a good hardware reference manual for the device here.
0 Kudos

396 Views
mjcoury
Contributor I
Yes. I have the manual for the display and I have that document you linked to already... I understand how it works. But I am unsure how to get there, that's where I need the help. If anyone has any insight as to how they organized the data in the Flash, how the fonts are stored, what kind of routines are used for placing text and for drawing shapes...
0 Kudos