Find Your Character At This Blog

ANTARMUKA MIKROKONTROLER DENGAN PENAMPILAN KOMBINASI LCD (Liquid Crystal Display) dan KEYPAD

Posted by : LUTFIATUL UMMAH

 

Cara Mengkombinasi LCD dan KEYPAD menggunakan MIKOROKONTROLLER
1.  LCD
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),
     • 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
2.      KEYPAD
Keypad merupakan tombol push button yang disusun sebagai baris dan kolom sehingga membentuk matriks. Keypad banyak digunakan sebagai piranti masukan dalam piranti elektronik. Gambar 5.1 memperlihatkan bentuk fisik keypad. Keypad ini memiliki 16 tombol yaitu 0,1,2,3,4,5,6,7,8,9,A,B,C,D,* dan #.

 
Gambar 5.1 Keypad 4x4

Dalam gambar 5.2 keypad dihubungkan ke PORTB mikrokontroler dengan posisi baris (b1-b4) terhubung ke PORTB.0-PORTB.3 dan posisi kolom (c1-c4) terhubung ke PORTB.4-PORTB.7. Sedangkan untuk mengetahui tombol apa yang ditekan oleh user, 8 buah LED yang terdapat dalam MODUL I/O dihubungkan ke PORTC.



Gambar 5.2 Rangkaian keypad dan LED

3.         ALAT DAN BAHAN YANG DIGUNAKAN
1)        Satu set personal komputer atau leptop yang sudah berisi program Code Vision dan Khazama
2)        Satu buah catu daya DC +5 Volt.
3)        Satu buah ISP Downloder AVR.
4)        Satu buah sistem minimum AVR
5)        Satu buah I/O.
6)        Satu buah kabel printer USB.
7)        Satu buah kabel pita hitam.
8)        Satu buah LCD

4.              PROSEDUR
1)      Rangkailah peralatan yang diperlukan seperti dalam Gambar 5.3. Hubungkan soket jumper PORTB pada minimum system dengan soket jumper KEYPAD dan soket jumper PORTC pada minimum system dengan soket jumper OUTPUT pada I/O.
 
                                    Gambar 5.3 Rangkaian antarmuka mikrokontroler

2)      Buka program Code Vision AVR
3)      Buatlah project baru. dengan inisialisasi PORTB.0-PORTB.3 sebagai output dengan kondisi awal berlogika HIGH dan PORTB.4-PORTB.7 sebagai input dengan pull-up (DDRB = 0FH dan PORTB=FFH), serta LCD sebagai output. Pada saat mengeset chip dan clock, set juga bagian LCD seperti Gambar 6.6. Kemudian simpanlah file tersebut.
 
Gambar 6.6 Setting LCD
4)      Perhatikan blok program berikut. Arti dari blok instruksi tersebut adalah setting LCD di PORTB (0x18, alamat PORTB dalam register I/O) kemudian akan menge-link ke library lcd.h yang di dalamnya terdapat instruksi-instruksi untuk akses ke LCD secara langsung.

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>

5)      Blok berikut merupakan bagian inisialisasi LCD pada awal program.

// LCD module initialization
lcd_init(16);
6)      Deklarasikan fungsi keypad () dengan bilangan yang dikembalikan ke program bilangan sebagai bilangan integer.
           Unsight char keypad ();
