Introduction



The most commonly used Character based LCDs are based on Hitachi's HD44780 controller or other which are compatible with HD44580. In this tutorial, we will discuss about character based LCDs, their interfacing with various microcontrollers, various interfaces (8-bit/4-bit), programming, special stuff and tricks you can do with these simple looking LCDs which can give a new look to your application.

For Specs and technical information HD44780 controller Click Here

Pin Description



The most commonly used LCDs found in the market today are 1 Line, 2 Line or 4 Line LCDs which have only 1 controller and support at most of 80 charachers, whereas LCDs supporting more than 80 characters make use of 2 HD44780 controllers.

Most LCDs with 1 controller has 14 Pins and LCDs with 2 controller has 16 Pins (two pins are extra in both for back-light LED connections). Pin description is shown in the table below.


Figure 1: Character LCD type HD44780 Pin diagram


Pin No. Name Description
1VSSPower supply (GND)
2VCCPower supply (+5V)
3VEEContrast adjust
4RS0 = Instruction input
1 = Data input
5R/W0 = Write to LCD module
1 = Read from LCD module
6ENEnable signal
7D0Data bus line 0 (LSB)
8D1Data bus line 1
9D2Data bus line 2
10D3Data bus line 3
11D4Data bus line 4
12D5Data bus line 5
13D6Data bus line 6
14D7Data bus line 7 (MSB)
Table 1: Character LCD pins with 1 Controller
Pin No. Name Description
1D7Data bus line 7 (MSB)
2D6Data bus line 6
3D5Data bus line 5
4D4Data bus line 4
5D3Data bus line 3
6D2Data bus line 2
7D1Data bus line 1
8D0Data bus line 0 (LSB)
9EN1Enable signal for row 0 and 1 (1stcontroller)
10R/W0 = Write to LCD module
1 = Read from LCD module
11RS0 = Instruction input
1 = Data input
12VEEContrast adjust
13VSSPower supply (GND)
14VCCPower supply (+5V)
15EN2Enable signal for row 2 and 3 (2ndcontroller)
16NCNot Connected
Table 2: Character LCD pins with 2 Controller
Usually these days you will find single controller LCD modules are used more in the market. So in the tutorial we will discuss more about the single controller LCD, the operation and everything else is same for the double controller too. Lets take a look at the basic information which is there in every LCD.


Share it! Like it!

Conversation

hiast
Thu Jun 16 2016, 03:03 PM
help please how do i initiate port 3 as an input port in assembly? acutely there is push switch connecting to p3.2 push switch connecting to p3. 3 push switch connecting to p3.4 push switch connecting to p3.5 and i need to call function when the user pressed the push switch for the previous pins (not used as counter and not as timer… just call a function ( do special thing) when any push switch is pressed ???????
Mon Jun 06 2016, 12:02 PM
nida hussain
hi.. i need some help with keypad interfacing code.like i want to write a code in c language that takes an input of 2 digit numbers from a keypad interfaced with 8051 mc and stores the entered values in some array
Sat May 28 2016, 04:34 PM
kibrom berhe
c code for locker security system based on rfid and gsm
ExperimenterUK
Wed May 25 2016, 05:05 AM
@ Ramanjaneyulu, post in forum,explain your problem
Mon May 23 2016, 11:34 PM
Ramanjaneyulu
Hi, I Am using at89c4051 for my application, I want 5u sec dely.. Up to 1milli sec iam able to producing delay. Beyond the 1milli second, I am unable to produce the acceurate dely. Plz any one help me
Sat May 21 2016, 09:51 PM
A K
i want to mak an auto dialer using gsm and atmega 16. please helpe me how to write a code to auto dial a number saved in sim
Sat May 21 2016, 10:42 AM
Alec
Hi im trying to program my 89s51 with a usbasp so any ideas on the circuit?
Wed May 18 2016, 10:08 AM
Tashu joshi
anyone know how to develop
Wed May 18 2016, 10:07 AM
Tashu joshi
i'm working for resporatry system using 8051,
Wed May 18 2016, 10:06 AM
Tashu joshi
i'm developing a respiratory system using Arduino

Downloads

Comments

Bonolai
Fri Jun 24 2016, 06:02 AM
hiast
Sat Jun 11 2016, 02:30 PM
alex1311
Thu Jun 09 2016, 06:57 AM
zaft93
Sun May 15 2016, 01:52 AM
CELEBI
Thu May 12 2016, 08:28 AM
Suro1996
Wed May 11 2016, 06:07 PM
yigithan
Sat May 07 2016, 09:09 PM
jaque
Fri May 06 2016, 07:51 PM

Online

Guests: 29, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37768
Newest member: Bonolai
Forum Activity
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Jun 22 2016, 07:54 PM
I can't see why it should work sometimes and not o...
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Jun 22 2016, 12:58 AM
You could use T0 and T1 to trigger interrupts but ...
Karan123 Avatar
Posted By Karan123
Tue Jun 21 2016, 04:40 AM
I am not Getting you . the project is to interfac...
Karan123 Avatar
Posted By Karan123
Tue Jun 21 2016, 04:34 AM
Hello,Thanks , It Works . Master-Slave address Ma...
alex1311 Avatar
Posted By alex1311
Mon Jun 20 2016, 11:38 AM
Football is my passion and I have dreamt of becomi...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Jun 17 2016, 11:00 PM
>But Can't modify code at Receiver End for Differe...
hiast Avatar
Posted By hiast
Fri Jun 17 2016, 03:25 PM
thanks for help,i wanted to write this code as you...
Karan123 Avatar
Posted By Karan123
Fri Jun 17 2016, 12:19 PM
I don't your applications . But below should help ...
Karan123 Avatar
Posted By Karan123
Fri Jun 17 2016, 12:07 PM
I know i have to use below code at Transmitter End...
hiast Avatar
Posted By hiast
Thu Jun 16 2016, 02:58 PM
help pleasehow do i initiate port 3 as an input po...