14
PRAKTIKUM 4 MENAMPILKAN DATA MEMORI PADA LCD 4.1 TujuanInstruksionalKhusus Memperkenalkankarakteristik LCD 2 x 16 Menjelaskancarakerja LCD Mempelajaripemrograman mikrokontroler untuk mengakses LCD 2 x 16 4.2 DasarTeori PinLCD LCD yang dibahaspadapraktikuminiadalahtipe LCD 2x16 digit memiliki 14 pin ditambah 2 pin untukbackligth. Gambar 4.1 menunjukkan konfigurasi pin LCD 2x16 digit.Fungsisetiappin seperti ditunjukkan pada table 4.1. a. Modul tampilan LCD

4. Menampilkan Data Memori Ke Lcd_1

Embed Size (px)

Citation preview

Page 1: 4. Menampilkan Data Memori Ke Lcd_1

PRAKTIKUM 4

MENAMPILKAN DATA MEMORI PADA LCD

4.1 TujuanInstruksionalKhusus

Memperkenalkankarakteristik LCD 2 x 16

Menjelaskancarakerja LCD

Mempelajaripemrograman mikrokontroler untuk mengakses LCD 2 x 16

4.2 DasarTeori

PinLCD

LCD yang dibahaspadapraktikuminiadalahtipe LCD 2x16 digit memiliki

14 pin ditambah 2 pin untukbackligth. Gambar 4.1 menunjukkan konfigurasi pin

LCD 2x16 digit.Fungsisetiappin seperti ditunjukkan pada table 4.1.

a. Modul tampilan LCD

b. Konfigurasi pin LCD 2x16 digit

Gambar 4.1 LCD 2x16 digit

Tabel4.1Penjelasan Pin pada LCD

Page 2: 4. Menampilkan Data Memori Ke Lcd_1

Pin Simbol I/O Keterangan

Page 3: 4. Menampilkan Data Memori Ke Lcd_1

1 Vss -- Ground2 Vcc -- Catudaya +5 Volts3 Vee -- PengaturKontrasLayar4 RS I RS = 0 untuk reg. Command ; RS = 1 untuk reg. Data

5 R/W IR/W = 0 untuk WriteR/W = 1 untuk Read

6 E I/O Enable (Strobe)7 DB0 I/O Bus Data 8-bit8 DB1 I/O Bus Data 8-bit9 DB2 I/O Bus Data 8-bit10 DB3 I/O Bus Data 8-bit11 DB4 I/O Bus Data 8-bit12 DB5 I/O Bus Data 8-bit13 DB6 I/O Bus Data 8-bit14 DB7 I/O Bus Data 8-bit

Vcc, Vss, danVee

JikaVssdanVssmasing-masingberfungsisebagaijaluraruscatudaya +5V dan

Ground-nya.Veedigunakanuntukmengontrolkontrasdaritampilan

LCD.Yaknidilakukandenganmenghubungkan pin inidengan resistor 1

kohmataulebihrendahlagi, pada ground.

RS, register Select

Ada 2 buah register yang penting pad LCD. PinRS inilah yang

digunakanuntukmemilih register tersebut. Jika RS = 0, maka register kode

"Instruction Command" yang sedangkitapilih, yang

dapatdigunakanmisalnyauntukmembersihkan display, memindahkankursor, dll.

Jika RS = 1 maka register "Data" yang sedangkitapilih, yang akanmembuatsetiap

data yang kitakirimkanakanlangsngditampilkanpada LCD

sesuaidengandaftarkarakteryang dipunyainya.

R/W,read/write

Page 4: 4. Menampilkan Data Memori Ke Lcd_1

Input R/W membuatkitabisamenulis/mengirimkan data pada LCD

ataumembaca data dari LCD. RW = 0 untukmenulis, dan R/W = 1

untukmembaca. Dalamprakteksangatjarang data dari LCD dibaca,

sehinggadalambeberaparancangan, pin R/W inilangsungdihubungkanpada ground,

demi menghemat port mikrokontroller.

E, enable

Fungsinyamiripdengan strobe.Setiap proses yang

hendakkitalakukanakanmenjadi "sah" setelahadapulsaTinggi-ke-Rendahpada pin

ini. Setiap data yang dikirimkanmelalui pin data, akansegera di latch di dalam

LCD. Dan LCD dapatmengerjakantugasnyamenurut data yang barusajadiaterima.

D0-D7

Pin data 8-bit, D0-D7 digunakanuntukmengirimkaninforamsike LCD

ataupunutukmembacaisidari register internal dari

LCD.Untukmenampilkanabjaddanangka, kitaharusmengirimkannyadalamkode

ASCII, untukabjad A-Z, dan a-z, termasukangka 0-9 pada ke-8-pin

tersebutdenganmengatur pin RS = 1.

Ada pula beberapakodeperintah yang digunakanuntukmembuat LCD

membersihkanlayarnyaataumemindahkankursorkekiri, kanan ,ataukeposisi home,

ataumembuatkursor yang berkedip. Tabel2 menunjukkan beberapakode

