Maker Pro
Maker Pro

big trouble LCD not HD 44780 ( but it is NT 3881)

M

Mylinux

Jan 1, 1970
0
I have brought ( 20x 2) with backlight

http://www.uniworldtech.com/LMC Series/20x2/LMC-S2C20.htm



I have specially ask the sale-lady it must be HD 44780 compatible.


ALL the pins assignment of the same as a truly LCD module.

my truly LCD program does not work with the new SDEC LMC-SS2A20.


I really hate this. big trouble LCD not HD 44780 ( but it is NT 3881)
 
G

Grog

Jan 1, 1970
0
Mylinux said:
I have brought ( 20x 2) with backlight

http://www.uniworldtech.com/LMC Series/20x2/LMC-S2C20.htm



I have specially ask the sale-lady it must be HD 44780 compatible.


ALL the pins assignment of the same as a truly LCD module.

my truly LCD program does not work with the new SDEC LMC-SS2A20.


I really hate this. big trouble LCD not HD 44780 ( but it is NT 3881)

First glance tells me that the character ram address is different.
Line one normally starts at 0x00 and yours is at 0x80.
Line two normally starts at 0x40 and yours is at 0xC0.

There's probably more, I'll look closer... I'm bored.. :)

Be Well,
Greg the Grog
 
A

Android Cat

Jan 1, 1970
0
Mylinux said:
I have brought ( 20x 2) with backlight

http://www.uniworldtech.com/LMC Series/20x2/LMC-S2C20.htm

I have specially ask the sale-lady it must be HD 44780 compatible.

$DEITY, cross-posted for 4 groups but they all seem to be on topic this
time! Can't help you, but you do seem to be improving your aim. :)

--
Ron Sharp.
I just booted a 23 year old friend:
EXPLORER-85 VER 1.4
COPYRIGHT 1979
NETRONICS R&D
NEW MILFORD, CT.
 
M

Mylinux

Jan 1, 1970
0
I have used your addresses that you told me.

it seems it is shifting out characters but it has "complete black spot" 5x8
pixel are appearing on each line.


please tell me more how to correct this.


I search alta-vista and deja.com in order to dig into the problem.
 
M

Mylinux

Jan 1, 1970
0
Mylinux said:
I have used your addresses that you told me.

it seems it is shifting out characters but it has "complete black spot" 5x8
pixel are appearing on each line.


please tell me more how to correct this.


I search alta-vista and deja.com in order to dig into the problem.

and the output is a mess.
garbage charaters embedded in each line.

Big trouble.
 
M

Mylinux

Jan 1, 1970
0
Mylinux said:
and the output is a mess.
garbage charaters embedded in each line.

Big trouble.


other strange thing, I have not connected pin 15 and 16, it can display
display backlight.
 
R

Richard

Jan 1, 1970
0
Mylinux said:
I have brought ( 20x 2) with backlight

http://www.uniworldtech.com/LMC Series/20x2/LMC-S2C20.htm



I have specially ask the sale-lady it must be HD 44780 compatible.


ALL the pins assignment of the same as a truly LCD module.

my truly LCD program does not work with the new SDEC LMC-SS2A20.


I really hate this. big trouble LCD not HD 44780 ( but it is NT 3881)
From the data I've read, the NT3881 is a copy of the HD44780. I've used the
HD44780 based LCD's and the CGRAM address for line 1 is 0x80 and line 2 is
0xC0.

The fact that you are getting something displayed is proof that the
interface is working (in a fashion).

Try this:

Reset LCD.
Send one character to line 1 - is garbage displayed in correct location - ie
character 1 at position 1?

If so, then it may be a speed issue - try slowing down the communications to
the LCD.


Richard.
 
A

Anton Erasmus

Jan 1, 1970
0
I have brought ( 20x 2) with backlight

http://www.uniworldtech.com/LMC Series/20x2/LMC-S2C20.htm



I have specially ask the sale-lady it must be HD 44780 compatible.


ALL the pins assignment of the same as a truly LCD module.

