µC/GUI LCDPage1bpp Driver

Supported controllers

This driver has been tested with the following LCD controllers:

  • Epson SED1520
  • Epson SED1560
  • Epson SED1565
  • Epson SED1566
  • Epson SED1567
  • Epson SED1568
  • Epson SED1569
  • Epson SED1575
  • Hitachi HD61202
  • New Japan Radio Company NJU6679
  • Philips PCF8810, PCF8811, PCF8535
  • Samsung KS0713, KS0724, KS0108B

It should be assumed that it will also work with any controller of similar organization.

Bits per pixel

The supported color depth is 1 bpp.

Interfaces

Both 8-bit parallel (simple bus) interfaces and serial (SPI) and 12C bus interfaces are supported.

Display data RAM organization


The picture above shows the relation between the display memory and the SEG and COM lines of the LCD.

Additional RAM requirements of the driver

This LCD driver can be used with or without a display data cache in the most cases. If one display contains more than 1 LCD controller you can not disable the cache. The data cache containins a complete copy of the contents of the LCD data RAM. If a cache is not used, there are no additional RAM requirements.
It is recommended to use this driver with a data cache for faster LCD-access. The amount of memory used by the cache may be calculated as follows:
Size of RAM (in bytes) = (LCD_YSIZE + 7) / 8 * LCD_XSIZE

Additional driver functions

LCD_L0_ControlCache

Hardware configuration

This driver accesses the hardware with a simple bus interface. The following table lists the macros which must be defined for hardware access:

Macro Description
LCD_INIT_CONTROLLER Initialization sequence for the LCD controller.
LCD_READ_A0 Read a byte from LCD controller with A-line low.
LCD_READ_A1 Read a byte from LCD controller with A-line high.
LCD_WRITE_A0 Write a byte to LCD controller with A-line low.
LCD_WRITE_A1 Write a byte to LCD controller with A-line high.
LCD_WRITEM_A1 Write multiple bytes to LCD controller with A-line high.

Additional configuration switches

The following table shows optional configuration switches available for this driver:

Macro Description
LCD_CACHE Activate display cache. When set to 0, no data cache is used. Using the driver without cache slows down the speed of the driver.
LCD_SUPPORT_CACHECONTROL If set to 0, the cache control functions of LCD_L0_ControlCache() driver API are disabled.

Special requirements for certain LCD controllers

None.