outline
Introduction
Understanding LCD
LCD Programming
LCD Interfacing on Firebird V Robot
E-Yantra Team
Embedded Real-Time Systems Lab
Indian Institute of Technology-Bombay
IIT Bombay
September 27, 2012
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 1/13
outline
Introduction
Understanding LCD
LCD Programming
Agenda for Discussion
1 Introduction
LCD-Definition
2 Understanding LCD
Pin-Configuration
Control Pins
Data Pins
3 LCD Programming
LCD Interfacing
Some Important commands
LCD Initialization
Programming
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 2/13
outline
Introduction
LCD-Definition
Understanding LCD
LCD Programming
Liquid Crystal Display
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/13
outline
Introduction
LCD-Definition
Understanding LCD
LCD Programming
Liquid Crystal Display
1 A liquid crystal display (LCD) is a thin, flat panel used for
electronically displaying information such as text, images, and
moving pictures
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/13
outline
Introduction
LCD-Definition
Understanding LCD
LCD Programming
Liquid Crystal Display
1 A liquid crystal display (LCD) is a thin, flat panel used for
electronically displaying information such as text, images, and
moving pictures
2 LCDs are economical and easy to use device. These are most
commonly used display devices in an embedded system. Commonly
available display are set up as 16 to 20 characters by 1 to 4 lines
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/13
outline
Introduction
LCD-Definition
Understanding LCD
LCD Programming
Liquid Crystal Display
1 A liquid crystal display (LCD) is a thin, flat panel used for
electronically displaying information such as text, images, and
moving pictures
2 LCDs are economical and easy to use device. These are most
commonly used display devices in an embedded system. Commonly
available display are set up as 16 to 20 characters by 1 to 4 lines
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/13
outline
Introduction
LCD-Definition
Understanding LCD
LCD Programming
Liquid Crystal Display
1 A liquid crystal display (LCD) is a thin, flat panel used for
electronically displaying information such as text, images, and
moving pictures
2 LCDs are economical and easy to use device. These are most
commonly used display devices in an embedded system. Commonly
available display are set up as 16 to 20 characters by 1 to 4 lines
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/13
outline
Introduction
LCD-Definition
Understanding LCD
LCD Programming
Dot Matrix Liquid Crystal Display
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/13
outline
Introduction
LCD-Definition
Understanding LCD
LCD Programming
Dot Matrix Liquid Crystal Display
1 LCD used here has HD44780 dot matrix lcd controller. It is also
called 16x2 Alpha Numeric LCD
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/13
outline
Introduction
LCD-Definition
Understanding LCD
LCD Programming
Dot Matrix Liquid Crystal Display
1 LCD used here has HD44780 dot matrix lcd controller. It is also
called 16x2 Alpha Numeric LCD
2 It can be configured to drive a dot-matrix liquid crystal display under
the control of a 4 or 8-bit microprocessor
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
Vdd Supply Voltage
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
Vdd Supply Voltage
Vee Contrast Voltage
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
Vdd Supply Voltage
Vee Contrast Voltage
RS Register Select
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
Vdd Supply Voltage
Vee Contrast Voltage
RS Register Select
RW Read/Write
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
Vdd Supply Voltage
Vee Contrast Voltage
RS Register Select
RW Read/Write
E Enable
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
Vdd Supply Voltage
Vee Contrast Voltage
RS Register Select
RW Read/Write
E Enable
D0-D7 Bidirectional Data Bus
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
Vdd Supply Voltage
Vee Contrast Voltage
RS Register Select
RW Read/Write
E Enable
D0-D7 Bidirectional Data Bus
Vdd,Vss Back Light Supply
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Pin-Configuration
Pin Description
Vss Ground
Vdd Supply Voltage
Vee Contrast Voltage
RS Register Select
RW Read/Write
E Enable
D0-D7 Bidirectional Data Bus
Vdd,Vss Back Light Supply
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
If RS=0; Command Register
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
If RS=0; Command Register
If RS=1; Data Register
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
If RS=0; Command Register
If RS=1; Data Register
2 Read/Write Select
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
If RS=0; Command Register
If RS=1; Data Register
2 Read/Write Select
If RW=0; Write Mode
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
If RS=0; Command Register
If RS=1; Data Register
2 Read/Write Select
If RW=0; Write Mode
If RW=1; Read Mode
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
If RS=0; Command Register
If RS=1; Data Register
2 Read/Write Select
If RW=0; Write Mode
If RW=1; Read Mode
3 Enable
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
If RS=0; Command Register
If RS=1; Data Register
2 Read/Write Select
If RW=0; Write Mode
If RW=1; Read Mode
3 Enable
Used to latch the data present on the data pins
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Control Pins
1 Register Select
If RS=0; Command Register
If RS=1; Data Register
2 Read/Write Select
If RW=0; Write Mode
If RW=1; Read Mode
3 Enable
Used to latch the data present on the data pins
A high-to-low edge is needed to latch the data
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Data Pins
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Data Pins
X Data Lines
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Data Pins
X Data Lines
There are 8 data pins from D0 to D7
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Data Pins
X Data Lines
There are 8 data pins from D0 to D7
Bidirectional Data / Command Pins
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Data Pins
X Data Lines
There are 8 data pins from D0 to D7
Bidirectional Data / Command Pins
Alpha Numeric Character are sent in ASCII format
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Data Pins
X Data Lines
There are 8 data pins from D0 to D7
Bidirectional Data / Command Pins
Alpha Numeric Character are sent in ASCII format
We can use LCD either 8 bit mode or 4 bit mode
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/13
outline
Pin-Configuration
Introduction
Control Pins
Understanding LCD
Data Pins
LCD Programming
Data Pins
X Data Lines
There are 8 data pins from D0 to D7
Bidirectional Data / Command Pins
Alpha Numeric Character are sent in ASCII format
We can use LCD either 8 bit mode or 4 bit mode
We use 4 bit mode: only D4 to D7 data pins are used
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD Interfacing
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD Interfacing
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
Function set (4-bit interface, 2 lines, 5*7 Pixels) 28
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
Function set (4-bit interface, 2 lines, 5*7 Pixels) 28
Clear display screen 01
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
Function set (4-bit interface, 2 lines, 5*7 Pixels) 28
Clear display screen 01
Return Home (First line first block) 02
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
Function set (4-bit interface, 2 lines, 5*7 Pixels) 28
Clear display screen 01
Return Home (First line first block) 02
Display ON cursor Blinking 0F
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
Function set (4-bit interface, 2 lines, 5*7 Pixels) 28
Clear display screen 01
Return Home (First line first block) 02
Display ON cursor Blinking 0F
Address for Line 1 80
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
Function set (4-bit interface, 2 lines, 5*7 Pixels) 28
Clear display screen 01
Return Home (First line first block) 02
Display ON cursor Blinking 0F
Address for Line 1 80
Address for Line 2 C0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
Function set (4-bit interface, 2 lines, 5*7 Pixels) 28
Clear display screen 01
Return Home (First line first block) 02
Display ON cursor Blinking 0F
Address for Line 1 80
Address for Line 2 C0
Display ON cursor OFF 0C
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Some Important Commands
Description Hex
Function set (8-bit interface, 2 lines, 5*7 Pixels) 38
Function set (4-bit interface, 2 lines, 5*7 Pixels) 28
Clear display screen 01
Return Home (First line first block) 02
Display ON cursor Blinking 0F
Address for Line 1 80
Address for Line 2 C0
Display ON cursor OFF 0C
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Steps for LCD Initialization
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Steps for LCD Initialization
1 Set Control Lines i.e. RS=0 and RW=0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Steps for LCD Initialization
1 Set Control Lines i.e. RS=0 and RW=0
2 Send LCD init value i.e. 0x38 for 8-bit mode OR 0x28 for 4-bit mode
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Steps for LCD Initialization
1 Set Control Lines i.e. RS=0 and RW=0
2 Send LCD init value i.e. 0x38 for 8-bit mode OR 0x28 for 4-bit mode
3 Generate Hi-Low Pulse on Enable Pin of LCD
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Steps for LCD Initialization
1 Set Control Lines i.e. RS=0 and RW=0
2 Send LCD init value i.e. 0x38 for 8-bit mode OR 0x28 for 4-bit mode
3 Generate Hi-Low Pulse on Enable Pin of LCD
4 Send LCD Clear value i.e. 0x01
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Steps for LCD Initialization
1 Set Control Lines i.e. RS=0 and RW=0
2 Send LCD init value i.e. 0x38 for 8-bit mode OR 0x28 for 4-bit mode
3 Generate Hi-Low Pulse on Enable Pin of LCD
4 Send LCD Clear value i.e. 0x01
5 Send LCD Display On value i.e. 0x0F
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Steps for LCD Initialization
1 Set Control Lines i.e. RS=0 and RW=0
2 Send LCD init value i.e. 0x38 for 8-bit mode OR 0x28 for 4-bit mode
3 Generate Hi-Low Pulse on Enable Pin of LCD
4 Send LCD Clear value i.e. 0x01
5 Send LCD Display On value i.e. 0x0F
6 Send LCD Cursor Home i.e. 0x02
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Syntax for C-Program
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Syntax for C-Program
#include
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Syntax for C-Program
#include
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "LCD.h" // User-defined header file
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Syntax for C-Program
#include
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "LCD.h" // User-defined header file
Main Program
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Syntax for C-Program
#include
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "LCD.h" // User-defined header file
Main Program
int main (void)
{
init_devices();
lcd_init();
lcd_cursor(1,1);
lcd_string(E-Yantra);
lcd_cursor(2,3);
lcd_string(IIT-Bombay);
while(1);
}
}
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
//define port where LCD is connected
void init_devices();
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
//define port where LCD is connected
void init_devices();
//LCD Initialization
void lcd_init();
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
//define port where LCD is connected
void init_devices();
//LCD Initialization
void lcd_init();
//To Send Command
void lcd_wr_command(unsigned char);
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
//define port where LCD is connected
void init_devices();
//LCD Initialization
void lcd_init();
//To Send Command
void lcd_wr_command(unsigned char);
//To write single character
void lcd_wr_char(char);
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
//define port where LCD is connected
void init_devices();
//LCD Initialization
void lcd_init();
//To Send Command
void lcd_wr_command(unsigned char);
//To write single character
void lcd_wr_char(char);
//To print string of characters
void lcd_string(char*);
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
//define port where LCD is connected
void init_devices();
//LCD Initialization
void lcd_init();
//To Send Command
void lcd_wr_command(unsigned char);
//To write single character
void lcd_wr_char(char);
//To print string of characters
void lcd_string(char*);
//To Place cursor at desired location
void lcd_cursor(char row,char column);
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
//define port where LCD is connected
void init_devices();
//LCD Initialization
void lcd_init();
//To Send Command
void lcd_wr_command(unsigned char);
//To write single character
void lcd_wr_char(char);
//To print string of characters
void lcd_string(char*);
//To Place cursor at desired location
void lcd_cursor(char row,char column);
//To Print Numeric Value
void lcd_print(char row,char coloumn,unsigned int value,int digits);
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
LCD.h- The Header File
1 This file must be copied into Project Folder
//define port where LCD is connected
void init_devices();
//LCD Initialization
void lcd_init();
//To Send Command
void lcd_wr_command(unsigned char);
//To write single character
void lcd_wr_char(char);
//To print string of characters
void lcd_string(char*);
//To Place cursor at desired location
void lcd_cursor(char row,char column);
//To Print Numeric Value
void lcd_print(char row,char coloumn,unsigned int value,int digits);
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/13
outline LCD Interfacing
Introduction Some Important commands
Understanding LCD LCD Initialization
LCD Programming Programming
Thank You!
Post your queries on: http://qa.e-yantra.org/
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 13/13