I've got an NHD-0220DZW-AB5 that exhibits some really bizarre behavior. I'm controlling it via the 8-bit 6800 mode. It appears that, regardless of the state of the register select line, every byte I send to the display gets interpreted as a command. It gets stranger from there, too: if I initialize the display following the exact sequence given in the datasheet (except I send the "Function Set" command multiple times, or else it gets stuck in single-line mode) and then send an ASCII "6" as display data, the display glitches out (the entire upper row appears to be all on for a moment) and random characters from the English/Russian character ROM appear on the display. If I then send it proper "function set" commands with different character ROMs selected, the characters change to the respective selected ROM. I've even got the display controller to apparently crash on occasion--when reading it, the BUSY flag is always set and never goes low.
I've double-checked all my timings with an oscilloscope, so I'm reasonably sure that I'm meeting all the timings specified in the datasheet. The process of generating garbage characters I describe above is readily repeatable, so I'd be happy to provide photos and oscilloscope captures on request. I've played with similar Newhaven 2x20 displays (LCD and VFD) before with complete success, so I really have no idea what I might be doing wrong. (It's a shame, too--the OLED display looks really lovely!)
Thanks in advance,
Please sign in to leave a comment.