Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

in trouble with LCD (JHD162A)

Status
Not open for further replies.
Because I wrote:

LDX #PORTA
LDAA #$FF
STAA DDRC,X
BCLR PORTC,X,$FF ; actually it is now with $1003 since LDX #PORTA

My now problem is, it is just appearing one row black boxes on first line of LCD JHD162A...no matter how I change the initialization part, it also doesn't work!!
And one more thing, the DDRAM address for line 1 of JHD162A starts from $80? line 2 starts from $C0?
 
I apologize! I didn't see the indexed addressing!

The ONE row of black boxes indicate initialization error, as you suggested. Your DDRAM figures are correct.


Is you're LCD init array the wrong way round? You need to send the set function "0x38" first

Cheers Ian
 
Last edited:
My LCD JHD162A cannot display any characters

Thanks Ian..

I have set the Set Function as $38...now my LCD can display some characters but still existing error!!

I intend to show "WELCOME", but my LCD just show "LLLLLLLLLLLLLLLLLLLLL" for the whole first line of my LCD, and the cursor repeat and repeat going through in the first line from right to left.

is it my time delay problems? my coding as the asm.file
 

Attachments

  • LCDD.ASM
    2 KB · Views: 133
Try it with a delay here

Code:
INI_LCD	LDY	#INITIAL	;Initialize the LCD
LOOP	LDAA	0,Y
	BEQ	START		;After initialize then go START
	BSR	INS		;Jump or branch to INS
        (delay here)...
	INY			;Increment Y with +1
	BRA	LOOP		;Jump or branch to LOOP

of about 16ms ok.

cheers Ian
 
But I have already delay 0.587 second for the instruction write into the LCD after jumping to INS. Is that still not enough?
 
1/2 a second is a bit long! these displays are (worst case ) 40ms and after init drops to around 40us. This is obviously not the problem!!

My LCD init routine is 0x33 (40ms) 0x33 (40ms) 0x38 (16ms) then 0x0C (BF) 0x06 (BF) 0x01 (BF) BF = busy flag..

Cheers Ian
 
Status
Not open for further replies.

Latest threads

Back
Top