Author
Topic: NHD-C12864B2Z-RN-FBW w/PIC16LF1939 (Read 3901 times)

Although there is another thread in this section about this model of COG LCD, I think that starting a new thread is a better option, as the MPU is different.

I've purchased a couple of NHD-C12864B2Z-RN-FBW displays, and connected one of them to a Microchip PIC16LF1936 microcontroller, keeping the second display as a spare unit. Both the display and the PIC microcontroller are powered at 3.3V from a digital, adjustable power supply. Connections have been made following the NHD's datasheet, using 5 x 100nF ceramic capacitors for V0~V4 pins, and 4 x 1uF tantalum capacitors for C1~C3 pins (paying special attention to polarity).

As a starting point, I'm trying to initialize the display (adapting the Example Initialization Program provided by NHD) and then to turn all the display points ON (command 0xA5). But somehow the display seems not to react to any command sent from the PIC, as it is always "clear" (no segments are lighted up). I've double checked all the connections in the proyect board and everything seems to be OK. Also I've checked the signals coming out of the PIC microcontroller using a 4-channel oscilloscope, and both the 8-bit data and the timing between data and /WR signal seem to be OK. The /RD signal is tied to VDD, and the A0 signal is controlled by the PIC, but that line is working OK (always on low-state, as we're writing commands). I've also tried the spare display without success.

FYI, I'm using a NHD-FFC30 board to connect the display to my project board, making sure that the 1# pin on the FFC strip matches the 1# pin on my board.

Here's the code I'm using (compiled with CCS and debugged with MPLAB 8 ). Any advice on how to deal with this situation will be greatly appreciated:

Tried all the proposed solutions, sadly without success... the display doesn't shows anything.

I took these pictures in hope that they will be useful to find a solution:

Here we have the complete assembly. It might look messy but I've checked all the connections and everything is OK.

In this picture you can see the 27-pin FFC strip attached to the 30-pin FFC board (with the retaining lever lifted up for the picture). Notice the three free pins (board pins 28~30) at the right side of the connector.

For the last picture, I took a screenshot with the oscilloscope. This waveform was recorded when sending the "0xA5" instruction (from the "main"). The yellow channel is the /WR signal, and the blue, pink and green channels are the three most significant bits of the instruction (bit 7 ~ bit 5). As far as I can tell, the waveform - and its timing - seems to be OK.

Finally, I've also noticed that when trying to read the "status" from the LCD, it returns ramdom values... seems that something inside the LCD chip is not working as expected.