CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

Graphical LCD programming

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
jseidmann



Joined: 04 Nov 2004
Posts: 67

View user's profile Send private message Send e-mail

Graphical LCD programming
PostPosted: Fri Dec 02, 2005 4:11 pm     Reply with quote

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

View user's profile Send private message AIM Address

PostPosted: Fri Dec 02, 2005 4:45 pm     Reply with quote

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








PostPosted: Fri Dec 02, 2005 5:06 pm     Reply with quote

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: 1903

View user's profile Send private message

PostPosted: Fri Dec 02, 2005 5:07 pm     Reply with quote

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:
Code:
****   *

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:
Code:
*
*
*
*



*

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

View user's profile Send private message Send e-mail

PostPosted: Mon Dec 05, 2005 7:34 am     Reply with quote

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

View user's profile Send private message

PostPosted: Mon Dec 05, 2005 12:13 pm     Reply with quote

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: 1903

View user's profile Send private message

PostPosted: Mon Dec 05, 2005 12:54 pm     Reply with quote

jseidmann wrote:
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.


Further to what I've said already.....

Here are a couple links to the displays I've used before.

A 128x64 equipped with Epson controller: http://www.optrex.com/products/partdetail.asp?PartNumber=F-51320GNB-LW-AB

A 240x64 equipped with Toshiba controller (now obsolete): http://rocky.digikey.com/scripts/ProductInfo.dll?Site=CA&V=153&M=MGLS-24064-C-HV-G-LED3G

Like AK has suggested, if you need a touch panel to go with your graphical LCD, it's much easier to buy a kit. Here are another two suppliers: www.reachtech.com and [url]store.earthlcd.com[/url].
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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