|
|
View previous topic :: View next topic |
Author |
Message |
jseidmann
Joined: 04 Nov 2004 Posts: 67
|
Graphical LCD programming |
Posted: Fri Dec 02, 2005 4:11 pm |
|
|
Hi everyone,
I was wondering if anyone here knew how to program a graphical LCD. I have never done this before, and I dont have one in mind, but I was wondering if they're all the same? I tried looking on the site and on Google, but couldnt find any useful information.
Any of you folks had any luck? |
|
|
Douglas Kennedy
Joined: 07 Sep 2003 Posts: 755 Location: Florida
|
|
Posted: Fri Dec 02, 2005 4:45 pm |
|
|
Well a lot depends on the number of pixels among other things. For a 480 by 640 the PIC is too slow even at 40 mhz so if you don't have a built in controller you'll have to roll your own. For small sizes you could handle the refresh timing and memory access in the pic but it will leave few cycles left over for useful work. A Xilnx CPLD and VHDL programming is what I've used in the past to manage the transfer from RAM memory representing the screen image and a 8bit pic path to post new values to screen memory and of course the screen refresh timing. In this way the PIC is tasked with little more than writing to the screen RAM. I was able to get a GPS interface into the PIC and move a map from ROM to the LCD keeping the current position centered and allow the PIC to write text in two fonts. VHDL is off topic for this forum so look eslewhere if you want to learn to write your own controller. |
|
|
Guest
|
|
Posted: Fri Dec 02, 2005 5:06 pm |
|
|
I beg to differ-
There are plenty of graphic lcds that are designed for embedded applications. Many have their own controllers built in, much like the old hd44780 character lcds. Take a look at crystalfontz.com to get an idea of the types of displays avalable.
Here is a basic driver for a samsung ks0108 glcd, to get you started:
http://www.ccsinfo.com/forum/viewtopic.php?t=17576&highlight=ks0108
While they are more complicated than character lcds, most graphic lcds are not very difficult to use. Doug is talking about something completely different. |
|
|
newguy
Joined: 24 Jun 2004 Posts: 1908
|
|
Posted: Fri Dec 02, 2005 5:07 pm |
|
|
I think Douglas has a different kind of graphical lcd in mind from the ones I've used before. The ones I've used do not require refreshing - simply write a 1 to a pixel to turn it on, and it stays on until you set it to be something else.
In general, other than the controller-less ones, I've found that there are two types: those with the Toshiba T6963C controller (look in the code library for an example), and those with Epson compatible controllers (again, there are examples either in the code library or here in the discussion area, search and you'll find some code).
The T6963's are quite easy to talk to, as they have a built in character generator ROM so for normal text you don't need to draw your own letters/numbers. They also have separate text & graphic memory areas which are then combined to form the image on screen. You have control over whether you want the text & graphics to be ANDed, ORed, or XORed, which dictates how the final screen image appears. I've noticed that displays with this controller seem to be getting more scarce.
The epson controllers are also easy to talk to, but the ones I've dealt with have no character generator ROM, so you have to draw your own letters & numbers.
The only real glaring difference that I remember is that displays with the toshiba controller have a left-right, top-bottom arrangement corresponding to their memory and how the memory "maps" to the display. For instance, if you write 0xF1 to address 0, you'd see:
up in the top left hand corner of the display. * = filled pixel. Memory address 1 corresponds to the next 8 pixels to the right, and so on.
On the other hand, the epson controller has a top-bottom, left-right arrangement. If I remember correctly (I'm pretty sure this is correct), writing a 0xF1 to memory address 0 will draw this on the screen:
up in the top left hand corner of the display. Memory address 1 would correspond to the next 8 pixels in the column to the right of this.
Let me know what display(s) you're looking at, and I can give you more information. |
|
|
jseidmann
Joined: 04 Nov 2004 Posts: 67
|
|
Posted: Mon Dec 05, 2005 7:34 am |
|
|
Hey,
I'm not looking at anything in particular, hence one of the reasons I'm posting now. I just wanted to know the options available, really, and whats easier to do. I thank you for your answers though, it does clear up some things. |
|
|
AK
Joined: 20 Apr 2004 Posts: 33
|
|
Posted: Mon Dec 05, 2005 12:13 pm |
|
|
Check out the displays at http://www.amulettechnologies.com/. They are pretty easy to program. The screens are created using HTML, so you can use something like FrontPage or NVU to create the screens. The screens are also touch screens and communicate with your micro via a serial connection.
AK |
|
|
newguy
Joined: 24 Jun 2004 Posts: 1908
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|