How to create custom characters on 16x2 LCD using 8051 microcontroller (AT89C51)
- Circuit Diagram
- Free Circuit Design & Simulation Tool by TI
The commonly used 16x2 LCD can also display custom made characters besides numbers, alphabets & special characters. Any character can be made to appear on a 5x8 pixel matrix element without knowledge of its ASCII value. The idea explained here demonstrates the principle and operation of a simple LCD custom character display using 8051 microcontroller (AT89C51).
When the ASCII code for any character, say ‘A’, is sent to be displayed on LCD module, the module's controller looks up the appropriate 5x8-pixel pattern in ROM (read-only memory) and displays that pattern on the LCD. There are 8 symbol locations where a custom character can be stored as shown in the following right table. These locations will have a particular bitmap layout corresponding to the custom character. To display an arrow sign, the bitmap values are mapped to a base address location, say 64 (ASCII code 0).
The symbol locations with their base addresses are given below:
- Set RS (Register Select) and R/W (Read/Write) pins of the LCD to initialize the LCD to accept instructions
- Set the CG RAM address by sending an instruction byte from 64 to 127 (locations 0-63 in CG RAM).
- Switch to Data Mode by changing the setting of RS pin
- Send bytes with the bit patterns for your symbol(s). The LCD controller automatically increments CG RAM addresses, in the same way as it increments cursor positions on the display.
- To leave CG RAM, switch to Command Mode to set address counter to a valid display address (e.g. 128, 1st character of 1st line); the clear-screen instruction (byte 1); or the home instruction (byte 2). Now bytes are once again being written to the visible portion of the display.
- To display the defined custom character print ASCII codes 0 through 7.
A preset is a three legged electronic component which can be made to offer varying resistance in a circuit. The resistance is varied by adjusting the rotary control over it. The adjustment can be done by using a small screw driver or...
LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of applications. A 16x2 LCD display is very basic module and is very commonly used in various devices and circuits. These modules are preferred over seven segments...
Free Circuit Design & Simulation Tool by TI
TINA-TI is a powerful circuit design and simulation tool. TINA-TI is ideal for designing, testing, and troubleshooting a broad variety of basic and advanced circuits, including complex architectures, without any node or number of device limitations.
TINA is an easy-to-use, powerful circuit simulation tool based on a SPICE engine. TINA-TI is a fully functional version of TINA, loaded with a library of TI macromodels plus passive and active models.
TINA-TI's new version 9 has changes from Version 7.0 in the following areas:
- Schematic Symbol Editor (useable with the Macro Wizard) is included, so you can create your own symbols for imported SPICE macromodels.
- Macros do not have to be from TI - you can import anyone's SPICE model now!
- Does not require active or non-linear components for analysis (so you can now run a circuit using just passives).
- TINA-TI includes Initial Condition and Nodeset components
- TINA-TI includes Linear and nonlinear controlled sources (VCVS, CCVS, VCCS, CCCS), and the Controlled Source Wizard.
- TINA-TI now allows WAV files to be used as stimulus (signal sources). You can play calculated waveforms on PC's multimedia system, and export calculated waveforms as a *.wav file.
- TINA-TI has Multi-core processor support; this along with other optimizations makes simulations run 2-20 times faster.
- Schematic file import/export in XML format
- Block Wizard included for making block diagrams
- TINA-TI has more SPICE models and example circuits included.
- Circuits developed in TINA-TI 9 will work with TINA Industrial version 9.
- TINA-TI Version 7.0 is forward compatible with Version 9, and version 9 supports saving schematics in version 7.0 format.
- Available in English, Traditional and Simplified Chinese, Japanese, and Russian versions.