I tried to interface an LCD module (WD-C2401P-1GNN) with PIC16F886 (PICAXE 28X1) microcontroller however even after I send the ON command and apply 8-bit data to its 24 positions, nothing shows up. The display is driven by HD66717 which is one of those less common chips. Data sheet for this display is really poor and the information I found on-line did not help to solve the my problem.
I use these displays and they work. When you post code use the # icon to put
Code:
tags around your code.
To initilize the the display you have to send it 5 command bytes.
Code:
rom const uByte LCD111_INIT[] = {
0x1C, // Turn on the lcd driver power
0x14, // Turn on the character display
0x28, // Set two display lines (The hd66717 considers 12 characters to be a line. Our 24 character display is actually two 12-character lines right next to each other).
0x4F, // Set to darkest contrast
0xE0 // Set the data address to the first character
};
Data/command should be stable on the pins during the enable pulse.
It works great! So far I can not display readable text (I was just sending random hexadecimal data) but this will be the next stage since I have to change the program.
Glad to see it works. I picked up 20 of these little displays for teaching breadboarding. I etched a PCB that converts the .05 inch pin header to .1 inch. The header pins are soldered flat to the PCB as if they were surface mount. On the .05 end I flood the pins with solder and the knock off the excess by tapping the PCB on the workbench. Solderwick would work too.
You can epoxy the bottom edge of the PCB to the black blob on the back side of the display for more strenght. The image shows the LCD inserted behind a processor module.