"Intruction Command".

Kita dapatmembuat RS = 0 untukmemeriksa bit bendera busy,

untukmengetahuiapakah LCD sudahsiapuntukmenerima data selanjutnya. Bit

bendera busy menggunakan pin D7 danbisaperiksasaat R/W = 1 dan RS = 0.

Apabila R/W = 1 dan RS = 0, danternyata pin D7 = 1 makaberartibendera busy =

1. Artinya LCD masihsibukdalammelaksanakanoperasiinternalnya.Segerasetelah

busy = 0, makakitadapatmengirimkan data berikutnyapada LCD.

Page 5: 4. Menampilkan Data Memori Ke Lcd_1

Tabel4.2: Kode-kode Command LCD

Hex Instruksi Keterangan

1 Clear Display Screen BersihkanLayardankembalisemula2 Return Home Kursorkembalisemula4 Decrement cursor Geserkursorkekiri6 Increment cursor Geserkursorkekanan5 Shift Display right GeserLayardanisikekanan 1 kali7 Shift Display left GeserLayardanisikekiri 1 kali8 Display Off,Cursor Off --A Display Off,Cursor On --C Display On, Cursor Off --E Display On,Cursor Blinking --F Display On,Cursor Blinking --10 Shift cursor left Geserkursorkekiri14 Shift cursor right Geserkursorkekanan18 Shift entire display Left GeserLayardanisikekiri 1 kali1C Shift entire display right GeserLayardanisikekanan 1 kali80 force cursor to beginning of 1st line pindahkankursorkekiriatasC0 force cursor to beginning of 2nd line pindahkankursorkekiribawah38 Setup LCD 2lines, 5x7 matrix kodeinisialisasi LCD

 

Terdapat 2 metodeuntuk penulisan LCD, antara lain:

a. memeriksa busy flag, untukkemudianmengirimkan data berikutnya.

b. membuattundaan waktu.

Sedapatmungkinwaktutundaadalahcukupuntuk waktu yang

dibutuhkanoleh LCD dalammengerjakansetiapinstruksinya. Cara yang ke 2

iniadalahcara yang paling sederhana, namunmampumemberikanhasil yang

samabahkan lebihbaik.

Gambar4.2Posisi Pin untukbeberapajenis LCD dariOptrex

Page 6: 4. Menampilkan Data Memori Ke Lcd_1

4.3 Daftaralatdanbahan

1. Software Proteus 7

2. Software MIDE-51

3. Unit Komputer

4.4 KeselamatanKerja

1. Menggunakanpakaianpraktikumdenganbaikdanrapi

2. Sambungkanperangkat-perangkat yang

digunakansesuaidenganpetunjukpembimbingpraktikum

3. Jalankansistemsetelahmendapatizindaripembimbingpraktikum.

4. Bilapraktikumtelahselesai, makabongkarsemuaperangkat yang

digunakandansimpanpadatempatsemuladenganrapi

4.5. GambarKerja

Gambar 4.2. Rangkaian interface LCD

Page 7: 4. Menampilkan Data Memori Ke Lcd_1

4.6 Program Mikrokontroler

org 0hcall init_lcd

MULAI: MOV R1,#080H ; Lokasi Display RAM, Row=1 Col=0call write_inst

PRE_DISP: MOV DPTR,#BARIS_1MOV R6,#0Fh

ULANG1: CLR AMOVC A,@A+DPTRINC DPTRMOV R1,Acall write_dataCALL DELAYDJNZ R6,ULANG1

MOV R1,#0C0H ; Lokasi Display RAM, Row=2 Col=0call write_inst

PRE_DISP2: MOV DPTR,#BARIS_2MOV R6,#0Fh

ULANG2: CLR AMOVC A,@A+DPTRINC DPTRMOV R1,Acall write_dataCALL DELAYDJNZ R6,ULANG2SJMP MULAI

Init_lcd: mov r1,#01H ;Display clear call write_inst mov r1,#38H ;Function set, Data 8 bit,2 line font 5x7 call write_inst mov r1,#0CH ;Display on, cursor off,cursor blink off

call write_inst mov r1,#06H ;Entry mode, Set increment call write_inst

ret

Write_inst:clr P2.0 ; = RS =0 CLR P2.1 mov P1,R1 ; P0 = D7 s/d D0 = R1 setb P2.2 ; =EN = 1 call delay ; call delay time clr P2.2 ; =EN = 0 ret

Write_data: setb P2.0 ; = RS =1 clr P2.1 ; R/W = 0 mov P1,R1 ; P0 = D7 s/d D0 = R1 setb P2.2 ; =EN = 1 call delay ; call delay time clr p2.2 ; =EN = 0 ret

Page 8: 4. Menampilkan Data Memori Ke Lcd_1

delay: mov R0,#50 delay1: mov R7,#0fFh djnz R7,$ djnz R0,delay1 ret

BARIS_1: DB " SELAMAT DATANG "BARIS_2: DB " 2013 "

end

