SELAMAT DATANG --- SELAMAT MEMBACA --- SALAM SATU JIWA --- TERIMA KASIH ATAS KUNJUNGANNYA ---

Saturday, January 21, 2012

Aplikasi Antarmuka Mikrokontroler dengan LCD

LCD (Liquid Crystal Display) adalah suatu display dari bahan cairan kristal yang pengoperasiannya menggunakan sistem dot matriks. LCD banyak digunakan sebagai display dari alat-alat elektronika seperti kalkulator, multimeter digital, jam digital, dsb. LCD dapat dengan mudah dihubungkan dengan mikrokontroler. Disini akan saya berikan contoh aplikasinya untuk LCD 2x16, yang mempunyai 16 pin konektor yang didefinisikan sebagai berikut :

No Nama Pin Deskripsi
____________________________________________________________
1 GND          0V
2 VCC          +5V
3 VEE           Tegangan Kontras LCD
4 RS             Register Select, 0 = Register Perintah, 1 = Register Data
5 R/W          1 = Read, 0 = Write
6 E                Enable LCD, logika 1 setiap pengiriman/pembacaan data
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 Anoda      Tegangan positif backlight 
16 Katoda     Tegangan negatif backlight
Dengan menggunakan CodeWizardAVR kita dapat dengan mudah mendefinisikan Port yang terhubung dengan LCD, langkah-langkahnya yaitu :
Buka program CodeVision >> pilih File|New >> pilih Type|Project 
Kemudian muncul tampilan konfirmasi, dan menanyakan apakah akan menggunakan CodeWizard, pilih Yes
Untuk setting IC(Chip yg digunakan) pilih Chip
Untuk mendefinisikan Port yang terhubung dengan LCD pilih LCD|Pilih Port B pada LCD Port
Jika sudah mengonfirmasi project, pilih File|Generate, Save and Exit, sehingga akan muncul source code dalam bahasa C. Setelah itu kita tinggal menambahkan instruksi-instruksi tambahan ke dalam program yang sudah ada.
Beberapa contoh instruksi pengendalian LCD dalam bahasa C antara lain:
lcd_init(n) : inisialisasi LCD dengan jumlah kolom sebanyak n buah
lcd_gotoxy(x,y) : pindah kursor LCD ke kolom x baris y
lcd_putsf("karakter") : cetak tulisan "karakter" ke LCD
lcd_puts(teks) : cetak isi dari variabel teks ke LCD
itoa(Z,Cetak) : mengubah bil integer Z ke ascinya dan disimpan di variabel cetak 

Berikut adalah contoh program menampilkan karakter ke LCD :
#include <mega16.h>
#include <delay.h>

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

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTD=0xFF;
DDRD=0x00;

// .............

// LCD module initialization
lcd_init(16); 
//Tambahkan program dibawah ini pada program utama.
lcd_gotoxy(2,0);
lcd_putsf("SUGENG RAWUH");
delay_ms(100);


while (1)
      {
if (PIND.1==1){
lcd_gotoxy(1,0);
lcd_putsf("Tekan Tombol !");
PORTA = 0x00;        //Led Mati
delay_ms(50);
}   
else{
lcd_gotoxy(1,0);
lcd_putsf("Tombol Ditekan!");
PORTA = 0xFF;        //Led Nyala
delay_ms(50);
lcd_clear();
}
      };
}
dan ini adalah gambar skematik rangkaian antarmukanyanya

No comments:

Post a Comment

Silakan Tuliskan Komentar Anda Untuk Kemajuan Blog Ini
Terima Kasih Atas Kunjungannya

Entri Populer