cancel
Showing results for 
Search instead for 
Did you mean: 

T6963

jaroslaw2
Associate II
Posted on July 12, 2009 at 20:55

T6963

14 REPLIES 14
radek
Associate II
Posted on May 17, 2011 at 12:42

Quote:

I couldn't find the author for this original project

Everything looks like I am author of original project 😉

jaroslaw2
Associate II
Posted on May 17, 2011 at 12:42

This program prints a string and picture on a LCD WG240128B-YYH-TZ produced by winstar

company. The LCD is compatible with T6963C chipset.

All signals are connected directly to ports of STM32 processor.

You will find easily where to connect it in one of a header file in a project.

This program was originally written for another platform not by me

I've only moved it to the STM32 processor.

I couldn't find the author for this original project so sorry for inconvenience .

I hope you will find it useful.

To use it please download Anglia IDEAliST.

http://www.st-angliamicro.com/software.asp

jaroslaw2
Associate II
Posted on May 17, 2011 at 12:42

Hi,

Do you have any licence for that? I hope you don't mind I have used your code.

thx,

J.O.

optizyme
Associate II
Posted on May 17, 2011 at 12:42

Dear friends,

Thank both of you for writing these codes. I'm trying to setup my lcd which is 240x128 T6963C. I'm using Keil compiler. I'm using MCBSTM32 board and Keil 3.70

I have no success to work this. Could you help me please? Here is my code and datasheet. I have no idea about PD pin..

Optizyme

jj
Associate II
Posted on May 17, 2011 at 12:42

You will get better replies with a description beyond, ''no success.''

From experience - suspect that you have no viewable pixels - which usually results from improper contrast voltage. Historically these older mono graphic Lcds required a ''negative Vo or contrast voltage'' with respect to ground. Some newer models - especially those of QVGA resolution or beyond - require a positive contrast voltage.

*** You must understand and get this right - applying the wrong polarity

contrast voltage can KILL your Lcd! *** (double, triple check - consult the Lcd maker and proper data sheet to be SURE)

I'm reasonably certain that the code in this thread is correct - so I'm leaning to contrast and/or power issues in your case. As the ARM runs at 3V3 and most older Lcds require 5V - may this be an issue? My experience reveals that ''most'' older 5V Lcds will operate correctly when controlled by 3V3 micro bus & control signals. Start by supplying the Lcd with 5V to its power pin - if that is its spec.

If you have correct power and contrast voltage you should adjust the contrast voltage until you can ''just or barely'' see the dot pixel field.

Then - after you've ''initialized'' the Lcd the pixels should intensify and you should ''tweak'' the contrast voltage. (always staying w/in spec)

Should your Lcd be a negative mode you will have to illuminate the backlight to view the pixel field. Again comply with the Lcd's spec.

The T6963 controller requires different set-up for text and graphics. Start with text - once the pixel field ''reveals'' you can move on to graphics - and the creation of multiple size/font text and graphics.

Good luck...

jj
Associate II
Posted on May 17, 2011 at 12:42

Don't believe we've worked with that controller (SAP1024B). T6963 has been around > 20 years - much tested set-up and code is available.

Again - be very careful to avoid reverse and/or excessive contrast voltage. This will often kill the Lcd. I would ask for an engineer at Lcd maker - you need tech savvy guy - not sales. Usually - no (or too dim) pixels result from insufficient contrast voltage - too dark pixels from excessive contrast voltage. (somewhere w/in that range is your optimum adjustment point - suggest you use a 10K pot wired between ''safe'' negative voltage and ground (assuming that your Lcd has negative contrast voltage spec - pot's wiper ties to Vo ''contrast pin'' of Lcd))

Very simple initialization and/or control IC commands can ''turn-off'' your Lcd. You must ''tell'' the control IC how many horizontal pixels (or bytes) and how many vertical pixels are on the fitted Lcd. There may be a specific command which ''turns on'' the Lcd or Control IC - look for that too.

T6963/clone requires 8 bit data bus, CS, Data/Control sig, and WR strobe. It may be that you have everything correct - but STM32 (and other ARM uCs) produce too narrow a WR strobe.

In summary:

a) positively confirm the polarity and max value of contrast voltage

b) find, understand and execute code to properly, sequentially initialize the Lcd