4.7 LangkahPercobaan

a. Hubungkan LCDke port 1 untuk data dan port 2 untuk kontrol

sepertipadaGambar4.2.

b. Buat programseperti pada program 1 dan kompile serta jalankan

program tersebut.

c. Catattampilan karakter pada LCD.

d. Lakukananalisis data danbuatlahkesimpulan-kesimpulan yang

diperoleh

4.8 Data

Tabel.4.3 HasilPercobaan

Kolom0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Baris 1 S E L A M A T D A T A N GBaris 2 2 0 1 3

Page 9: 4. Menampilkan Data Memori Ke Lcd_1

4.9 Pertanyaan

a. Lakukan analisis terhadap hasil percobaan

Jawab :

Rangkaian yang digunakanadalahsebagaiberikut :

Untuk menampilkan tulisan pada Layar LCD, digunakan sebuah

IC AT89C52pada kaki IC Port 1.0 - Port 1.7 di hubungkanlangsungke

port D0- Port D7 pada LCD. Untuk Port 2.0 – Port 2.2 pada IC di

hubungkan langsung ke Port Rs, Rwdan Epada LCD.Port VEE di

hubungkanlangsungke POT-HG, Port VDD dihubungkankeVcc (+5v)

dan Port Vss dihubungkan langsung ke Ground.

“EA”pada IC AT89C51 dihubungkankeVcc(+5v), “RST” pada IC

AT89C51 di hubungkanpadarangkaian minelect10u16v, resistor 10k dan

button (tomboltekan) yang masing2 di hubungkanke ground danVcc

(+5v). Untuk XTAL1 DAN XTAL2 di hubungkanke CRYSTAL dan 2

buah CERAMIC22pF yang di hubungkanke Ground.

b. Buatlah kesimpulan terhadap hasil analisis yang telah dilakukan

Jawab :

Vcc,VssdanVeeberfungsisebagaijaluraruscatudaya +5V dan

Ground-nya. Veedigunakanuntukmengontrolkontrasdaritampilan

LCD.

PinRS (Register Select)digunakanuntukmemilih register tersebut.

Input R/W (Read/Write) berfungsiuntukmenulis/mengirimkan

Page 10: 4. Menampilkan Data Memori Ke Lcd_1

data pada LCD ataumembaca data dari LCD

Pin data 8-bit, D0-D7 digunakanuntukmengirimkaninforamsike

LCD ataupunutukmembacaisidari register internal dari

LCD.Untukmenampilkanabjaddanangka,

kitaharusmengirimkannyadalamkode ASCII.

c. Lakukan modifikasi terhadap program di atas untuk mendapatkan

tampilan di LCD seperti

Kolom0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Baris 1 S E L A M A T D A T A N GBaris 2 2 0 1 3

Kemudian tampilan di clear dan mengulang kembali tampilan LCD

seperti konfigurasi di atas

Jawab :

PROGRAM NYA :

org 0h

callInit_lcd

MULAI: MOV R1,#80H ; Lokasi Display RAM, Row=1 Col=0

call write_inst

PRE_DISP: MOV DPTR,#BARIS_1

MOV R6,#0Fh

ULANG1: CLR A

MOVC A,@A+DPTR

INC DPTR

MOV R1,A

call write_data

CALL DELAY

DJNZ R6,ULANG1

MOV R1,#0C0H ; Lokasi Display RAM, Row=2 Col=0

call write_inst

PRE_DISP2: MOV DPTR,#BARIS_2

MOV R6,#0Fh

Page 11: 4. Menampilkan Data Memori Ke Lcd_1

ULANG2: CLR A

MOVC A,@A+DPTR

INC DPTR

MOV R1,A

call write_data

CALL DELAY

DJNZ R6,ULANG2

MOV R1,#01H ; untuk clear agar ulang !!!!!

CALL write_inst ;menulisinstruksi

SJMP MULAI

Init_lcd: mov r1,#01H ;Display clear

call write_inst

mov r1,#38H ;Function set, Data 8 bit,2 line

font 5x7

call write_inst

mov r1,#0CH ;Display on, cursor off,cursor

blink off

call write_inst

mov r1,#06H ;Entry mode, Set increment

call write_inst

ret

Write_inst:clr P2.0 ; = RS =0

CLR P2.1

mov P1,R1 ; P0 = D7 s/d D0 = R1

setb P2.2 ; =EN = 1

call delay ; call delay time

clr P2.2 ; =EN = 0

ret

Write_data:setb P2.0 ; = RS =1

clr P2.1 ; R/W = 0

mov P1,R1 ; P0 = D7 s/d D0 = R1

setb P2.2 ; =EN = 1

call delay ; call delay time

clr p2.2 ; =EN = 0

Page 12: 4. Menampilkan Data Memori Ke Lcd_1

ret

delay: mov R0,#50

delay1: mov R7,#0fFh

djnz R7,$

djnz R0,delay1

ret

BARIS_1: DB " SELAMAT DATANG "

BARIS_2: DB " 2013 "

End