Mar
24

Nokia LCD Library

Author admin    Category All projects, Library     Tags , , ,

History

I found this LCD make for cellular phone Nokia 3310 by browsing the web at www.jelu.se. There is many interesting things about this LCD: low price, easy to interface via SPI port, can support graphic and text and consume low current.  The only thing that I did is writing code who gives you friendly functions to support this LCD.  The last version of the library only send the bytes who had changed since the last update. It's considerably reduce the refresh time who can be very important in a batteries powered system.

Functions Features

LcdInit(void)
LcdClear(void)
LcdUpdate(void)
LcdGotoXY(byte x, byte y)
LcdChr(LcdFontSize size, byte ch)
LcdStr(LcdFontSize size, byte *dataPtr)
LcdPixel(byte x, byte y, LcdPixelMode mode)
LcdLine(byte x1, byte y1, byte x2, byte y2)

Pictures

Download

Schematic

Source code




8 Comments to “Nokia LCD Library”

  • BBenj May 30, 2010 at 4:05 pm

    Le lien vers le schéma conduit à une erreur 404… :-(

  • admin June 1, 2010 at 12:46 pm

    It’s now correct
    Sylvain

  • xoom July 20, 2010 at 6:32 pm

    i love this LCD :)

  • Chupo_cro July 23, 2010 at 12:42 pm

    Hi,
    I have two 2 short questions:
    1:
    PCD8544 datasheet says: 'Immediately following power-on, the contents of all internal registers and of the RAM are undefined. A RES pulse must be applied. Attention should be paid to the possibility that the device may be damaged if not properly reset.', and there's only 30 ms to reset the display after connecting it to the power.
    I can see a preety long delay before
    PORTB &= ~LCD_RST_PIN;

    in your LcdInit routine, how is that possible?
    2:
    In .h file, there's:
    #define LCD_POWER                   0×01  //  PB0

    but in the schematics PB0 is connected to RES :-/
    similarly there's:
    #define LCD_RST_PIN                0×10  //  PB4

    but there's nothing on PB4 in the schematics :-/
    Best regards

  • admin July 23, 2010 at 12:51 pm

    Hmmmm, For the possibility of damage it’s strange, I never got problem with that, how a chip can be damage is there is no reset,….. and for the reset pin the schematic may be don’t reflect the code, it’s depend from what project I take the code.
    Sylvain

  • Chupo_cro July 23, 2010 at 2:27 pm

    Maybe because of the undefined RAM contents – there are some notes in the datasheet. Here's the note about the possibility of damaging the display due to the improper reset:
    http://img401.imageshack.us/img401/8192/pcd8544reset.png
    In your code I can see:
    #define LCD_POWER                   0×01  //  PB0

    and
    PORTB |= LCD_POWER;

    inside LcdInit before reset.
    Does it mean you connected PB0 directly to display's Vdd? Or did you use the transistor and connected PB0 to the it's base?

  • admin July 23, 2010 at 2:34 pm

    I power the LCD via PB0, no transistor, avr output can easyly drive the LCD power

  • Chupo_cro July 23, 2010 at 2:45 pm

    Thanx for answering me! I'll try to play with the display these days so I am collecting the data.
    Cheers

Post comment

Please note

All my source codes were taken from my personal projects.

Everything is for your information only. The C/C++ codes have been written
with ICCAVR. You can find the header and source CRT files by downloading their compiler.

All is for your information and everything is AS IS without any warranty of any kind. No other files are available and I don't make any modification for any body.

Categories

Blogroll

Electronic Links

Tags

AGC Anemometer AVR AVR Bootloader Bootloader Capacitence Capacitor Clock Color Control DCC Debugger Devices Digital driver Function Generator High Gain Microphone Humidity Inductance Inductor Laser LCD LED 3W Library Lightning Detector MegaLoad Meter Moodlight Mood Light MS5534 Nixie OscilloScope projector Rain Fall Sensor rgb RGB LED Scop Sensor SHT75 Temperature Terminal Tipping Bucket Train Modeling Vintage Water Detector