Selasa, 21 November 2017

Antarmuka Mikrokontroller Dengan LCD

A. LCD (Liquid Crystal Display)

Sebuah LCD adalah piranti output yang menampilkan informasi dalam bentuk teks. Ada bermacam-macam LCD, ada yang hanya bisa menampilkan karakter, ada yang bisa menampilkan grafik. Ada yang hanya bisa menampilkan 1 baris, ada yang lebih dari satu baris. LCD yang paling banyak digunakan adalah LCD dengan format 16 x 2, artinya LCd tersebut dapat menampilkan 2 baris, masing-masing baris dapat menampilkan 16 karakter.
Setiap karakter dikirim dalam satu saat ke LCD dengan format ASCII (American Standard Code for International Interchange). Sebuah mikrokontroler yang diletakkan di panel belakang LCD menerjemahkan data karakter ASCII tersebut dan mengirim sinyal kontrol untuk menampilkan karakter ke LCD. LCD dapat dikonfigurasi untuk mengirim data dalam format paralel atau serial. 
Modul LCD M1632 seperti dalam Gambar 6.1 merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya yang rendah. Modul ini dilengkapi dengan mikrokontroler yang didisain khusus untuk mengendalikan LCD. Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD ini mempunyai CGROM (Character Generator Read Only Memory), CGRAM (Character Generator Random Access Memory), dan DDRAM (Display Data Random Access Memory).
Gambar 6.1 Modul LCD M1632

LCD ini memiliki 16 kaki, sebagaimana ditunjukkan dalam Tabel 6.1.

Tabel 6.1 Konfigurasi Pin LCD M1632
No
Kaki
Deskripsi
1
Vss
0V (GND)
2
Vcc
+5V
3
VLC
LCD Contrast Voltage
4
RS
Register Select; H: Data Input; L: Instruction Input
5
RD
H:Read; L: Write
6
EN
Enable Signal
7
D0
Data Bus 0
8
D1
Data Bus 1
9
D2
Data Bus 2
10
D3
Data Bus 3
11
D4
Data Bus 4
12
D5
Data Bus 5
13
D6
Data Bus 6
14
D7
Data Bus 7
15
V+BL
Positive Backlight Voltage
16
V-BL
Negative Backlight Voltage

1. DDRAM (Display Data Random Access Memory)

DDRAM adalah merupakan memori tempat karakter yang ditampilkan berada.
Contoh, untuk karakter ‘A’ atau 41H yang ditulis pada alamat 00, maka karakter tersebut akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut ditulis di alamat 40, maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD. Posisi ini ditunjukkan dalam Gambar 6.2.

Gambar 6.2 Posisi DDRAM

2. CGRAM (Character Generator Random Access Memory)

CGRAM adalah merupakan memori untuk menggambarkan pola sebuah karakter di mana bentuk dari karakter dapat diubah-ubah sesuai keinginan. Namun memori ini akan hilang saat power supply tidak aktif, sehingga pola karakter akan hilang.

3. CGROM (Character Generator Read Only Memory)

Gambar 6.3 Pola Karakter dalam CGROM

CGROM adalah merupakan memori untuk menggambarkan pola sebuah karakter di mana pola tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat mengubah lagi. Namun karena ROM bersifat permanen, maka pola karakter tersebut tidak akan hilang walaupun power supply tidak aktif. Pada Gambar 6.3, tampak terlihat pola-pola karakter yang tersimpan dalam lokasi-lokasi tertentu dalam CGROM. Pada saat HD44780 akan menampilkan data 41H ke DDRAM, maka HD44780 akan mengambil data di alamat 41H (0100 0001) yang ada pada CGROM yaitu pola karakter A.

B. Rangkaian Antarmuka Mikrokontroler dengan LCD16x2

Dalam Gambar 6.4 modul LCD dihubungkan ke PORTB mikrokontroler dimana kaki RS, RD, EN terhubung ke PORTB.0-PORTB.2 dan D4, D5, D6, D7 terhubung ke PORTB.4-PORTB.7. Dalam rangkaian ini digunakan mode pengiriman data paralel 4-bit.

Gambar 6.4 Rangkaian LCD

C. Instruksi yang Digunakan untuk Menampilkan Karakter

Ada beberapa instruksi yang bisa digunakan untuk menampilkan karakter ke LCD, yaitu:
lcd_init(a);  //inisialisasi LCD
 lcd_gotoxy(x,y);    //menempatkan kursor di baris y 
//kolom x
lcd_putchar(char);  //menampilkan 1 karakter
lcd_clear();      //membersihkan layar LCD
lcd_putsf(string);  //menampilkan string yang sudah 
//tersimpan di memori flash
lcd_puts(string); //menampilkan string untuk data yang 
                                                                             //ada ketika program sedang berjalan

Contoh penggunaan instruksi:
1.       Menampilkan 1 karakter  
        lcd_gotoxy(0,0);  //menempatkan kursor di kolom 0 baris 0 
        lcd_putchar(0x41);  //menampilkan string ‘A’
2.       Menampilkan string  
   lcd_gotoxy(0,1);  //menempatkan kursor di kolom 0 baris 1    lcd_putsf("Antarmuka LCD"); //menampilkan string 
                                                                                                                      //“Antarmuka LCD”
3.       Menampilkan angka dalam bentuk karakter
                   char temp[8];      //deklarasi variabel tempat karakter
//suhu
lcd_putsf("TEMP: ");                
toa(value,1,temp);  //float to array, mengubah data suhu 
  //(float) ke karakter (array)  
lcd_gotoxy(6,0);     lcd_puts(temp);      //menampilkan data suhu lcd_gotoxy(11,0); lcd_putchar(0xdf);   //menampilkan karakter derajat lcd_putsf("C");




0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews