Definisi
Display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan
suatu data, baik karakter, huruf ataupun grafik.
LCD (Liquid Cristal Display)
adalah salah satu jenis display elektronik yang dibuat dengan teknologi
CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan
cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya
dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai
penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.
LCD berfungsi untuk menampilkan karakter
berupa huruf, angka serta symbol.
Adapun fitur yang disajikan dalam
LCD ini adalah :
• Terdiri dari 16 karakter dan 2
baris.
• Mempunyai 192 karakter tersimpan.
• Terdapat karakter generator
terprogram.
• Dapat dialamati dengan mode 4-bit
dan 8-bit.
• Dilengkapi dengan back light.
Fungsi
Pin-Pin LCD
Modul LCD berukuran 16 karakter x
2 baris dengan fasilitas backlighting memiliki 16 pin yang terdiri dari 8 jalur
data, 3 jalur kontrol dan jalur-jalur catu daya, dengan fasilitas pin yang
tersedia maka lcd 16 x 2 dapat digunakan secara maksimal untuk menampilkan data
yang dikeluarkan oleh mikrokontroler, secara ringkas fungsi pin-pin pada LCD
dituliskan pada Tabel 2.2.
•
Pin 1
dan 2
Merupakan sambungan catu daya, Vss dan Vdd.
Pin Vdd dihubungkan dengan tegangan positif catu daya, dan Vss pada 0V atau
ground.
•
Pin 3
Pin 3 merupakan pin kontrol Vee, yang
digunakan untuk mengatur kontras display. Idealnya pin ini dihubungkan dengan
tegangan yang bisa dirubah untuk memungkinkan pengaturan terhadap tingkatan
kontras display sesuai dengan kebutuhan, pin ini dapat dihubungkan dengan
variable resistor sebagai pengatur kontras.
•
Pin 4
Pin 4 merupakan Register Select (RS),
masukan yang pertama dari tiga command control input. Dengan membuat RS menjadi
high, data karakter dapat ditransfer dari dan menuju modulnya.
•
Pin 5
Read/Write (R/W), untuk memfungsikan
sebagai perintah write maka R/W low atau menulis karakter ke modul. R/W high
untuk membaca data karakter atau informasi status dari register-nya.
•
Pin 6
Enable (E), input ini digunakan untuk
transfer aktual dari perintah-perintah atau karakter antara modul dengan
hubungan data. Ketika menulis ke display, data ditransfer hanya pada
perpindahan high atau low. Tetapi ketika membaca dari display, data akan
menjadi lebih cepat tersedia setelah perpindahan dari low ke high dan tetap
tersedia hingga sinyal low lagi.
•
Pin
7-14
Pin 7 sampai 14 adalah delapan jalur
data/data bus (D0 sampai D7) dimana data dapat ditransfer ke dan dari display.
•
Pin 16
Pin 16 dihubungkan kedalam tegangan 5 Volt
untuk memberi tegangan dan menghidupkan lampu latar/Back Light LCD.
Kontroler LCD
Dalam modul LCD (Liquid
Cristal Display) terdapat microcontroller yang berfungsi sebagai pengendali
tampilan karakter LCD (Liquid Cristal Display). Microntroller pada suatu
LCD (Liquid Cristal Display) dilengkapi dengan memori dan register.
Memori yang digunakan microcontroler internal LCD adalah :
• DDRAM (Display Data Random
Access Memory) merupakan memori tempat karakter yang akan ditampilkan berada.
• CGRAM (Character Generator
Random Access Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk
dari karakter dapat diubah-ubah sesuai dengan keinginan.
• CGROM (Character Generator
Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola
tersebut merupakan karakter dasar yang sudah ditentukan secara permanen oleh
pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga pengguna
tinggal mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter
dasar yang ada dalam CGROM.
•
Pin,
kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display)
diantaranya adalah :
•
Pin
data adalah jalur untuk
memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid
Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain
seperti mikrokontroler dengan lebar data 8 bit.
•
Pin
RS (Register Select)
berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah
data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan
logika high menunjukan data.
•
Pin
R/W (Read Write)
berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca
data.
•
Pin
E (Enable)
digunakan untuk memegang data baik masuk atau keluar.
•
Pin
VLCD berfungsi mengatur
kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm,
jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD
sebesar 5 Volt.
Fungsi Register LCD
Modul display LCD
sudah dilengkapi dengan sebuah kontroler yang memiliki dua register 8 bit yaitu
instruction register (IR) dan data register (DR).
IR menyimpan kode
instruksi, seperti display clear, cursor shift dan informasi address untuk
display data RAM (DDRAM) dan character generator (CGRAM).
Busy Flag (BF)
Busy Flag = 1 saat kontroler sedang mengerjakan
instruksi, selama instruksi tersebut belum selesai dikerjakan, kontroler tidak
akan menerima instruksi apapun. Ketika RS = 0, dan R/W = 1, busy flag
mengeluarkan logika 1 pada DB7. Instruksi berikutnya akan siap diterima ketika
busy flag = 0.
Address Counter (AC)
Address Counter berisi address DDRAM dan
CGRAM.
Display Data RAM (DDRAM)
DDRAM menyimpan data display dalam bentuk
kode karakter 8 bit. Kapasitasnya adalah 80 karakter. Berikut adalah posisi
address DDRAM pada LCD 16x2 :
Pola Karater CGROM
Tabel Instruksi
LCD
Program bahasa C
LCD
Untuk memprogram
LCD, langkah pertama adalah inisialisasi LCD.
#include
<alcd.h>
void main(void){
DDRC = 0xFF;
//PORT dapat diubah sesuai keinginan
lcd_init(16);
}
Pada header LCD terdapat beberapa fungsi,
diantaranya :
void _lcd_write_data(unsigned char data);
/* read a byte from the LCD character
generator or display RAM */
unsigned char lcd_read_byte(unsigned char
addr);
/* write a byte to the LCD character
generator or display RAM */
void lcd_write_byte(unsigned char addr,
unsigned char data);
// set the LCD display position x=0..39 y=0..3
void lcd_gotoxy(unsigned char x, unsigned
char y);
// clear the LCD
void lcd_clear(void);
void lcd_putchar(char c);
// write the string str located in SRAM to
the LCD
void lcd_puts(char *str);
// write the string str located in FLASH to
the LCD
void lcd_putsf(char flash *str);
// write the string str located in EEPROM
to the LCD
void lcd_putse(char eeprom *str);
// initialize the LCD controller
void lcd_init(unsigned char lcd_columns);
Untuk menampilkan karakter, kita dapat
menggunakan lcd_putsf(char flash *str);
Sebagai contoh, lcd_putsf(“Hello World”);
Fungsi lcd_gotoxy(); digunakan untuk
mengatur posisi karakter yang akan ditampilkan pada baris dan kolom LCD.
Jika dibutuhkan, kita dapat menambah header
<stdio.h>
Fungsi “int sprintf(char *str, char flash
*fmtstr,...);” dapat digunakan untuk menyimpan data variabel untuk nanti
ditampilkan kedalam LCD. Lalu gunakan fungsi lcd_puts(char *str);
Sebagai contoh,
char counter[];
int data;
……
sprintf(counter, "%d", data);
lcd_puts(counter);
Berikut rangkaian LCD menggunakan
ATMega8535
No comments:
Post a Comment