Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - adilmalik

Pages: [1]
1
Hi Everyone,

I recently decided to use a NHD-C12864WC-FSW-FBW-3V3-M http://www.mouser.com/ds/2/291/NHD-C12864WC-FSW-FBW-3V3-M-53730.pdf in a project. It has been extremely painful to get this nice LCD to work at all. Over 2 days of debugging ive noticed a lot of strange behavior. Hopefully someone can help me to get the LCD to work reliably.

I am using the LCD in SPI mode, the LCD is connected like so:



I am using it in serial SPI mode. I have tied WR to ground and RD to 3v3 because i only intend to write to the LCD. Furthermore, ive tied PS to ground to indicate serial mode and i have left C86 floating (i think in serial mode the controller doesnt care about this pin..)

Im using a PIC MCU and ive written the following test code:

Code: [Select]

//Init code
             CS_LCD(0);
        Rst_LCD(0);
        Rst_LCD(1);
        MS_LCD(0);
        Write_SPI1(0xA3);
        Write_SPI1(0xA0);
        Write_SPI1(0xC8);
        Write_SPI1(0xA4);
        Write_SPI1(0x40);
        Write_SPI1(0x25);
        Write_SPI1(0x81);
        Write_SPI1(3);
        Write_SPI1(0x2F);
        Write_SPI1(0xB0);
    Write_SPI1(0xAF);   
       CS_LCD(1);

//Test Pattern code

  CS_LCD(0);
        unsigned int i, j;
        unsigned char page = 0xB0;
        for (i = 0; i < 8; i++){
              MS_LCD(0);
            Write_SPI1(0x10);
       //set column address
        Write_SPI1(0x00);
       //set column address
        Write_SPI1(page);
    //set page address
     for (j = 0; j < 128; j++)
         
       {
           MS_LCD(1);
        Write_SPI1(0x80);
       
        }
       page++;
    }
    CS_LCD(1);


The code should draw lines on the display but the screen does not turn on at all. After a lot of head scratching i randomly took another capacitor and connected it across the LCDs capacitors on the PCB and every now and then the LCD comes to life! It displays my test pattern partially, but the pattern is not perfect, there seems to be random junk in places.
Now here is the weird bit, if i leave the capacitor exactly where it was connected when the LCD turned on, and i restart the LCD, it does not turn on again! I need to again play around with this external capacitor connecting it across the LCDs capacitors and then randomly it would turn on again.

I am not familiar with these LCDs, but to me it seems as if the onboard DC DC converter that generates the LCDs voltages does not start up, but giving it some extra capacitance sometimes brings it to life and the lcd works partially.

I am really lost can someone please help me.

Pages: [1]