Small Microcontrollers Drive Graphics LCDs Using "Canned" Data

March 8, 1999
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...

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.

See associated figure

Sponsored Recommendations

TTI Transportation Resource Center

April 8, 2024
From sensors to vehicle electrification, from design to production, on-board and off-board a TTI Transportation Specialist will help you keep moving into the future. TTI has been...

Cornell Dubilier: Push EV Charging to Higher Productivity and Lower Recharge Times

April 8, 2024
Optimized for high efficiency power inverter/converter level 3 EV charging systems, CDE capacitors offer high capacitance values, low inductance (< 5 nH), high ripple current ...

TTI Hybrid & Electric Vehicles Line Card

April 8, 2024
Components for Infrastructure, Connectivity and On-board Systems TTI stocks the premier electrical components that hybrid and electric vehicle manufacturers and suppliers need...

Bourns: Automotive-Grade Components for the Rough Road Ahead

April 8, 2024
The electronics needed for transportation today is getting increasingly more demanding and sophisticated, requiring not only high quality components but those that interface well...

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!