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
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.
0 komentar: