Display custom characters on LCD using AVR Microcontroller (ATmega16)

Summary of Display custom characters on LCD using AVR Microcontroller (ATmega16)


This article explains how to create and display custom characters, such as smileys or symbols not in ASCII, on a 16x2 LCD using an ATmega16 microcontroller. It details storing these designs in the LCD's Character Generator RAM (CGRAM), where up to eight unique 5x8 characters can be defined simultaneously using eight bytes each. The process requires prior knowledge of LCD interfacing with AVR microcontrollers.

Parts used in the Display Custom Characters Project:

  • 16x2 LCD
  • ATmega16 Microcontroller
  • CGRAM (Character Generator RAM)
  • Interfacing Circuitry
This is the most interesting article to play with LCD. After going through the article, you can create any character/symbol which cannot be created using the ASCII values for example smiley. You can even create small games. Conventionally 16X2 LCD is use to display text or numerical values. It is possible to display special characters, your own designed characters too on LCD by using its 5 x 8 matrix block. These special characters are stored in the CGRAM of LCD. This article shows how to create and display special character on LCD using ATmega16. For more details refer to the article how to create custom characters.
Display custom characters on LCD using AVR Microcontroller (ATmega16)
This article assumes that the readers are aware of the concepts of interfacing LCD with AVR microcontroller (ATMEGA 16). For more information about interfacing LCD with AVR, refer How to display string on LCD using AVR. In order to create a custom character its configuration is first defined in the CGRAM of the LCD. A maximum of eight characters can be stored at a time in the 16 x 2 LCD. Every character is assigned eight bytes in the CGRAM and by configuring these bytes any character can be generated. The size of the CGRAM is 64 bytes.
Display custom characters on LCD using AVR Microcontroller (ATmega16) schematic
For detailed description about configuring the CGRAM, refer to creating custom characters on LCD using 8051. The concepts of generating a custom character remain the same. The connection of  LCD with the AVR is shown in the circuit diagram.

Quick Solutions to Questions related to Display Custom Characters Project:

  • What special features can be created on a 16x2 LCD using this method?
    You can create any character or symbol not available in ASCII values, including smileys and small games.
  • How many custom characters can be stored at a time in a 16x2 LCD?
    A maximum of eight characters can be stored at a time in the 16x2 LCD.
  • What is the size of the CGRAM in this project?
    The size of the CGRAM is 64 bytes.
  • How many bytes are assigned to every character in the CGRAM?
    Every character is assigned eight bytes in the CGRAM.
  • Can you display your own designed characters on the LCD?
    Yes, it is possible to display special characters and your own designed characters using the 5x8 matrix block.
  • Which microcontroller is used to generate custom characters in this article?
    The article demonstrates creating and displaying special characters using the ATmega16 microcontroller.
  • Where are the special characters stored on the LCD?
    These special characters are stored in the CGRAM of the LCD.
  • Is knowledge of LCD interfacing required for this project?
    Yes, the article assumes readers are aware of the concepts of interfacing LCD with an AVR microcontroller.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top