JE-AN 1286404 Graphical displays

Go To Last Post
16 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have two of these displays and I would like to try them out eventually.

Questions:
Has anyone used these disp[lays in the past?
If yes, your thoughts on them

Does anyone have some code I could sneak a peek at.....Assembler preffered :oops:

Thanks

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Which controllers do they use? A link to the DS?

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

KS0108. I have one in a box but have never got round to wiring it up. However there are a load of threads and internet articles about using them that I found when I was looking into the details. Obviously the Fabiam Maximillian Thiele code for KS0108 is one of the main, respected ones but see a recent thread here in GE about KS0108 where I found some KS0108 code on a Polish site that someone found to work well too.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have some assembler code for KS0108 drivers.
I wrote it ten years ago for a CrystalFontz display.
The thing that was a bit annoying was that the display is divided vertically in two halves.
So you need to keep track of the "row ctr".

To init the display:

lcd_init:
	sbi	portc,rset		;reset hi
	ldi	adr,0x3f		;send DisplayOn 
	rcall	write_instr		;to Lcd

And the general routines for sending data and instructions:

busy_flag:
	ldi	temp,0x00		;load zero to make
	out	ddra,temp		;porta input
	out	porta,temp		;porta  no pullup
	cbi	portc,rs		;clear rs => instruction
	sbi	portc,r_w		;set r/w => read lcd
	sbi	portc,en		;set en => read lcd bus
	sbic	pina,busy		;lcd still busy?
	rjmp	busy_flag		;yes => hold action
	cbi	portc,en		;no  => disable lcd
	ret				;and return
	
write_instr:	
	rcall	busy_flag		;call busy_flag
	cbi	portc,rs		;clear rs => instruction
	rjmp	write_all		;write instruction
	
write_data:
	cpi	yh,0x80		;if beyond limit
	breq	turn_page		;RightScreen 
	inc	yh			;else inc RowCtr
turn_in:
	rcall	busy_flag		;call busy_flag
	brts	skip_inv
	com	adr			;invert data byte
skip_inv:
	sbi	portc,rs		;set rs => data
write_all:
	cbi	portc,r_w		;clear r/w => write 
	sbi	portc,en		;clear en => lcd enable
	ldi	temp,0xff		;make
	out	ddra,temp		;Porta => output
	out	porta,adr		;Porta => ASCII Char 
	rcall	us_delay		;do delay
	cbi	portc,en		;set en => disable lcd	
	ldi	temp,0x00		;load zero
	out	ddra,temp		;Porta input
	rcall	us_delay		;do delay
	sbi	portc,en		;clear en => lcd enable
	ret                     ;return from call
	 
char_string:
	lpm	adr,z+		;load ASCII Char
	rcall	write_data		;do write sequence
	dec	ctr			;dec ctr
	brne	char_string		;until zero
	ret                     ;send Char to LocalScreen

turn_page:
	sbi	portc,cs_1		;LeftOff
	cbi	portc,cs_2		;RightOn
	ldi	row,0x40		;Row0/64
	push	adr			;save adr
	rcall	dot_adr		;send adress
	pop	adr			;reload adr
	ldi	yh,0x40		;reset Y ctr
	rjmp	turn_in		;return

us_delay:
	ldi	temp,2		;3us delay
loop:
	dec	temp		
	brne	loop
	ret	     

dot_adr:
	mov	adr,pge  		;copy Page
	rcall	write_instr		;to Lcd
	mov	adr,row   		;copy Row
	rcall	write_instr		;to Lcd
	mov	adr,line		;copy Line
	rjmp	write_instr		;to Lcd


                                          

Hope this helps to get you started.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

THanks All,

js,
here is the datasheet I got from Korea. yes, it is in excel! :shock:

Attachment(s): 

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Looks like the driver chip is T6963C and not KS0108.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How curious - I have a display with the same model number and it was specified as KS0108. Maybe they switched production (it's several years old) but you'd have thought they'd change the model number of the module itself!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
How curious - I have a display with the same model number and it was specified as KS0108. Maybe they switched production (it's several years old) but you'd have thought they'd change the model number of the module itself!
Jim, sounds as you need to investigate what driver chip you have on your board prior to anything else.
Hopefully it's not just a round blob impossible to identify.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Hopefully it's not just a round blob impossible to identify.

But sadly that's exactly what it is (well it is on mine). Now I'm curious. It's tempting to wire one up and see what command set it responds to. (only thing is I've got to find it first - my wife keeps on making me have "purges" and sort bits and pieces into boxes that are never to be seen again!)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Cliff,

You can make an inspired guess by counting black blobs. The KS0108 needs two controllers for a 128x64 display.
The T6963 uses one. The module pin-out is likely to be very different too.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

And here was me thinking I knew which box it was in - but seemingly not - ho hum.

EDIT: Oh thank God - I am not losing my marbles after all:

https://www.avrfreaks.net/index.p...

This is a JE-AN 1286404 in operation:

(the text on that picture is a bit of a give away!)

EDIT2: double "Ah ha!". This is JE-AN's own site:

http://www.jeanlcd.co.kr/product...

So it depends whether is is:

JA-1286403B1 = KS0108
or
JA-1286404B2 = T6963C

I guess I have the former and Jim the latter. Doesn't help Jim much but sure helps my sanity!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have three blobs on the back of mine. No 'B' or 'C' notes
The only other marking is HQM1286404

Looks like there is a voltage inverter on the back of the unit as well

EDIT: Looks like it is the K Controller

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

I have three blobs on the back of mine.

Boy I wish I could find mine - I'm 99.9% certain that's the same as mine and I think you'll find that the three blobs consist of one KS0108 and two KS0107 (the segment driver chips used by KS0108 for each half of the display).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Cliff,
Here is the back of mine:

Attachment(s): 

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This is rather confusing.

Quote:
This is a JE-AN 1286404 in operation:

Reading the thread Cliff provided together with the picture seem to imply that JA-1286404 has KS0108 driver.
I looked at the back of my CrystalFontz GLCD and it has 3 blobs.
To me all this seem to suggest that Jims driver is KS0108.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yeah I am thinking the same

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user