Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Problem with interfacing LCD module

Status
Not open for further replies.

lukas.ballo

New Member
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.

Picture of the display:
**broken link removed**

Thank you very much for any ideas!!!

Connections:

[FONT=&quot]1. GND -------------------------- (-)
2. VCC -------------------------- (+5V)

[FONT=&quot]3. RESET ----------------------- (c0)[/FONT]

[/FONT] [FONT=&quot]4. REGISTER SELECT ------ (c1)
[/FONT] [FONT=&quot]5. READ/WRITE SEL ------- (c2)
[/FONT] [FONT=&quot]6. ENABLE -------------------- (c3)
[/FONT] [FONT=&quot]7. DATA BIT 0 --------------- (0)
[/FONT] [FONT=&quot] ...
[/FONT] [FONT=&quot]14.DATA BIT 7 -------------- (7)[/FONT]

Microcontroller program:

'====TURN INPUTS 0-3 INTO OUTPUTS=====
low portc 0
low portc 1
low portc 2
low portc 3
'=====================================

high portc 0 'make reset high

let b1 = 0 'variable to cout characters

'====COMMAND====
low portc 2 'r/w
low portc 1 'command sel
pause 1
high portc 3 'enable
pause 1
let outpins = 0x3 'apply command
pause 1
low portc 3 'disable
pause 1
let outpins = 0 'erase command
'===============

pause 1

'====COMMAND====
low portc 2 'r/w
low portc 1 'command sel
pause 1
high portc 3 'enable
pause 1
let outpins = 0x1 'apply command
pause 1
low portc 3 'disable
pause 1
let outpins = 0 'erase command
'===============

pause 1

'====DATA=======
start:
low portc 2 'r/w
high portc 1 'data sel
pause 1
high portc 3 'enable
pause 1
let outpins = 0xCC 'apply data
pause 1
low portc 3 'disable
pause 1
let outpins = 0 'erase data
'===============

pause 1

let b1 = b1 + 1 'count one character

if b1 = 24 then 'finish after 24th character
goto finish
else
goto start
endif
finish:

keep: 'keep running the program
goto keep
 
Last edited:
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.

Try looking at this page

I would post my driver but it is in c.
3v0
 
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.

**broken link removed**
 
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.

humidity-proto-005scale-jpg.26723


lcd111-adpt-gif.26721


Here is a PDF of the PCB.
 

Attachments

  • LCD111_1X14_SMD.pdf
    8.1 KB · Views: 470
  • LCD111-ADPT.GIF
    LCD111-ADPT.GIF
    7.7 KB · Views: 2,370
  • Humidity Proto 005Scale.JPG
    Humidity Proto 005Scale.JPG
    93.6 KB · Views: 2,216
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top