Anda di halaman 1dari 16

Membuat aplikasi LCD

Simulasi LCD 16x2 dengan Proteus


Dalam kamus besar bahasa ke wikepedia, arti dari LCD (Liquid Crystal Display atau dapat di
bahasa Indonesia-kan sebagai tampilan Kristal Cair ) adalah suatu jenis media tampilan yang
menggunakan kristal air sebagai penampil utama!
LCD bisa memunulkan gambar atau tulisan (berwarna juga bisa dong) dikarenakan terdapat
banyak sekali titik ahaya (piksel) yang terdiri dari satu buah kristal air sebagai sebuah titik
ahaya! "alau disebut sebagai titik ahaya, namun kristal air ini tidak memanarkan ahaya
sendiri! #umber ahaya di dalam sebuah perangkat LCD adalah lampu neon berwarna putih
di bagian belakang susunan kristal air tadi!
$itik ahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan
itra! Kutub kristal air yang dilewati arus listrik akan berubah karena pengaruh polarisasi
medan magnetik yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna
diteruskan sedangkan warna lainnya tersaring!
Dalam menampilkan karakter untuk membantu mengin%ormasikan proses dan ontrol yang
terjadi dalam suatu program robot kita sering menggunakan LCD juga! &ang sering
digunakan dan paling murah adalah LCD dengan banyak karakter '()*! +aksudnya
semaam %ungsi tabel di ms o%%ie! '( menyatakan kolom dan * menyatakan baris!
Dari datasheet akan kita peroleh in%ormasi-in%ormasi seperti ini ,
-ungsi pin yang terdapat pada LCD ditunjukkan seperti pada $abel '
1
Kon%igurasi pin dari LCD ditunjukkan pada .ambar dibawah ini
Konfigurasi Pin
LCD paling umum digunakan dan ditemukan di pasaran saat ini adalah ' Line, * Line atau /
Line LCD yang hanya memiliki ' controller dan sebagian besar mendukungan 01 karakter,
sedangkan LCD mendukung lebih dari 01 karakter menggunakan * controller 2D//301!
.ambar ' , diagram pin LCD tipe 2D//301
2
$abel ' , Kon%igurasi 4in LCD
No. Nama Pin Deskripsi
' .5D 16
* 6CC 786
9 6:: Kontras LCD
/ ;# ;egister #elet
8 ;<" ' = ;ead > 1 = "rite
( :5 :nable LCD, '=enable
3 D1 Data ?us 1
0 D' Data ?us '
@ D* Data ?us *
'1 D9 Data ?us 9
'' D/ Data ?us /
'* D8 Data ?us 8
'9 D( Data ?us (
'/ D3 Data ?us 3
'8 Anoda Anoda ?aklight L:D
'( Katoda Katoda ?aklight L:D
+odul LCD memiliki karakteristik sebagai berikut,
B $erdapat '( ) * karakter huru% yang bisa ditampilkan!
B #etiap huru% terdiri dari 8)3 dot-matri) ursor!
B $erdapat '@* maam karakter!
B $erdapat 01 ) 0 bit display ;A+ (maksimal 01 karakter)!
B +emiliki kemampuan penulisan dengan 0 bit maupun dengan / bit!
B Dibangun dengan osilator lokal!
B #atu sumber tegangan 8 Colt!
B Dtomatis reset saat tegangan dihidupkan!
B ?ekerja pada suhu 1oC sampai 88oC!
Dalam odeCision aCr, ld '()* diakses dengan /bit!
3
DDRA ! Displa" Data RA
Display Data ;A+ (DD;A+) menyimpan data LCD yang direpresentasikan dalam 0-bit
kode karakter, kapasitasnya adalah 01 ) 0bit, atau 01 karakter! DD;A+ merupakan tempat
untuk menyimpan data yang akan ditampilkan pada LCD! "alaupun kapasitasnya sampai 01
karakter, tapi untuk LCD seperti 'E'(, hanya '( karakter yang terlihat!
.ambar berikut menunjukkan alamat DD;A+ dari ' Line, * Line dan / Line LCD
4
Misalnya kita menuliskan karakter A (41hex) pada alamat ! maka huru" A tersebut akan
ditampilkan pada baris pertama k#l#m pertama pada LCD! tapi $ika karakter A itu disimpan
di alamat 4! maka huru" A akan ditampilkan pada baris kedua k#l#m pertama pada LCD%
C#R$ ! C%ara&ter generator R$
Ketika kita mengirimkan suatu nilai A#CII ke DD;A+, lalu bagaimana karakter ini bisa
ditampilkan pada LCDF jawabannya adalah dengan C.;D+! Character generator ROM ini
menyimpan 8 ) 0 dot atau 8 ) '1 dot pola karakter dari kode karakter 0-bit (lihat .ambar 9
dan .ambar / untuk lebih rini)! Dengan demikian, maka C.;D+ dapat menghasilkan
sebanyak *10 pola karakter 8E0 dot dan 9* pola karakter 8E'1 dot.
&
'
+isalnya kita mengirimkan kode 11'1-11''b (*9h) ke DD;A+ LCD maka karakter atau
patteren GHI akan ditampilkan pada LCD!
C#RA ! C%ara&ter #enerator RA
C.;A+ merupakan memori untuk menyimpan pola sebuah karakter yang bentuknya dapat
dibuat sendiri sesuai keinginan! 5amun memori ini akan hilang saat power supply tidak akti%,
sehingga pola karakter pun akan turut hilang!
(
Mengenal instuksi LCD pada Code Vision AVR
unsigned char lcd_init(unsigned char lcd_columns); ))yan* ber"un*si untuk
men*inisialisasi LCD%
+#nt#h , l+d-init(1'). ))an*ka di dalam kurun* (1') sesuai den*an type LCD%
unsigned char lcd_read_byte(unsigned char addr); ))ber"un*si memba+a karakter /AM
LCD
+#nt#h , data 0 l+d-read-byte(x1).
oid lcd_clear(oid); ))untuk men*hapus tampilan LCD dan menempatkan kurs#r pada
baris k#l#m
+#nt#h , l+d-+lear().
oid lcd_goto!y(unsigned char !"unsigned char y); ))untuk menempatkan kurs#r pada
k#l#m x baris y
+#t#h , l+d-*#t#xy(!1).
oid lcd_putchar(char c); ))untuk menampilakn karakter
+#nt#h , l+d-put+har(x41). ))menampilkan karakter A
oid lcd_puts#(char #lash $str); ))untuk menampilkan strin*
+#nt#h , l+d-puts"(12aharudin1). )) menampilkan strin* 2aharudin
oid lcd_puts(char $str); )) menampilkan strin* yan* ada di 3/AM% 4adi sebelum
men**unakan "un*si ini strin* harus sudah ada di 3/AM
))instruksi ini memerlukan pustaka stdi#%h
'! ?uka program proteus, proteus yang saya pakai yaitu tipe 3!' #4/
*! Klik J4ik %rom deCiesJ pada keyword ketikkan Jatmega'(J kemudian klik *)
deCie A$+:.A'( selanjutnya ari komponen yang lain yaitu potensi1 dengan nama
deCie J4D$-2.J dan LCD dengan nama deCie JL+1'(LJL
Cara memilih 4ik DeCies A$+:.A'( ,

