Lcd Pin Description and Sample Program for It

Only available on StudyMode
  • Topic: Pin
  • Pages : 6 (1104 words )
  • Download(s) : 59
  • Published : April 2, 2013
Open Document
Text Preview
LCD pin descriptions:
The LCD discussed in this section has 14 pins. The function of each pin is given in table.

LCD pin descriptions

LCD pin desciptions
Vcc, Vss, and VEE:
While Vcc and Vss provide +5V and ground, respectively, VEE is used for controlling LCD contrast. RS – register select:
There are two very important registers inside the LCD. The RS pin is used for their selection as follows. If RS = 0, the instruction command code register is selected, allowing the user to send a command such as clear display, cursor at home, etc. If RS = 1 the data register is selected, allowing the user to send data to be displayed on the LCD. R/W – read/write:

R/W input allows the user to write information to the LCD or read information from it. R/W = 1 when reading; R/W =0 when writing. E – enable:
The enable pin is used by the LCD to latch information presented to its data pins. When data is supplied to data pins, a high to low pulse must be applied to this pin in order for the LCD to latch in the data present at the data pins. This pulse must be a minimum of 450 ns wide. D0 – D7:

The 8 bit data pins, D0 – D7, are used to send information to the LCD or read the contents of the LCD’s internal registers. To display letters and numbers, we send ASCII codes for the letters A – Z, a – z, and numbers 0 – 9 to these pins while making RS = 1. There are also instructions command codes that can be sent to the LCD to clear the display or force the cursor to the home position or blink the cursor. Table below lists the instruction command codes.

LCD Commands table
We also use RS = 0 to check the busy flag bit to see if the LCD is ready to receive information. The busy flag is D7 and can be read when R/W =1 and RS = 0, as follows: if R/W =1, RS =0. When D7 = 1(busy flag = 1), the LCD busy taking care of internal operations and will not accept any new information. When D7 = 0, the LCD is ready to receive new information. Note: It is recommended to check the busy flag before writing any data to the LCD. Example programs are given in the next page.

Examples:

Interfacing LCD to 8951
Here Data pins D0-D7 are connected to port1.0-port1.7 of 8951 microcontroller. Enable pin, RS are connected to P3.3 and P3.4 of 8951 respectively. We can write program for LCD in two ways.
1. Sending commands and data to LVDs with a time delay.
2. Sending commands and data to LVDs with checking busy flag. 1. Program to display “ELECTROFRIENDS” in LCD without checking busy flag. MOV A,#38H ; initialization LCD 2lines, 5×7 matrix.
ACALL COMMAND ; call command subroutine.
ACALL DELAY ; call delay subroutine.
MOV A,#0EH ; display on, cursor on
ACALL COMMAND
ACALL DELAY
MOV A,#01H ; Clear LCD
ACALL COMMAND
ACALL DELAY
MOV A,#06H ; shift cursor right
ACALL COMMAND
ACALL DELAY
MOV A,#80H ; cursor at beginning of 1st line
ACALL COMMAND
ACALL DELAY
MOV A,#’E' ; display letter E
ACALL DATA
ACALL DELAY
MOV A,#’L' ; display letter L
ACALL DATA
ACALL DELAY
MOV A,#’E' ; display letter E
ACALL DATA
ACALL DELAY
MOV A,#’C' ; display letter C
ACALL DATA
ACALL DELAY
MOV A,#’T' ; display letter T
ACALL DATA
ACALL DELAY
MOV A,#’R' ; display letter R
ACALL DATA
ACALL DELAY
MOV A,#’O' ; display letter O
ACALL DATA
ACALL DELAY
MOV A,#’F' ; display letter F
ACALL DATA
ACALL DELAY
MOV A,#’R' ; display letter R
ACALL DATA
ACALL DELAY
MOV A,#’I' ; display letter I
ACALL DATA
ACALL DELAY
MOV A,#’E' ; display letter E
ACALL DATA
ACALL DELAY
MOV A,#’N' ; display letter N
ACALL DATA
ACALL DELAY
MOV A,#’D' ; display letter D
ACALL DATA
ACALL DELAY
MOV A,#’S' ; display letter S
ACALL DATA
ACALL DELAY
HERE: JMP HERE
COMMAND: MOV P1,A ; Send command to LCD
CLR P3.4 ; RS=0 for command
CLR P3.5 ; R/W=0 for write
SETB P3.3 ; E=1 for high pulse
CLR P3.3 ; E=0 for H-to-L pulse
RET
DATA: MOV P1,A ; Write data to LCD
SETB P3.4 ; RS=1 for data
CLR P3.5 ; R/W=0 for write
SETB P3.3 ; E=1 for high pulse
CLR P3.3 ; E=0...
tracking img