c) should pixel field not reveal you should then test/verify that your data bus, control sigs meet the control ICs spec

d) ''long shot'' - if you are powering the Lcd from 3V3 (so that you save the 5V Lcd requirement) this may/may not work. Check Lcd and control IC data - if Lcd shows this to be ''ok'' usually the contrast voltage must

be increased. (again - do NOT exceed any recommended max)

optizyme
Associate II
Posted on May 17, 2011 at 12:42

Dear jj.sprague,

Thank you for your kind interest. The seller company says this LCD is compatible with T6963C controller but it has SAP1024B controller. So i searched all over internet and found :

http://www.es.co.th/Detail.asp?Prod=ABG240128N09-BIW-R

This company gave a detailed pdf and source codes so now i'm checking the PIC micro code. I also checked T6963c ic and SAP1024B ic datasheets but their control parameters are very different. So i will try to port Hitech C code to STM32 and if i can do, i will share. Maybe we discuss it 😉

Again thank you for your comments.

Optizyme

optizyme
Associate II
Posted on May 17, 2011 at 12:42

Dear jj.sprague,

I would like to thank you for your kind interest. I checked all of facts that you've mentioned before. I found little msitake and started to compile my codes. I re-arranged all code and tried once. And suddenly meaningless characters has appeared! It was amazing for me. So i tried to debug my code. In my code, it is trying to enter graphic mode (text off) but it gives characters. I'm also trying to write graphic data to LCD. So is it related that it does not enter graphic mode? What do you think?

Note : My code is at home i can not add to forum. (I'll do it in the evening)

My LCD :

http://rapidshare.com/files/252948473/ABG240128N08-BIW-R.pdf.html

Optizyme

jj
Associate II
Posted on May 17, 2011 at 12:42

Good for you - once you can ''see'' pixels you have a fighting chance.

It's been >15 years since we've written T6963 code - I seem to recall that there was a software command to select between the built-in character generator (for text) and pixel graphics. When in the graphics mode you have to design and write a character generator(s) (cg) - we found the need for graphics sufficient to develop multiple size/font cgs.

Always advise clients to start ''simple'' - then proceed ''one step at a time'' by refinement. (more fun to change multiple - but when you crash your troubleshoot will be harder/longer) In your case - insure you ''know'' how to put T6963/clone into ''text'' mode - and start there.

You need to understand how to ''control'' the Lcd's cursor when in text mode. (and later in graphics mode) Once you've mastered this you can proceed to a CLS (clear screen) function. (believe that an ASCII char can clear a ''char pos'n'' on your screen - send this data repeatedly to the screen to implement CLS)

Meaningless characters are likely the result of your T6963 powering up in character mode (default) and displaying the ''random data'' content of the T6963's SRam. You eliminate these via the CLS function - described above.

Be sure you understand the difference between ''commands'' and ''data'' - there should be an external hw pin which you must toggle.

In summary:

a) power up - insuring that contrast voltage is proper

b) initialize the T6963/clone

c) you should now see the ''random content'' of SRam. ''Home'' the cursor - and invoke your CLS function - ''random/garbage'' should clear.

d) re-send home cursor function/command. Enable the cursor if that feature is available. (can't recall)

e) now send ''Hello World de Optizyme''

f) after this calculate the screen addresses for the start of each text line - and every text column - allowing you to write text to any valid screen location

g) ''now'' you are ready to investigate graphics - find the command to enter graphics mode. If successful - your data now will yield 8 horizontal pixels - rather than ASCII text. Calculating screen addresses will be more complex - a trade-off between pixel precision and text only.

You should be ''on your way.'' Everything (or most) of this writing will apply as you ''graduate'' to full pixel color TFTs. You will be ahead of the curve by 1st mastering your mono Lcd...