Anda di halaman 1dari 8

10.

Aplikasi tampilan LCD

gambar 10.1. Aplikasi tampilan LCD dengan input DIPSWITCH dan ADC

LCD yang digunakan adalah : M1632 yang terdiri dari 2 baris, 16 kolom
dimulai dari baris1 paling atas dan kolom 0 paling kiri.
Sebelum menampilkan karakter pada LCD, maka harus mengikuti prosedur
sebagai berikut:
Inisialisasi
Pemesanan tempat
Penulisan data

Mikrokontroler MCSS51

98

Inisialisasi terdiri dari


Display Clear
0
0
RS R/-W

0
D7

0
D6

0
D5

0
D4

0
D3

0
D2

0
D1

1
D0

Instruksi ini akan menghapus semua display dan mengembalikan kursor ke


posisi awal (alamat 0)

Cursor Home
0
0
RS R/-W

0
D7

0
D6

0
D5

0
D4

0
D3

0
D2

1
D1

X
D0

I/D
D1

S
D0

Instruksi ini mengembalikan kursor ke posisi awal (alamat 0)

Entry Mode Set


0
0
RS R/-W

0
D7

0
D6

Instruksi ini mengatur arah

0
D5

0
D4

0
D3

pergerakan kursor dan

1
D2

apakah display akan

digeser.
Jika I/D = 1 alamat akan dinaikkan dan kursor bergerak ke kanan dan
jika I/D = 0 alamat akan diturunkan dan kursor bergerak ke kiri
Jika S = 1, semua display akan digeser, tetapi posisi kursor tidak
berubah,
Jika S = 1 dan I/D = 1 , display akan digeser ke kiri dan jika S = 1 dan
I/D = 0 display akan digeser ke kanan.
Jika

S = 0 , display tidak akan digeser.

Mikrokontroler MCSS51

99

Display ON/OFF Control


0
0
RS R/-W

0
D7

0
D6

0
D5

0
D4

1
D3

D
D2

C
D1

B
D0

D = 1, display akan ditampilkan


D = 0, display tidak ditampilkan
C = 1, kursor akan ditampilkan
C = 0 , kursor tidak ditampilkan
B = 1, karakter tempat posisi kursor berkedip
B = 0, karakter tempat posisi kursor tidak berkedip

Cursor/Display Shift
0
0
RS R/-W

0
D7

0
D6

0
D5

1
D4

Instruksi ini akan menggerakkan kursor dan

S/C
D3

R/L
D2

*
D1

*
D0

menggeser display tanpa

mengubah RAM
S/C
0
0
1
1

R/L
0
1
0
1

Operasi
Posisi kursor digeser ke kiri
Posisi kursor digeser ke kanan
Seluruh display digeser ke kiri dengan kursornya
Seluruh display digeser ke kanan dengan kursornya

Function Set
0
0
RS R/-W

0
D7

0
D6

1
D5

DL
D4

1
D3

*
D2

*
D1

*
D0

DL = 1, panjang data diatur 8 bit


DL = 0, panjang data 4 bit (D7 D4)
Mikrokontroler MCSS51

100

Pin yang digunakan


Pin dari LCD tipe ini terdiri dari 16 pin
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Nama
Vss
Vcc
Vee
RS
R/W
E
D0
D1
D2
D3
D4
D5
D6
D7
VBL+
VBL-

Fungsi
GND
+5V
LCD Contrast
1 = Input data, 0 = Input Instruksi
1= Read, 0 = Write
Enable
Data 0
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
4 - 4.2 volt
GND

Pemesanan tempat
Ke baris dan kolom dengan memberi RS = 0. Untuk baris 1 data yang
dikirim adalah 8XH atau 1000 xxxxB dan baris 2 data yang dikirim
adalah CXH atau 1100xxxxB dimana x menunjukkan kolom 0 - 15
(0H - FH).

Penulisan karakter
Ke baris dan kolom tersebut dengan memberi RS =1. Karakter yang
dikirim dalam format ASCII.

Untuk melakukan percobaan ini, lakukan langkah-langkah sebagai berikut:


1. Hubungkan modul MICROTRAINER dengan memasang kabel DB25
dengan LPT1 pada PC. Mode printer adalah SPP atau output only.
Mikrokontroler MCSS51

101

2. Ketikkan di sembarang editor yang anda miliki listing program berikut:


ORG 00H
SJMP START
;--------------------------------------;
LCD CONSTANTA
;--------------------------------------DISPCLR
EQU
00000001B
FUNCSET EQU
00111000B
ENTRMOD EQU
00000110B
DISPON
EQU
00001100B
START:
ACALL
MOV
ACALL

INIT_LCD
DPTR,#BARIS1
PRINTSTRING1

