lph 7508

disclaimer / info:

DISCLAIMER:
THIS IS EXPERIMENTAL SOFTWARE AND HARDWARE. USE AT YOUR OWN RISK. THE MAINTAINER(S) OF THESE PAGES AND THE DEVELOPER(S) OF SOFTWARE AND HARDWARE PRESENTED ON THESE PAGES CAN NOT BE HELD LIABLE UNDER ANY CIRCUMSTANCES FOR DAMAGE TO HARDWARE OR SOFTWARE, LOST DATA, OR OTHER DIRECT OR INDIRECT DAMAGE RESULTING FROM THE USE OF THIS SOFTWARE OR HARDWARE. IF YOU DO NOT AGREE TO THESE CONDITIONS, YOU ARE NOT PERMITTED TO USE OR FURTHER DISTRIBUTE THIS SOFTWARE OR TO USE ANY TEMPLATES FOR BUILDING HARDWARE PRESENTED HERE.

lph 7508 display module kit:

description

lph 7508 display modules are controlled using an on-board controller sed1560.
specifications
resolution 100x64
colours monochrome
controller sed1560
backlight yes
adjustable contrast yes, programmable
dimensions module: 77 x 64 mm, display area: 35 x 22 mm (pollin manual)
name in serdisplib LPH7508       (example: serdisp_init(sdcd, "LPH7508", ""); )

some images

[lph7508 display module kit: assembled]
fully assembled lph 7508 display kit
[lph7508 test image] [lph7508 graphlcd output]
lph7508 showing a test image output generated by graphlcd
top ^

connecting an lph 7508 display module to the parallel port:

intro

lph 7508 was connected using pollin's 'lc-display module-kit'. so the wiring was 'pre-defined'.

addressing

anomaly of lph 7508

sed1560 supports a max. resolution of 132x65, but lph7508 display modules only use 100 x 64.
the last line is used for displaying symbols (support and explanations will be added in a future version).
unlike one might expect, the first column is not 0, but 32. so every column address has to be shifted by 32.

pages vs. rows

the display is organised in colums and pages: 8 pixel-rows are combined to a so called page.
as only whole bytes can be transferred to the display, a single pixel cannot be changed without knowing its 7 'neighbour' pixels.
so a display buffer was introduced in the library. pixel changes are all done in this buffer and in a separate step only changed 'page bytes' are transferred (using an optimising algorithm) to the display.
top ^

passing options through serdisp_init():

intro

using the third parameter of serdisp_init(), driver specific options and custom wiring can be set.
common information about passing options and customisable wiring can be found in a separate document.
    examples:
    
      serdisp_init(sdcd, "LPH7508", "ROTATE=90;INVERT=YES");
    

options

identifiershortremarkdefault
ROTATEROTrotate display (1 == 180 degrees)0
INVERTINVinvert display0
DELAY delay after each write/read operation.
  0 .. no delay
  1 .. one call of gettimeofday()
 >1 .. delay at least x nanoseconds
     
2
CONTRAST set display contrast5
BACKLIGHTBGswitch background light on or off0
WIRINGWIREpre-defined or customisable wiring2

ranges, aliases

identifierrangealiases
ROTATE0, 1, 90, 180, 270YES=180, NO=0, TRUE=180, FALSE=0
INVERT0, 1YES=1, NO=0, TRUE=1, FALSE=0
DELAY>= 0NONE=0
CONTRAST[0, 10] 
BACKLIGHT0, 1YES=1, NO=0, TRUE=1, FALSE=0, ON=1, OFF=0

pre-defined wiring definitions

identifiernumeric idprotocoldescription
ParDTPollin2PARPollin Wiring for LPH7508 display module kit, parallel data transfer

display signals

identifierdescriptionmandatory
D0 - D78 bit wide data bus*
A0data or command*
CSchip select input, active low*
RWread/write signal (read: high, write: low)*
RESETreset signal, active low; optional if wired to a hardware reset circuit 

annotations

top ^

links:

data sheets
sed1560 controller data sheet for SED 1560 series (english) sed1560.pdf
lph7508 display module data sheet for LPH 7508 display module (german) LPH7508-1.pdf
top ^

thanks:

special thanks go to
donating an lph 7508 display module kit Uwe Scholz
top ^

history:

2005-10-30 first release
top ^

design by wolfgang astleitner, (C) 1998 - 2005