Using an LCD with MAXQ Microcontrollers
IntroductionLiquid crystal displays (LCDs) are a great way for embedded systems to provide information to users. LCDs are typically available in two forms: LCD glass and LCD modules, which use integrated controllers to drive the various segments of the attached glass. LCD glass is relatively inexpensive, but requires many I/O lines and significant processing power to control the lines. Complete LCD modules are, moreover, really too costly for small, embedded applications.
The MAXQ® family of microcontrollers with its on-board LCD driver solves the problem of controlling an LCD, allowing information to be displayed simply, quickly, and inexpensively.
When designing a system using a MAXQ with an LCD, the following questions should be considered:
- What kind of data should be displayed?
- What type of LCD glass should be used?
- How should the LCD be connected to the MAXQ?
LCD FundamentalsLCDs do not produce light; they either block it, or allow it to pass through. This is accomplished with the combined use of polarizers and twisted nematic (TN) material stacked together. Polarizers are specially treated glass that block light of a certain orientation. TN material consists of many similarly oriented, large organic molecules which realign when a voltage is applied. This new alignment bends the light passing through it by 90°. The modified light is then diffused by the polarizer and does not pass back to the observer.
LCDs must be driven with AC voltage; DC operation causes the TN material to permanently stop twisting. Displays are normally driven at a frequency close to 100Hz, fast enough to prevent perceptible flicker. Many LCDs use multiplexing to allow more segments to be controlled by fewer pins. Multiplexed displays are subject to crosstalk between segments. If an individual segment is turned on too quickly, adjacent segments may activate as well. To avoid this problem, instantaneous voltage change for each segment must be limited. The more a display is multiplexed, the lower the RMS voltage required to turn on a segment. Higher order multiplexing reduces the difference between active and inactive voltages, limiting the number of multiplexed layers that can be used with normal TN material.
Choosing a GlassLCD glass comes in all shapes, sizes, and display formats. Displays are available in positive (dark characters with a light background) and negative (light characters with a dark background). The simplest LCDs are reflective, using a mirror-like material applied to the backside of the display to bounce ambient light back to the observer. Reflective LCDs should be used in well-lit situations. The TN material and the polarizers found in LCDs absorb a significant amount of light passing through them, causing them to be somewhat dark. To overcome this issue, many displays include a backlight. These are referred to as transmissive LCDs and work best in low-light applications. Transflective LCDs use both reflection and backlighting to be effective in all lighting conditions.
Displays are also available in a variety of data formats, with some of the more common formats listed below. See Figures 1 and 2 for examples.
- Numeric: Consisting of 7 segments per digit (0-9)
- Alphanumeric: Consisting of 14 or 16 segments per digit (0-9, A-Z)
- Symbol/Character: Consisting of single-segment pictures or characters, i.e., a bell
- Combination: Any combination of the above
Figure 1. Numeric and alphanumeric characters.
Figure 2. Combination of 7-segment numeric with battery and Ohm (Ω) symbols.
When picking an LCD for your project, consider the data being displayed. Is it numeric, alphanumeric, or symbol based? How large should the characters be? Will lengthy strings of numbers or text need to be displayed? For example, a simple digital clock requires three 7-segment digits and a 2-segment digit along with a colon. A VCR display may require several 14-segment alphanumeric digits to display text messages. Small displays can use scrolling to display larger amounts of data, but this makes the information more difficult to read. Also consider where the user will be when reading the display. Distance from the display and other environmental conditions affect the readability. Use larger characters in these cases.
The use of multiplexed displays increases the number of segments that can be driven by the MAXQ. The MAXQ LCD driver supports static, 2x-, 3x-, and 4x-multiplexed glass. (Refer to the individual MAXQ device data sheet for the exact number of pins available for segment driving.) Due to the high pin density required for grid-style LCD glass, only grid LCD modules with dedicated controllers should be used with MAXQ devices. See the LCD Manufacturers section below for a list of manufacturers.
Connecting an LCD to a MAXQ DevicePerhaps the most important design consideration for this application is the physical connection between the MAXQ and the LCD. If you do not plan ahead, you could experience difficulty controlling the display, adding unnecessary software overhead. You could also prevent all LCD segments from being used.
The MAXQ LCD driver uses a series of byte-wide registers to control the LCD pin timings. (Refer to the data sheet or specific user's guide for the exact number of display registers and their uses.) Applications are easier to create and more efficient if the LCD is connected in a sensible manner. Ideally, each digit/character of the LCD should be tied to a single LCD display register. This is not possible when dealing with characters consisting of more than 8 segments, or when using a 3x-multiplexed glass. In these cases, keeping the pattern consistent across consecutive registers helps reduce software complexity.
Maintaining the same connection pattern for all characters on the display allows software to use common values for character representations. Take note when connecting (wiring) your LCD. Most LCD glass has a connection scheme that repeats for all the digits/symbols on it.
When connecting your chosen LCD to an appropriate MAXQ microcontroller, keep the following in mind:
- Make sure all segments desired for the application will be controllable.
- Keep individual digit segments together; do not spread the signals across multiple display registers.
- If each digit has a related decimal point, keep it in the same bit position for all digits.
- Connect all digits with identical patterns.
ConclusionChoosing a suitable LCD and properly connecting it to a MAXQ device gives an embedded application an excellent, easy-to-use, and inexpensive user interface. For more information about the MAXQ family of microcontrollers and their LCD controlling capabilities, refer to the following documents.
MAXQ2000 Data Sheet
MAXQ Family Users Guide
MAXQ2000 Users Guide Supplement