MOV
ACALL

DPTR,#BARIS2
PRINTSTRING2

SJMP

MAIN

MAIN:

;---------------------------------------------------------; PROSEDUR PEMESANAN TEMPAT


;---------------------------------------------------------; RS : 0
: P3.5
;E :0-1-0
: P3.4
; DATA
: P2
CONTROLOUT:
CLR
P3.5
ACALL
DELAY
CLR
P3.4
ACALL
DELAY
SETB
P3.4
ACALL
DELAY
MOV

P2,A

CLR
ACALL
RET

P3.4
DELAY

; RS = 0

;------------------------------------------------------; PROSEDUR PENEMPATAN DATA


;------------------------------------------------------; RS : 0
: P3.5
;E :0-1-0
: P3.4
DATAOUT:
SETB
ACALL
CLR
ACALL
SETB

P3.5
DELAY
P3.4
DELAY
P3.4

Mikrokontroler MCSS51

; RS = 1
;E=0
;E=1

102

ACALL

DELAY

MOV

P2,A

CLR
ACALL
RET

P3.4
DELAY

;E=0

;-----------------------------------------;
PROSEDUR DELAY LCD
;-----------------------------------------DELAY.INIT.LCD:
MOV
R6,#20H
DLY.LCD.LP:
MOV
R7,#10H
DJNZ
R7,$
DJNZ
R6,DLY.LCD.LP
RET
INIT_LCD:
MOV
ACALL
ACALL

A,#FUNCSET
CONTROLOUT
DELAY.INIT.LCD

MOV
ACALL
ACALL

A,#DISPON
CONTROLOUT
DELAY.INIT.LCD

MOV
ACALL
ACALL

A,#DISPCLR
CONTROLOUT
DELAY.INIT.LCD

MOV
ACALL
ACALL
RET

A,#ENTRMOD
CONTROLOUT
DELAY.INIT.LCD

;---------------------------------------------------------; PROCEDURE LCD BARIS KOLOM LCD


;---------------------------------------------------------POSISI2.1:
MOV
A,#1
POSISI2:
ADD
A,#11000000B ; BARIS KEDUA
DEC
A
ACALL
CONTROLOUT
ACALL
DELAY.INIT.LCD
RET
POSISI1.1:
MOV

A,#1

ADD
DEC
ACALL
ACALL
RET

A,#10000000B ; BARIS PERTAMA


A
CONTROLOUT
DELAY.INIT.LCD

POSISI1:

Mikrokontroler MCSS51

103

PRINTSTRING2:
ACALL
CLR
MOVC
JNZ
PRINTSTRINGLOOP:
ACALL
ACALL
INC
CLR
MOVC
JNZ
RET

POSISI2.1
A
A,@A+DPTR
PRINTSTRINGLOOP
DATAOUT
DELAY.INIT.LCD
DPTR
A
A,@A+DPTR
PRINTSTRINGLOOP

PRINTSTRING1:
ACALL
POSISI1.1
CLR
A
MOVC
A,@A+DPTR
JNZ
PRINTSTRINGLOOP2
PRINTSTRINGLOOP2:
LCALL
DATAOUT
ACALL
DELAY.INIT.LCD
INC
DPTR
CLR
A
MOVC
A,@A+DPTR
JNZ
PRINTSTRINGLOOP2
RET

;-----------------------------------;
PROCEDURE DELAY
;-----------------------------------DELAY:
MOV
R5,#0
U1:
MOV
R6,#0
U2:
MOV
R7,#0
U3:
INC
R7
CJNE
R7,#5,U3
INC
R6
CJNE
R6,#5,U2
INC
R5
CJNE
R5,#5,U1
RET
BARIS1:
DB ' ABCDEFGHIJKLMNOP',0
BARIS2:
DB 'QRSTUVWXYZ012345',0

3. Simpanlah program yang anda ketik dan beri nama prog04.asm


4. Kemudian keluarlah ke DOS prompt dan ketikkan
Mikrokontroler MCSS51

104

A PROG04 <ENTER>
Jika tidak ada kesalahan, tekan <ENTER>
5. Anda akan langsung masuk ke program AEC_ISP, kemudian pilihlah option
A. Load HEX File to flash buffer,
kemudian ketik PROG04.HEX <ENTER> dan tekan
sebarang tombol
6. Pilih E.Program <ENTER> dan tunggu sebentar sampai ada indikator 100
% dan tekan sebarang tombol
7. Pilih I. Reset . Putarlah potensiometer 1 dan lihatlah tampilan di LCD nya
8. Berilah kesimpulan anda
............................................................................................................................
............................................................................................................................
......................

Mikrokontroler MCSS51

105