Sunday, April 11, 2010

Tentang LCD

Hmm...bingung sesaat mau nulis artikel apa. Yup, daripada bengong, mending pake salah satu motto hidupku, ”ingin jadi orang yang berguna, meskipun hanya berbagi hal yang sederhana” (lebay ga sih? hehehe :)). Nah, telah diputuskan, kali ini ane akan berbagi penjelasan singkat mengenai LCD. LCD merupakan singkatan dari Liquid Crystal Display. Penemunya bernama Tatsuo Ochida yang sekarang menjabat sebagai Direktur Pascasarjana   Tohoku University, Jepang. Modul LCD ini dapat dengan mudah dihubungkan dengan mikrokontroller. LCD yang paling sering digunakan untuk operasi standar mempunyai ukuran lebar display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 16x2. LCD ini mempunyai 16 buah pin konektor, yang secara umum tiap pinnya didefinisikan sebagai berikut:
 
Pin 1    -> Ground
Pin 2    -> Vcc       
Pin 3    -> VEE (contrast)
Pin 4    -> RS (Register Select). 0 = Instruction Register. 1 = Data Register
Pin 5    -> R/W (Read / Write mode). 0 = Write Mode. 1 = Read Mode
Pin 6    -> En (Enable). 0 = start to latch data to LCD. 1 = Disable
Pin 7-14    -> DB0 - DB7 (Data Bus)
Pin 15    -> Back Light (+)
Pin 16    -> Black Light (-)

Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah waktu tertentu (sesuai dengan datasheet dari LCD tersebut) dan berikutnya set EN ke logika low “0” lagi. Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan dianggap sebagi sebua perintah atau instruksi khusus (seperti clear screen, posisi kursor dll). Ketika RS berlogika high “1”, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf “T” pada layar LCD maka RS harus diset logika high “1”. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ”0”. Oiya, setiap pemberian logika RS, EN, dan R/W membutuhkan waktu sekitar 15ms (untuk lebih jelasnya bisa dilihat di datasheet). Untuk Bus data, terdiri dari 4 atau 8 jalur, bergantung pada mode operasi yang dipilih oleh user. Pada kasus bus data 8 bit, jalur diacukan sebagai DB0 s/d DB7.


Fiuuh..lumayan membingungkan. Yup, sebelum mengenal pemrograman BASCOM AVR (alias menggunakan Assmbler) emang mbingungin karena kita harus benar-benar tahu dan mengusai langkah-langkah diatas. Kalau merasa bingung dengan materi di atas, jangan kecewa dulu. Dengan menggunakan BASCOM AVR, sudah disediakan syntax-syntax yang memudahkan kita untuk mengatur tampilan LCD. Bahkan, disediakan juga tool untuk membuat karakter sendiri.
 
Contoh aplikasi:
Pada aplikasi ini, digunakan AVR ATMEGA8535. Pin RW selalu diberi logika low ”0” (GND) karena kita hanya melakukan operasi write saja. Di BASCOM, data bus yang digunakan cukup 4 saja yakni D4-D7,selain itu pin control juga dihubungkan ke uC (pin RS dan E).
Rangkaian LCDnya, kalo terpisah ama chip jadinya kaya gini:



Trus, contoh programnya (free download)…


Silakan di download, di copy ke BASCOM, di compile, terus di simulasi/download ke uC. Kalo di Simulasi pake Proteus:



Dan yang terakhir, leave a comment(s) please.. semoga bermanfaat.. :)




Related Post:

11 comments:

  1. kerenn..krenn....
    akhirnya nambah juga postingannya....


    mantafff...:D

    ReplyDelete
  2. nah ini yang tak cari prim.....
    mantab - mantab
    matur suwun hehehe

    tambah lagi prim yang lebih banyak hehehe
    SEMANGAT hehe

    ReplyDelete
  3. @Moak: iya nie moak, melewati beberapa sunting a.k.a salah format ketikan mlulu...hehehe
    sip dah,GO BLOG! :D

    @Arli: hehehe... tetep tanyakan sesuatu tentang elektronika li, terutama mikrokontroller...ntar jadi artikel lagi... :D
    yep SEMANGAAAT!!!

    ReplyDelete
  4. prim.. shoutmixnya ganti shoutbox aja..

    ReplyDelete
  5. kerenn..krenn....
    akhirnya nambah juga postingannya....

    ReplyDelete
  6. @kia:
    sama sama gan..senang bisa berbagi.. :)

    @mz rurud:
    oke oke..ntar klo smpat... :)

    ReplyDelete
  7. wow josh
    mau tanya ni om primzz klo buat program LCD pake avr gcc bs g? ane lg belajar avr gcc neh. he2

    ReplyDelete
  8. @agan haleem :
    oke gan...segera diposting..tunggu aja..hehe

    ReplyDelete
  9. agan haleem silakan cekidot di

    http://blackbox86.blogspot.com/2011/02/belajar-lcd-dengan-avr-gcc.html

    ReplyDelete
  10. kalo vcc itu apa ya??
    kalo buat ke + sama - nya mana?
    boleh minta rangkaian nya gak?

    ReplyDelete