7)      Tuliskan script berikut dalam program utama :
while (1)
      {
      // Place your code here
       a=keypad();
        if(a==0)
       {
           lcd_clear();
           lcd_gotoxy(0,0);      //menempatkan kursor di baris 0 kolom 0
           lcd_putsf("0");         //menampilkan string “0”
       }
       if(a==1)
       {
           lcd_clear();
           lcd_gotoxy(0,0);      //menempatkan kursor di baris 0 kolom 0
           lcd_putsf("1");         //menampilkan string “1”
       }
       if(a==2)
       {
           lcd_clear();       
           lcd_gotoxy(0,0);     //menempatkan kursor di baris 0 kolom 0
                lcd_putsf("2");        //menampilkan string “2”
       }                  
       if(a==3)
       {
            lcd_clear();
            lcd_gotoxy(0,0);    //menempatkan kursor di baris 0 kolom 0
            lcd_putsf("3");       //menampilkan string “Saya belajar”
        }
      if(a==4)
       {
             lcd_clear();
             lcd_gotoxy(0,0);     //menempatkan kursor di baris 0 kolom 0
             lcd_putsf("4");        //menampilkan string “4”
       }
       if(a==5)
      {
            lcd_clear();       
            lcd_gotoxy(0,0);      //menempatkan kursor di baris 0 kolom 0
            lcd_putsf("5")          //menampilkan string “5”
     
      if(a==6)
     {
           lcd_clear();
           lcd_gotoxy(0,0);      //menempatkan kursor di baris 0 kolom 0
           lcd_putsf("6");         //menampilkan string “6”
     }
     if(a==7)
    {
           lcd_clear();       
           lcd_gotoxy(0,0);      //menempatkan kursor di baris 0 kolom 0
           lcd_putsf("7");         //menampilkan string “7”
    }         
     if(a==8)
   {
          lcd_clear();
          lcd_gotoxy(0,0);      //menempatkan kursor di baris 0 kolom 0
          lcd_putsf("8");         //menampilkan string “8”
   }
   if(a==9)
  {
         lcd_clear();       
         lcd_gotoxy(0,0);     //menempatkan kursor di baris 0 kolom 0
         lcd_putsf("9");        //menampilkan string “9”
 
  if(a==10)
  {
       lcd_clear();
       lcd_gotoxy(0,0);      //menempatkan kursor di baris 0 kolom 0
       lcd_putsf("A");        //menampilkan string “0”
  }
  if(a==11)
  {
       lcd_clear();       
       lcd_gotoxy(0,0);     //menempatkan kursor di baris 0 kolom 0
       lcd_putsf("B");       //menampilkan string “*”
 
 if(a==12)
{
       lcd_clear();
       lcd_gotoxy(0,0);     //menempatkan kursor di baris 0 kolom 0
       lcd_putsf("C");        //menampilkan string “#”
}
if(a==13)
{
       lcd_clear();       
       lcd_gotoxy(0,0);     //menempatkan kursor di baris 0 kolom 0
       lcd_putsf("D");       //menampilkan string “A”
}   
 if(a==14)
{
       lcd_clear();
       lcd_gotoxy(0,0);         //menempatkan kursor di baris 0 kolom 0
       lcd_putsf("*");            //menampilkan string “B”
}
if(a==15)
{
            lcd_clear();       
            lcd_gotoxy(0,0);        //menempatkan kursor di baris 0 kolom 0
            lcd_putsf("#");           //menampilkn string “C”
      }
                                               
  
     
     
}
5.      DATA HASIL PERCOBAAN
Data atau keluaran yang akan dihasilkan pada pemrograman kombinasi keypad dengan LCD tergantung dari Keypad yang ditekan. Jika keypad ditekan angka 1 maka outpu pada LCD juga akan menghasilkan nilai yang sama yaitu 1.

6.      PEMBAHASAN
Pada saat memulai program kombinasi keypad dengan LCD ini, terlebih dahulu kita mengatur inputan dan outputan pada program tersebut. Pengaturan yang kita gunakan disini adalah mengatur keypad sebagai masukan (inputan) dan LCD sebagai keluaran (outputan).

7.      KESIMPULAN
Kesimpulan yang dapat diambil dari hasil praktikum menggabungkan fungsi keypad dengan LCD adalah apapun nilai yang di perintahkan oleh keypad akan ditampilkan pada layar LCD, contohnya jika menekan * pada keypad maka yang di tampilkan pada layar LCD adalah 11 seperti listing yang dibuat. Jadi keypad disini merupakan inputan dan LCD merupakan Outputan dari program diatas.
Selasa, 21 Mei 2013

0 komentar:

Copyright © 2012 Lutfiatul Ummah | Dragon Ball Z Theme| Designed by Yoshua Marchiano | Original Design Naruto Vs Sasuke V2 Theme