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


EK-TM4C123GXL LaunchPad

Pin configurations:

DevicePort.Pin Signal TypePCTLDirectionDrive Mode


  1. Create a new folder under the EE3450 folder and name it Lab04_CharLCD.
  2. Launch the Keil μVisio and create a new project. Save the project to the project folder you just created in the previous step and set the project name to Lab04_CharLCD.)
  3. Add the Common and ezTivaLIB folders to the Options for Target ➤ C/C++ ➤ include paths setting.
  4. Add ezTiva LIB (ez123GLIB.lib or ez1294LIB.lib) into your project, increase the stack and heap size under the "startup_TM4cXXX.s (Startup)" setting. ()


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

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