Cara Menyambung LCD ke Mikrokontroler
Mungkin ini hal sepele. Bagi anda yang sudah lama bergelut dg mikrokontroler. Tapi masih banyak juga yang perlu penjelasan detail. Kami masih sering mendapat pertanyaan bagimana menghubungkan LCD ke pin mikrokontroler.
Pertama, kita pahami dulu LCD, yang dibahas tipe LCD karakter, yaitu yang menampilkan karakter/huruf saja. Ada sih LCD grafik yang dapat menampilkan grafik atau gambar. LCD karakter (alphanumeric LCD) ada beberapa tipe, berdasar jumlah baris dan kolom. Semakin banyak kolom dan baris maka semakin banyak karakter yang dapat ditampilkan.
Umumnya yang dipakai adalah ukuran 16×2, 16 kolom dan 2 baris.

Sebuah LCD, hampir semua ukuran, terdapat 16 kaki/pin. Seperti apa saja ?
[gambar pin]
Keterangannya :
No pin | Keterangan |
---|---|
1 | GND |
2 | VCC |
3 | VEE |
4 | RS |
5 | RW |
6 | E |
7 | D0 |
8 | D1 |
9 | D2 |
10 | D3 |
11 | D4 |
12 | D5 |
13 | D6 |
14 | D7 |
15 | A |
16 | K |
Pin nomor 1 konek ke GND dan 2 terhubung dengan tegangan 5 V, ini untuk supply tegangan LCD. Pin 3 (VEE) untuk mengatur kontras, biasanya dihubungkan dengan trimpot, atau langsung ke ground juga boleh (kontras maksimal). Pin RS, RW dan E merupakan jalur control, dihubungkan dengan kaki mikrokontroler.
Pin nomor 7 s/d 14 (D0 s/d D7) adalah jalur data, tetapi yang dipakai hanya D4 s/d D7. Kenapa ? Biar irit port dan BASCOM-AVR maupun CVAVR cocok untuk data 4 bit. Jadi D0 s/d D3 tidak disambung, D4 s/d D7 disambungkan ke pin mikrokontroler. Trus nomor 15 itu Anoda dan 16 Katoda, untuk power backlight, sifatnya optional. Jika backlight mau dihidupkan maka Anoda dihubungkan dengan +5V dan Katoda ke Gnd. Jadi pin 15 (A) nyambung ke pin 2 (Vcc) dan pin 16 (K) sambungin ke pin 1 (Gnd).
Gimana nyambungnya ?
Ya pakai kabel, disolder apa ditaliin gitu..,mosok dilem pakai nasi hehe..
Jika kita pakai bahasa BASCOM-AVR maka boleh disambung ke pin/kaki mikrokontroler mana saja, terserah. Tinggal nanti softwarenya yang menyesuaikan. Contoh nih ya, pin RS ke PB.0, pin E ke PB.1. Oya untuk BASCOM-AVR pin RW langsung konek ke ground ya. Trus D4 s/d D7 ke PB.2 s/d PB.5.

Nah tinggal sesuaikan programnya :
Config Lcdpin = Pin , Rs=PORTB.0 , E=PORTB.1 , Db4 = PORTB.2 ,Db5 =PORTB.3 , Db6=PORTB.4 ,Db7 = PORTB.5
Ini contoh yang lain :

Maka programnya menjadi :
Config Lcdpin = Pin , Rs=PORTB.2 , E=PORTB.0 , Db4 = PORTD.0 ,Db5 =PORTB.1 , Db6=PORTB.7 ,Db7 = PORTD.3
Intinya tidak harus urut (urut juga boleh), tidak harus 1 port (1 port juga boleh).
Nah untuk bahasa C (CVAVR) , jika memakai CVAVR V1 maka koneksi harus urut mulai PORTX.0 s/d PORTX.7. Contoh :

Perhatikan bahwa pin RW terhubung ke PORT mikro, bukan ke ground seperti BASCOM. Mulai dari RS,RW sampai D7 harus urut PORTB.0 s/d PORTB.7.
Maka pada program cukup menambahkan library :
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
Jika pakai CVAVR V2, tidak harus urut, hampir mirip seperti BASCOM-AVR. Konfigurasi koneksi pin melalui Configure pada Project :
Kemudian tambahkan 1 baris library :
#include <alcd.h>
Baik supaya lebih paham lagi, kita praktek. Pertama pakai BASCOm-AVR dengan rangkain gambar 1.
$regfile = “m8535.dat”
$crystal = 16000000
Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.1 , Db4 = Portb.2 ,
Config Lcdpin = Pin , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5
Config Lcd = 16 * 2
Cursor Off
Cls
Lcd “LCD Ukuran 16×2”
Lowerline
Lcd “abcdefghijklmnop”
End
Selanjutnya CVAVR V2 dengan rangkaian pada gambar 3.
#include <mega16.h>
#include <alcd.h>
void main(void)
{
lcd_init(16);
lcd_putsf(“LCD Ukuran 16×2”);
lcd_gotoxy(0,1);
lcd_putsf(“abcdefghijklmnop”);
while (1);
}
Lebih gampang yang mana gan ? Mudah semua kan ?
Pingback:Cara Menyambung LCD ke ARDUINO | inkubator-teknologi.com