Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Thread Closed: Issue successfully resolved

???
07/25/05 09:10
Read: times


 
#97956 - LCD 2 line display problem
I am not able to display characters on the second line, but able to display on 1 line. my code is supposed to display "HELLO" in 1 line and "WORLD" in the second line. I have used second line address C0H BEFORE displaying character

pl check my code suggest.........

Thanking to all
DB0 EQU P1.0
DB1 EQU P1.1
DB2 EQU P1.2
DB3 EQU P1.3
DB4 EQU P1.4
DB5 EQU P1.5
DB6 EQU P1.6
DB7 EQU P1.7

EN EQU P2.2
RS EQU P2.0
RW EQU P2.1
DATA1 EQU P1

org 00h
LJMP START

ORG 2FH

WAIT_LCD:

SETB EN ;Start LCD command
CLR RS ;It's a command
SETB RW ;It's a read command
MOV DATA1,#0FFh ;Set all pins to FF initially
MOV A,DATA1 ;Read the return value
JB ACC.7,WAIT_LCD ;If bit 7 high, LCD still busy
CLR EN ;Finish the command
CLR RW ;Turn off RW for future commands
RET


INIT_LCD:

SETB EN
CLR RS
MOV DATA1,#38h
CLR EN
LCALL WAIT_LCD
SETB EN
CLR RS
MOV DATA1,#0Eh
CLR EN
LCALL WAIT_LCD
SETB EN
CLR RS
MOV DATA1,#06h
CLR EN
LCALL WAIT_LCD
RET

CLEAR_LCD:

SETB EN
CLR RS
MOV DATA1,#01h
CLR EN
LCALL WAIT_LCD
RET

WRITE_TEXT:

SETB EN
SETB RS
MOV DATA1,A
CLR EN
LCALL WAIT_LCD
RET

START:

LCALL INIT_LCD
LCALL CLEAR_LCD
MOV A,#'H'
LCALL WRITE_TEXT
MOV A,#'E'
LCALL WRITE_TEXT
MOV A,#'L'
LCALL WRITE_TEXT
MOV A,#'L'
LCALL WRITE_TEXT
MOV A,#'O'
LCALL WRITE_TEXT
SETB EN
CLR RS
MOV DATA1,#0C4h
CLR EN
LCALL WAIT_LCD
MOV A,#'W'
LCALL WRITE_TEXT
MOV A,#'O'
LCALL WRITE_TEXT
MOV A,#'R'
LCALL WRITE_TEXT
MOV A,#'L'
LCALL WRITE_TEXT
MOV A,#'D'
LCALL WRITE_TEXT

LJMP $


Thanks to every body...

P.Ravi

List of 3 messages in thread
TopicAuthorDate
LCD 2 line display problem            01/01/70 00:00      
   Possible init problem            01/01/70 00:00      
      Problem solved            01/01/70 00:00      

Back to Subject List