Senin, 30 November 2015

ANTARMUKA MIKROKONTROLER DENGAN PENAMPIL LCD (Liquid Crystal Display)

MODUL V
MODUL PRAKTIKUM
MIKROPROSESOR










DYAH LESTARI











LABORATORIUM DIGITAL DAN MIKROPROSESSOR
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MALANG
2015



ANTARMUKA MIKROKONTROLER DENGAN PENAMPIL LCD (Liquid Crystal Display)
 TUJUAN
  • Mengetahui dan memahami cara mengantarmukakan mikrokontroler dengan modul penampil LCD.
  • Mengetahui dan memahami bagaimana memrogram mikrokontroler untuk menampil­kan karakter ke penampil LCD.

LCD M1632
 Modul LCD M1632 seperti dalam Gambar 5.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 5.1 Modul LCD M1632
LCD ini memiliki 16 kaki, sebagaimana ditunjukkan dalam Tabel 6.1.
Tabel 5.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
*      DDRAM
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 5.2.

Gambar 5.2 Posisi DDRAM
*      CGRAM
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.

*      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.

Dalam Gambar 5.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.







Gambar 5.3 pola Karakter dalam CGROM

Gambar 5.4 Rangkaian LCD


ALAT DAN BAHAN YANG DIGUNAKAN
  • 1 set PC/Laptop yang sudah berisi program Code Vision dan Khazama
  • 1 buah catu daya DC +5V
  • 1 buah multimeter
  • 1 buah ISP Downloader AVR
  • 1 buah sistem minimum AVR
  • 1 buah LCD
  • 1 buah kabel printer USB

PROSEDUR
1.      Rangkailah peralatan yang diperlukan seperti dalam Gambar 6.5. Hubungkan soket jumper PORTB pada minimum system dengan soket jumper pada LCD.

Gambar 5.5 Rangkaian antarmuka mikrokontroler dengan LCD
2.      Buka program Code Vision AVR
3.      Buatlah project baru. Pada saat mengeset chip dan clock, set juga bagian LCD seperti Gambar 5.6. Kemudian simpanlah file tersebut.

Gambar 5.6 Setting LCD


4.      Blok berikut merupakan bagian inisialisasi LCD pada awal program.
// LCD module initialization
lcd_init(16);
5.      Tuliskan script berikut dalam program utama:
while (1)
{   
lcd_gotoxy(0,0); //menempatkan kursor di kolom 0 baris 0
lcd_putchar(0x41); //menampilkan string ‘A’
}
6.      Tambahkan delay dalam langkah 6:
while (1)
{   
lcd_gotoxy(0,0); //menempatkan kursor di kolom 0 baris 0
lcd_putchar(0x41);//menampilkan string ‘A’
delay_ms(1000);
lcd_clear();
lcd_gotoxy(0,1);
lcd_putchar(0x30);
delay_ms(1000);
}
7.      Tuliskan script berikut dalam program utama:
while (1)
{   
lcd_gotoxy(0,0);//menempatkan kursor di baris 0 kolom 0
lcd_putsf("Saya belajar");//menampilkan string “Saya belajar”
}
8.      Ganti script pada langkah 8 menjadi seperti berikut:
while (1)
{   
lcd_gotoxy(0,1); //menempatkan kursor di kolom 0 baris 1
lcd_putsf("Antarmuka LCD");//menampilkan string “Antarmuka LCD”
}

9.      Gabungkan script pada langkah 8 dan 9 menjadi seperti berikut:
while (1)
{   
      lcd_gotoxy(0,0); //menempatkan kursor di baris 0 kolom 0
      lcd_putsf("Saya belajar");//menampilkan string “Saya belajar”
      lcd_gotoxy(0,1);//menempatkan kursor di baris 1 kolom 0
      lcd_putsf("Antarmuka LCD");//menampilkan string “Antarmuka LCD”
}

10.  Buatlah tampilan nama anda berjalan dari kiri ke kanan pada baris 0 dan NIM anda berjalan dari kanan ke kiri pada baris 1 (tampidlan di baris 0 dan 1 muncul secara bersamaan).
11.  Ubahlah nilai dalam lcd_init(16) menjadi lcd_init(40) dan lihat perbedaannya.


DATA HASIL PERCOBAAN
1.      Tampilan LCD pada langkah percobaan nomor 6
2.      Tampilan LCD pada langkah percobaan nomor 7
3.      Tampilan LCD pada langkah percobaan nomor 8
4.      Tampilan LCD pada langkah percobaan nomor 9
5.      Tampilan LCD pada langkah percobaan nomor 10
6.      Source code program pada langkah percobaan nomor 11
7.      Tampilan LCD pada langkah percobaan nomor 12

ANALISA DATA
1.      Analisa data hasil percobaan pada langkah percobaan nomor 6 sampai dengan nomor 10!
2.      Jelaskan program anda pada langkah percobaan nomor 11!
3.      Apakah fungsi sintaks lcd_init() dan jelaskan perbedaan antara menggunakan lcd_init(16) menjadi lcd_init(40)?


Share:

visitors

Muhammad Rio Alrizal

Diberdayakan oleh Blogger.

Blogger templates