Graphics LCD modules, such as those incorporating the Toshiba T6963C controller are attractive, cost-effective output devices for microcontroller-based systems. When used with low-cost devices like Microchip Technologies’ PIC microcontroller family, however, they can very quickly eat up huge amounts of the available memor of these microcontrollers.
One way around this is to insert an EPROM between the microcontroller and the LCD module. The EPROM should be configured with its address bus as an input and its data bus as the output, connected to the data bus of the LCD controller. By dividing the EPROM memory into pages of 256 bytes, and using the microcontroller ports to select the appropriate EPROM pages, vast amounts of display data can be stored and clocked out to the LCD using very little program code.
As an example, a 27256 EPROM can hold enough text to fill a 240-by-128 LCD module more than 50 times, or 8.5 full graphics screens. Graphics and text can be mixed, so an application could, for example, use one graphics logo screen and several pages of instruction, reducing the size of the operator’s manual. Different EPROMs also can be used to provide support for different languages.
By filling page 0 of the EPROM with the bytes 00 to FF and setting the EPROM page to 0, the microcontroller can “talk through” the EPROM. It then can set up the LCD parameters, draw boxes, fill character RAM, etc.(although this latter data may be more appropriately placed in the EPROM).
The only compromise involved in using this technique is that the ability to read data from the LCD is lost. However, this capability is typically only needed when high-speed data transfer is used— faster than, say, a PIC is able to clock the data.
LCD controllers use ASCII-like code to represent alphanumeric data, but the LCD code has a value that is 020H less than ASCII. Normally, this offset would be carried out in the microcontroller before the data is sent to the LCD. However, since the controller doesn’t see the data being sent, it must be stored in ‘ASCII – 32’ code in the EPROM. For more information on software that will translate ASCII text files into LCD code, contact the author via e-mail.