5
Cara memilih LCD L+1'( L
Cara memilih resistor 6ariabel seperti dirangkaian dibawah ini dengan ara ,

6
'! ?uat rangkaian seperti berikut!
*!
3%
/! +embuat program yang akan dimasukkan pada A$+:.A'(, disini saya
menggunakan so%tware odeCision aCr!
1
8! ?uka CodeCision, klik new--K%ile--Kprojet
(!
3! 4ada tab Chip , A$mega'(, Clok,'* +2L
0!
@! 4ada tab LCD , 4D;$C
11
'1!
''! Kemudian klik -ile--K .enerate, #aCe and :)it
'*! ?eri nama sesuai selera
'9! 4ada while(') ketikkan program sebagai berikut
'/!
'8! $ampilan program dapat dilihat dibawah ini ,
12
'(!
'3! Compile dengan menekan -@ atau klik menu projet--K ompile
'0! #etelah diompile,kemudian klik ?uild All (trl7-@) maka akan terbentuk sbb ,
'!
*! #ehingga terbentuk %ile tes!o%
9! +asukkan nama%ile!o% pada atmega'( dengan ara klik *) dengan settingan sebagai
berikut!
13
/!
8! ;un the simulation < $ombol play (4ojok kiri bawah), maka hasilnya adalah sebagai
berikut
(!
/unnin* text ,
14
1&
7u*as ,
2uat 7ulisan ber*erak menampilkan 8ama dan 89M anda di baris kedua! baris pertama LCD
menampilkan tulisan :7u*as 3ismik 2;% <asil peker$aan harus menampilkan snapsh##t
( +apture) dari *ambar m#dul atme*a1' dan LCD d* pr#teus%
1'

Anda mungkin juga menyukai