LPH7653-1:  97 x 35 dots graphic LCD interface

Projects Home

 


 

This is a small I²C 97x35 dots LCD with integrated controller and LED backlight.

You'll need these routines to display text or graphics with an 18f452.

X and y axe-control: 97 columns (x= 0..96) and 35 rows (4 lines y= 0..4 and three rows). Each character we'll use will have 6x8 dots.

All parts are available in our online shop

Schematic (Eagle 4.11e), source code (CCS) and hex file available.


Circuit explanation:

These routines take only 6% ROM and 3% RAM from a 18f452. So there will be enough space left to do other things !!

All important pins are left free for later use: INT0, A/D converters and Timers.

Power save: there is a power save mode available on the module, but sadly enough this mode still takes around 3mA at 5V.

The big advantage is that the module is entirely driven by i²c. The backlight is also nice. Annoying thing about this LCD is that it needs an external -8V, but of course, there's a solution for that! Indeed, i chose to use a simple voltage inverter with a CMOS 555. It could be done more easily with an additional 9V battery, but a portable device with only one battery is more attractive, isn't it?


Schematic: right-click & "save picture as" for full resolution or (recommended) download the eagle-file below.


Part List (Bill of material): here.


Main component list & interconnections:

LPH7653-1 LCD

PIC 18f452

pin # symbol   pin #
1 LED GND GND 12,31
2 LED +4V/+5V +5V 11,32
3 -8V LCD contrast    
4 +2,5V    
5 GND    
6 I²C SCL SCL 18
7 I²C SDA SDA 23
 
Power consumption
   
Mode current @ 5V
   
LCD power down 3,7 mA
Operating, no EL backlight 4,5 mA
Operating, with EL backlight 70 mA
   
     

Available c routines: (ccs compiler)

routine ccs c example explanation
     
lcd_cls(); lcd_cls(); clear screen
lcd_power_up(); lcd_power_up(); power up and initialization
lcd_power_down(); lcd_power_down(); shut down the module
lcd_text(byte cvar); printf(lcd_text,"LPH7653 module"); displays the text "LPH7653 module"
     
lcd_gotoxy(byte xlcd, byte ylcd); lcd_gotoxy(24, 2); goto column 24 , line 2 //  (col 0 to 96) and (line 0 to 4) (line 0 is top)
lcd_clear_x(byte ylcd); lcd_clear_x(60); clear character beginning on column 60 // (col 0 to 96) (col 0 is left)
lcd_clear_y(byte ylcd); lcd_clear_y(0); clear line 0 // (line 0 to 4)
lcd_clear_xy(byte xlcd, byte ylcd); lcd_clear_xy(78, 2); clear character at column 78 , line 2 //  (col 0 to 96) and (line 0 to 4)
     
lcd_plot(byte xlcd,byte plot_value8); lcd_plot(38,31); place dot at column 38, row 31 // (col 0 to 96) and (row 0 to 31) (row 0 is top)
" x_plot=12;
plot_value=15;
lcd_plot(x_plot,plot_value);
place dot at column 12, row 15 // (col 0 to 96) and (row 0 to 31)

 

     
invert_lcd_video=FALSE; invert_lcd_video=FALSE; normal video mode
invert_lcd_video=TRUE; invert_lcd_video=TRUE; reversed video mode
     
backlight=1; backlight=1; turn on the LED backlight
backlight=0; backlight=0; turn off the LED backlight
     

Downloads:

 

 WARNING: may not be duplicated for any commercial use whatsoever without explicit consent from the author (c) Michel Bavin

 

Hex file: 015_v5_hex.zip,  September 25, 2004: 015_05.hex (to program the PIC)  

Source code: 015_v5_c.zip (CCS compiler), September 25, 2004 : 015_05.c  (with include file lph7653_v2.c  )

Schematic:  015_sch.zip (Eagle 4.11e), September 25, 2004: 015_01.sch

Info & datasheet:

Graphic LCD module type LPH7653-1: pinout & info and its integrated controller PCF8558

Voltage inverter with a CMOS 555.
 

Tools:

This project is made with the PCWH CCS compiler ($425,-) You can install Microchip's free MPLAB IDE with it to get things going smoothly.

Programming of the PIC was done with the excellent Tiny PIC bootloader, through the RC6 & RC7 pins. But you'll need a regular PIC programmer to write the PIC the first time with though...

Eagle 4.11 was used for the schematic & PCB layout. 


Projects Home