Newhaven Display Forum

Newhaven Products => Character LCDs => Topic started by: NewUser on November 22, 2015, 02:50:31 PM

Title: NHD-0108HZ-FSW-GBW example code
Post by: NewUser on November 22, 2015, 02:50:31 PM
having trouble getting my NHD-0108HZ-FSW-GBW started using example code on page 7 of its user document.  All pixels remain "on" (dark) after running the "initialization" and "command" functions, with I believe adequate time delays it shows.
2 questions:
1. My understanding is that the 4-bit-mode device expects the high-order digit first, then the low, yet comments in the code for the command and write functions say "clock lower..." followed by "clock upper..."
2. Shouldn't the "command(0x28);" late in the "init" function instead send "0x20" for this single-line display?
Any clarifications would be appreciated

Later Update:
coded an initialization per page 25 of ST7066U chip spec with slight success: now all the 5x8 pixels of the leftmost character are much darker (and blinking) than the other seven characters, but those are also quite visible.  Shouldn't they be almost invisible - this device lacks the contrast-control input that exists on some other models...
Title: Re: NHD-0108HZ-FSW-GBW example code
Post by: Saurabh_B on November 24, 2015, 10:32:30 AM
Hi,

In 4-bit mode, you would need to send the upper 4 bits first followed by the lower 4. The comments are wrong for that display, I will have that fixed soon.

Would you be able to post a picture of the black boxes?
Title: Re: NHD-0108HZ-FSW-GBW example code
Post by: NewUser on November 24, 2015, 04:29:06 PM
Hi, thanks for the reply.  I've made some progress but not full success yet.

I don't have ready means to send a photo, but my contrast issue goes away when running the device at 3 volts.  My TI programmer tool runs it at 3.6, a bit above the upper limit.

When I run the following initialization sequence, based on page 25 of the ST7066U, all 5x7 matrix of the leftmost character blink, and its cursor is On; the remaining 7 characters are blank.

   delay > 40 MS
Function Set #1:
   send 0x30, pulse "E" for the high nybble, delay >37 us       
Function Set #2, setting 4-bit mode, 1-line display, 5x8 font   
   send 0x20 high nybble then low nybble, pulsing "E" for each nybble, delay > 37 us
Function Set #3, again   
   send 0x20 again, high nybble then low nybble, pulsing "E" for each, delay > 37 us
Display On/Off control, Display ON, Cursor ON, Blink ON
   send 0x0F high nybble then low nybble, pulsing "E" for each, delay > 37 us
Display Clear:
   send 0x01 high nybble then low nybble, pulsing "E" for each, delay > 1.52 us
Entry Mode Set:
   send 0x07 high nybble then low nybble, pulsing "E" for each.
   
 R_W and RS signals are always low

So the initialization may be working, but I would not have expected the first character's pixels to be "On" - maybe that's normal?

If Initialization is OK, how now to send data to be displayed? Examples don't cover that, and I'm unclear on the DDRAM Address discussion

THANKS