Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

PIC24FJ128GL306 interfacing with custom LCD

Status
Not open for further replies.

hemnath

Advanced Member level 3
Advanced Member level 3
Joined
Jun 24, 2012
Messages
702
Helped
61
Reputation
120
Reaction score
57
Trophy points
1,308
Location
Chennai
Activity points
6,589
Hi,

Controller: PIC24FJ128GL306
Display: Attached pdf.

MPLAB X IDE, xC16 compiler

Connections as per the attached circuit.

In program, initialization routine for display,
void V_InitializeDisplay(void)
{
LCDCON = 0x000F; // 1/8 Mux (8 Com), clk = FRC,LCD Disabled in sleep,
LCDPS = 0x0000; // Type A waveform,1/3 bias, no prescaler
LCDSE0 = 0xFFFF; // Segment 0 to 15 enabled
LCDSE1 = 0x00FF; // Segments 16 to 23 enabled
LCDREF = 0x80F0; // Ref ladder in B power,high power ladder mode, max contrast
LCDREG = 0x0001; // clk source for reg = 32khz lprc, charge pump vol = AVDD
V_LCDPowerON();
}

void V_LCDPowerON(void)
{
LCDCON |= 0x8000;
}

Voltage applied to controller: 3V

Only controller and display are connected. No external circuits are connected.

Once powered ON, characters on the display is not clear(Very dull).
 

Attachments

  • Segment LCD.pdf
    430.9 KB · Views: 129
  • PIC24FJ128GL306-Family-Data-Sheet-DS30010198B.pdf
    4 MB · Views: 129
  • uC to display connections.pdf
    45.7 KB · Views: 160
Last edited:

Hi,

I guess there are application notes or design notes regarding "how to use LCDcontroller".
Did you read through them?

Klaus
 

Yes. I have read the document. I can see SEGMENTS ON. Contrast is set high.

LCD initialization commands,
LCDCON = 0x800f; // 1/8 Mux (8 Com), clk = FRC,LCD Disabled in sleep,
LCDPS = 0x0000; // Type A waveform,1/3 bias, no prescaler
LCDSE0 = 0xFFFF; // Segment 0 to 15 enabled
LCDSE1 = 0x00FF; // Segments 16 to 23 enabled
LCDREG = 0x8001; // clk source for reg = 32khz lprc, charge pump vol = AVDD
LCDREF = 0x80F0; // Ref ladder in B power,high power ladder mode, max contrast

On the display datasheet, it is mentioned as 1/4 bias. But the controller has a maximum of 1/3 bias and it is selected. I see some segments are dull. Any suggestions.
 

Hi,

You say: "some segments are dull".
But what segments are dull? Do you expect those segments to be ON or OFF?

You may use a scope (high impedance input mode) and show us some waveforms.

Best: make only one segment to be ON.
Show us folowing waveforms.
* row and column of the ON segment
* row and column of any OFF segment.

Klaus
 

error in initialization commands. Now the problem is solved. I tried LPRC 32 kHz is very slow and FRC 8Mhz which is fast and consumes lot of power. I prefer to test with 1Mhz. how to change the frequency.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top