my truly LCD program does not work with the new SDEC LMC-SS2A20.


I really hate this. big trouble LCD not HD 44780 ( but it is NT 3881)

I recently had a problem with a LCD module that was supposed to be
HD44780 compatible. I cannot now recall if it used the NT3881. What I
found was when one read from the module to check the busy bit, the two
nibbles was swapped. Busy was at bit 3 in stead of bit 7. When I
changed my standard LCD code to swap the nibbles on a read of the
busy flag, everything worked as expected.

Regards
Anton Erasmus
 
M

Mylinux

Jan 1, 1970
0
I recently had a problem with a LCD module that was supposed to be
HD44780 compatible. I cannot now recall if it used the NT3881. What I
found was when one read from the module to check the busy bit, the two
nibbles was swapped. Busy was at bit 3 in stead of bit 7. When I
changed my standard LCD code to swap the nibbles on a read of the
busy flag, everything worked as expected.

Regards
Anton Erasmus




I can't locate the busy bit from nt 3881 pdf.

I wrote up the program to print "A" to lcd

but the trouble is
black spot 3 times then A then one japanese character then 8
 
M

Mylinux

Jan 1, 1970
0
Andrew Jackson said:
People would probably be able to help you a little more if you gave us a
code snippet and also how you have wired your LCD: 4bit or 8bit interface?

As others have already pointed out the row addresses are 0x80 and 0xc0. The
UniWorldTech page says it is 5x8 matrix: are you setting this in the
function byte during initialisation?

Andrew


#include "panel.h"
// line 30 16 -----> 20 on 20th Sept 2003

void lcd_reset() {
out_lcd(0x38,0); file://Display mode
usleep(10000);
lcd_clr(); file://Clear
out_lcd(0x0c,0); file://Display on
out_lcd(0x06,0); file://Entry mode
}

void lcd_clr() {
out_lcd(0x01,0);
usleep(3000);
}

void lcd_putc(char c) {out_lcd(c,1);}

file://No scrolling
void lcd_puts(const char *s) {
int i,j;

i=0;
j=0;
while(s!='\0') {
if(s=='\n') {
j=0;
/* HD 44780 */
out_lcd(0x80|LINE2_ADDR,0);

/* NT 3881
out_lcd(0x80|LINE2_ADDR,0);
*/

}
else if(j<20) {
out_lcd(s,1);
j++;
}
i++;
}
}

void gotoxy(int x, int y) {
int addr;

if(y==0)
addr=LINE1_ADDR;
else
addr=LINE2_ADDR;
addr+=x;
/* HD 44780 */
out_lcd(0x80|addr,0);


/* NT 3881

out_lcd(0x80|addr,0);
*/
}
 
G

goose

Jan 1, 1970
0
Mylinux said:
#include "panel.h"
// line 30 16 -----> 20 on 20th Sept 2003

void lcd_reset() {
out_lcd(0x38,0); file://Display mode
usleep(10000);
lcd_clr(); file://Clear
out_lcd(0x0c,0); file://Display on
out_lcd(0x06,0); file://Entry mode
}

it is a long time since I last wrote LCD code,
but IIRC, shouldn't you be sending the reset/init
byte to the device 3 times first ?

a quick look through my assembler listing finds that
I send the lcd 0000011 three times, seperated by
a small-ish delay.

search for the datasheet on google (where i found
it many moons ago when i wrote the lcd interface).

hth
goose,
 
M

Mylinux

Jan 1, 1970
0
goose said:
"Mylinux" <[email protected]> wrote in message

it is a long time since I last wrote LCD code,
but IIRC, shouldn't you be sending the reset/init
byte to the device 3 times first ?

a quick look through my assembler listing finds that
I send the lcd 0000011 three times, seperated by
a small-ish delay.

search for the datasheet on google (where i found
it many moons ago when i wrote the lcd interface).

hth
goose,


I broke one of the circuit and it is beyond repair. Monday I need to travel
and buy a compatible one ( hd 44780)



sorry to everyone. I could been more careful.
 
Top