0% found this document useful (0 votes)
130 views19 pages

8 - LCD Interfacing

The document discusses interfacing an LCD module with a PIC microcontroller. It can be interfaced in either 8-bit or 4-bit mode. The LCD has a controller chip HD44780 that uses instruction and data registers. The microcontroller sets control lines like RS, R/W, and E and checks the busy flag on line D7 before sending data. It provides the command set, timing diagrams and steps to initialize and write characters to the LCD in both software and hardware.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views19 pages

8 - LCD Interfacing

The document discusses interfacing an LCD module with a PIC microcontroller. It can be interfaced in either 8-bit or 4-bit mode. The LCD has a controller chip HD44780 that uses instruction and data registers. The microcontroller sets control lines like RS, R/W, and E and checks the busy flag on line D7 before sending data. It provides the command set, timing diagrams and steps to initialize and write characters to the LCD in both software and hardware.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Interfacing LCD

Interfacing LCD (Liquid Crystal Display)

Interface a 2-line x 20 character LCD module with the built-in HD44780 controller to I/O ports. Two modes of Interfacing: 8bit mode and 4-bit mode LCD displays ASCII characters

Types of LCD

Character LCD Commonly Used with the driver: HD77480 Graphics LCD

Interfacing LCD

Hardware

20 x 2-line LCD displays (two lines with 20 characters per line) LCD has a display Data RAM (registers) that stores data in 8-bit character code. Each register in Data RAM has its own address that corresponds to its position on the line.

PICDEMO

The address range for Line 1 is 00 to 13H and Line 2 is 40H to 53H.

Interfacing LCD

Can be interfaced either in the 8-bit mode or the 4-bit mode


In the 8-bit mode, all eight data lines are connected for data transfer In the 4-bit mode, only four data lines (DB7-DB4 or DB3-DB0) are connected and two transfers per character (or instruction) are needed Instruction Register (IR) to write instructions to set up LCD Data Register (DR) to write data (ASCII characters)
IR REGISTER DR REGISTER

Driver (HD77480) has two 8-bit internal registers


Interfacing LCD

Driver HD77480

Three control signals:


RS Register Select (RA3) R/W Read/Write (RA2) E Enable (RA1) Power, ground, and the variable register to control the brightness

Three power connections

Command and Instruction set for LCD type HD44780

Interfacing LCD

LCD Operation

When the MPU writes an instruction to IR or data to DR, the controller:

Sets the data line DB7 high as a flag indicating that the controller is busy completing the operation Sets the data line DB7 low after the completion of the operation

The MPU should always check whether DB7 is low before sending an instruction or a data byte After the power up, DB7 cannot be checked for the first two initialization instructions.

Interfacing LCD

Writing to or reading from LCD The MPU:


Asserts RS low to select IR Reads from LCD by asserting the R/W signal high Asserts the E signal high and then low (toggles) to latch a data byte or an instruction Asserts RS high to select DR Writes into LCD by asserting the R/W signal low Asserts the E signal high and then low (toggles) to latch a data byte or an instruction

HD44780 Bus Timing

Read timing diagram

Write timing diagram

Interfacing LCD (Write)

Software

To write into the LCD, the program should:

Send the initial instructions (commands) before it can check DB7 to set up the LCD in the 4-bit or the 8-bit mode. After the initial commands there are two methods: Use Estimated Delay or Check Flag (Bit D7)

Contd. Flag Check

Check DB7 and continue to check until it goes low. Write instructions to IR to set up the LCD parameters such as the number of display lines and cursor status. Write data to display a message.

Steps in Writing to LCD:

Command Mode: RS = 0 Data Mode: RS = 1

Command Mode:

Write Command: Before You Write Command Check Flag D7 to See If LCD is ready. Write Command RS = 0 R/W = 0 to Write E or EN = 1 High E = 0 ; High to Low to Latch

Check for Ready


Set DB7 as Input Set RS = 0; This is a command operation Set R/W = 1; This is a read operation Set E = 1; High Set E = 0 Low; Wait Until DB7 goes low

LCD 4 bit Mode


In 4-bit mode the data is sent in nibbles

First we send the higher nibble and then the lower nibble.

To enable the 4-bit mode of LCD, we need to follow special sequence of initialization that tells the LCD controller that user has selected 4-bit mode of operation:

Wait for about 20mS Send the first init value (0x30) Wait for about 10mS Send second init value (0x30) Wait for about 1mS Send third init value (0x30) Wait for 1mS Select bus width (0x30 - for 8-bit and 0x20 for 4-bit Wait for 1mS

http://www.8051projects.net/lcd-interfacing/commands.php

Graphic LCD

Transducers Temperature Sensors


LM 34 Three Terminal Device 10 mv per degree Fahrenheit LM 35 10 mv per degree Centrigrade

You might also like