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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
01/29/00 19:17
Read: times


 
#1348 - RE: 2*16 LCD Help rqs.
I think you can find the datasheet of any LCD modal because most of the setting are same.

here is an example, hope it can help you
connect a port,say P0 to D0-D7 of LCD and connect three control pins rs,rw,en to any 3 pins of 8052


rs bit p1.0
rw bit p1.1
en bit p1.2

org 0h
main: lcall datainterface
lcall displayon
lcall clear
mov dptr,#msg0
lcall writestr
loop: ljmp main


datainterface:
mov a,#00111000b ; 8-bit data, 2 line display, 5 x 7 dots
lcall writecmd
ret


clear: mov a,#00000001b ;clear display
lcall writecmd
ret

displayon: mov a,#00001111b ; display on, cursor on, blinking off
lcall writecmd
ret

wait_till_not_busy: push a
busy: clr rs ; instruction signal
setb rw ; read mode
mov p0,#11111111b
setb en
mov a,p0 ; input data from LCD
clr en
jb acc.7,busy ;busy flag = 1?
lcall delay
pop a
ret

delay: mov r6,#5
outer: mov r7,#150
inner: djnz r7,inner
djnz r6,outer
ret



writechar:lcall wait_till_not_busy
setb rs ; data signal
clr rw ; write mode
setb en
mov p0,a ; output to LCD
clr en
ret
writestr: mov r1,#0
next: mov a,r1
movc a,@a+dptr
jz exit
lcall writechar
inc r1
mov a,r1
cjne a,#10h,cont
mov a,#11000000b
lcall writecmd
ljmp next

cont: cjne a,#1fh,next
mov a,#0h
lcall writecmd
ljmp next
exit: ret

writecmd: lcall wait_till_not_busy
clr rs ; instruction signal
clr rw ; write mode
setb en
mov p0,a ; output to LCD
clr en
ret

msg0: str "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
db 0





List of 4 messages in thread
TopicAuthorDate
2*16 LCD Help rqs.            01/01/70 00:00      
RE: 2*16 LCD Help rqs.            01/01/70 00:00      
RE: 2*16 LCD Help rqs.            01/01/70 00:00      
RE: 2*16 LCD configuration pin            01/01/70 00:00      

Back to Subject List