Ada dua
cara untuk menhubungkan LCD module ke microcontroller, yaitu dengan cara LCD
dianggap sebagai I./O tanpa address decoder atau LCD dianggap sebagai device
external dengan menggunakan address decoder.
Contoh
berikut adalah lcd dianggap sebagai I/O tanpa address decoder. Circuit diagram
:
;------------------------------------------
;Program
demo untuk menjalankan LCD 16 x 2
;------------------------------------------
org
0h
ljmp
mulai
;
write_inst: ;untuk
menuliskan
mov
P1,#0h ;indstruksi ke
LCD
mov
P0,R1 ;module
setb
P1.2
clr
P1.2
acall delay
ret
write_data:
mov
P1,01h ;untuk menuliskan
mov
P0,R1 ;data ke LCD
setb
P1,2 ;module
clr
P1.2
acall
delay
ret
;
delay:
mov R0,#0
delay1:
mov R5,#50h
djnz
R5,$
djnz
R0,delay1
ret
;
Ldelay:
mov R2,#030h
Ld1: acall delay
djnz
R2,Ld1
ret
;
tulis: mov
R4,#3
mov
DPTR,#Haline
barisa: mov
R3,#16
mov
R1,#80h
acall
write_inst
tulis1:
clr
A
movc
A,@A+DPTR
mov
R1,A
Inc DPTR
acall
write_data
djnz
R3,tulis1
;
barisb: mov
R3,#16
mov R1,#0C0h
acall
write_inst
tulis2:
clr A
movc
A,@A+DPTR
mov
R1,A
Inc
DPTR
acall
write_data
djnz
R3,tulis2
acall
Ldelay
djnz
R4,barisa
ret
;
mulai:
mov
R1,#03FH
acall
write_inst
acall write_inst
mov R1,#0Dh
acall
write_inst
mov R1,#06h
acall
write_inst
mov R1,#01h
acall
write_inst
mov R1,#0ch
acall
write_inst
acall tulis
sjmp mulai
;
Haline: DB 'SELAMAT DATANG..'
DB 'di Otak Einstein.......'
DB 'Jln. D. Maninjau'
DB 'No. xx
Sawojajar'
DB 'INDONESIA'
DB 'Phone/Fax '
end
ret
note: pada tulisan yang di beri warna merah bisa diganti dengan keinginan anda