Tiva Lab 04: Interfacing Character LCD with Tiva LaunchPad



  • Learn how to interface a character LCD module with a microcontroller in 4-bit mode
  • Learn how to use ezTiva LIB to display a string onto the LCD

Required Reading Material

Background Information

HD44780 based LCD modules are very popular among hobbyists because they are cheap and they can display characters. Besides they are very easy to interface with microcontrollers. In this lab, you will learn how to interface an HD44780 based character LCD to a TI Tiva LaunchPad. The interface requires 7 I/O lines of the TM4C microcontroller: 4 data lines and 3 control lines. You also will learn how to use ezTiva LIB in order to display information on the LCD module.

Required Components List

CharacterLcdDisplay s Character LCD Module × 1
  Potentiometer 10K s 10 KΩ Potentiometer × 1
breadboard s Breadboard × 1
Jumper Wires Ribbon Cable × 1
breadboard power s Breadboard Power Supply Module × 1
PowerAdapter 64 Power Adapter 9V/2A × 1

Circuit / Schematic Diagram

In this lab, a 16x2 character LCD module will be used and connected to the Tiva LaunchPad, as shown in the following diagram. The LCD module will be configured in 4-bit interfacing mode, so the data pin D[0]~D[3] on the LCD module will not be used. All the pins used to connect to the LCD module must be configured with the GPIO output direction.

LCD 123G 1294
BreadboardConnection01 s


  1. Create a new folder under the EE3450 folder and name it Lab04_CharLCD. Then double-click the folder you just created to jump into it.
  2. Launch the Keil μVisio and create a new project, save the project as Lab01_CharLCD.
  3. Add MyDefines.h to the Source Group, and then add the Common folder to the include paths under the "Options for Target" setting.
  4. Add ezTiva LIB into your project, increase the stack and heap size under the "startup_TM4cXXX.s (Startup)" setting, and then add the ezTivaLIB folder to the include paths under the "Options for Target" setting. (Lesson 09: Add ezTiva Library into Your Project)


Write down the following configuration information into your lab report.

Example Source Code

Copy the following example code to your main.c file.

Note: The example code is not yet complete, you must implement all functions following the lab instructions.


Lab Experiments

Using your embedded board to solve the following problems, and display the result on the character LCD module.