DAFTAR ISI
1. Dasar Teori [kembali]
Liquid Crystal Display (LCD)
Pengertian LCD
Layar LCD merupakan suatu media penampilan data yang sangat efektif dan efisien dalam penggunaannya. Untuk menampilkan sebuah karakter pada layar LCD diperlukan beberapa rangakaian tambahan. Untuk lebih memudahkan para pengguna, maka beberapa perusahaan elektronik menciptakan modul LCD. Adapun bentuk fisik LCD 16x2 seperti pada Gambar diatas.
LCD dibagi menjadi dua bagian yaitu bagian depan panel LCD yang terdiri dari banyak dot atau titik LCD dan mikrokontroler yang menempel pada bagian belakang panel LCD yang berfungsi untuk mengatur titik-titik LCD sehingga dapat menampilkan huruf, angka, dan simbol khusus yang dapat terbaca.
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 berikut.
Sedangkan secara umum pin-pin LCD diterangkan sebagai berikut :
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. Meskipun data menentukan catu 5 Vdc (hanya pada beberapa mA), menyediakan 6V dan 4.5V yang keduanya bekerja dengan baik, bahkan 3V cukup untuk beberapa modul.
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.
Pengalamatan LCD
Pengalamatan LCD dimulai dengan menghidupkan modul LCD, karakter kursor pada LCD diposisikan pada awal baris pertama (alamat 00H). Masing-masing sewaktu sebuah karakter dimasukkan, kursor bergerak ke alamat selanjutnya 01H, 02H dan seterusnya. Sebuah alamat awal yang baru bergerak ke alamat selanjutnya, harus dimasukkan sebagai sebuah perintah. Dengan cara mengirimkan sebuah perintah Set Display Address, nilai 80H. Dengan dua line karakter, baris yang pertama dari karakter, baris pertama mulai pada alamat 00H dan baris ke dua pada alamat 40H. Hubungan antara tata letak alamat-alamat terlihat pada Gambar berikut ini.
5. Listing Program [kembali]
#include <mega128.h> // pemanggilan fungsi I/O ATMega 128
#include <delay.h> // pemanggilan fungsi delay
#include <alcd.h> // pemanggilan fungsi LCD
void main(void) // program utama
{
DDRB=0xFF; // mendeklarasikan PORTB sebagai output
PORTB=0x00; // Memberi nilai pada semua PORTB 0(low)
DDRF=0x00; // mendeklarasikan PORTF sebagai input
PORTF=0x00; // Memberi nilai pada semua PORTF 0(low)
lcd_init(16); // LCD module initialization
lcd_gotoxy(0,0); // letak kursor pada lcd yaitu pada x=0, dan y=0
lcd_putsf("_WELCOME_"); // menampilkan karakter pada lcd
delay_ms(10); // delay 10 ms
while (1) // program akan mengulang terus karena syarat while(1) akan selalu menghasilkan nilai benar (true)
{
if (PINF.1 == 0){ // kondisi dimana jika pinf.1 bernilai 0
lcd_gotoxy(0,0); // letak kursor pada lcd yaitu pada x=0, dan y=0
lcd_putsf("SILAHKAN TEKAN"); // menampilkan karakter pada lcd
PORTB = 0x00; // Memberi nilai pada semua PORTB 0(low)
delay_ms(10);} // delay 10 ms
else{ // jika kondisi (PINF.1 == 0) tidak terpenuhi
lcd_gotoxy(0,0); // letak kursor pada lcd yaitu pada x=0, dan y=0
lcd_putsf("TOMBOL 1 AKTIF"); // lcd menampilkan karakter
PORTB = 0xff; // Memberi nilai pada semua port B 1 (high)
delay_ms(10); // delay 10 ms
}
}
}
6. Vidio [kembali]
7. Link Download [kembali]
<rangkaian simulasi>
<listing program>
<html>
Tidak ada komentar:
Posting Komentar