Pemrograman LCD Karakter (2×16) Menggunakan CV AVR

LCD (Liquid Crystal Display) adalah modul penampil yang banyak digunakan karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah tipe M1632 karena harganya cukup murah. LCD M1632 merupakan modul LCD dengan tampilan 2×16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.Untuk rangkaian interfacing, LCD tidak banyak memerlukan komponen pendukung. Hanya diperlukan satu variable resistor untuk memberi tegangan kontras pada matriks LCD.

Dengan menggunakan CodeVision AVR, pemrograman untuk menampilkan karakter atau string ke LCD sangat mudah karena didukung library yang telah disediakan oleh CodeVision AVR itu sendiri. Kita tidak harus memahami karakteristik LCD secara mendalam, perintah tulis dan inisialisasi sudah disediakan oleh library dari CodeVision AVR.

Pemrograman

Buat proyek baru pada CV AVR. Setting chip AVR ATmega8535 dan clock 11.059200 MHz, kemudian setting bagian LCD seperti gambar berikut:

Setelah itu Generate file, save, and exit.

Perhatikan blok-blok program berikut:

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

Arti dari blok instruksi diatas adalah setting LCD di PORT C yang kemudian akan me-link ke library lcd.h yang didalamnya terdapat instruksi-instruksi untuk akses LCD secara langsung.

Untuk inisialisasi cukup dengan instruksi berikut:

...
// LCD module initialization
lcd_init(16);
...

Instruksi-Instruksi Di Library LCD

unsigned char lcd_init(unsigned char lcd_columns);

Instruksi ini berfungsi untuk inisialisasi LCD kemudian dilanjutkan dengan penghapusan tampilan LCD dan menempatkan posisi kursor di kolom 0 baris 0. lcd_columns harus memiliki nilai yang sesuai dengan tipe LCD, missal 16. Fungsi ini harus dipanggil pertama kali sebelum memanggil fungsi-fungsi LCD yang lain.

Contoh:

Lcd_init(16);

unsigned char lcd_read_byte(unsigned char addr);

Instruksi ini membaca karakter dari RAM LCD.

Contoh:

Ch=lcd_read_byte(0x10);

void lcd_clear(void);

Instruksi ini akan menghapus tampilan LCD dan menempatkan kursor di kolom 0 dan baris 0

Contoh:

lcd_clear();

void lcd_gotoxy(unsigned char x, unsigned char y);

Instruksi ini untuk menempatkan posisi kursor pada kolom x dan baris y.

Contoh:

lcd_gotoxy(4,1);//menempatkan kursor pada kolom 4 dan baris 1

void lcd_putchar(char c);

Instruksi ini untuk menampilkan karakter pada posisi kursor saat itu.

Contoh:

lcd_gotoxy(5,0);
lcd_putchar(0x41); //menampilkan karakter A
                   //lihat tabel karakter LCD
                   //dapat juga ditulis lcd_putchar(‘A’);

void lcd_putsf(char flash *str);

Instruksi ini berfungsi untuk menampilkan string pada posisi kursor saat itu.

Contoh:

lcd_gotoxy(0,1);
lcd_putsf(“Halo Eko”); //menampilkan string Halo Eko

void lcd_puts(char *str);

Instruksi ini berfungsi untuk menampilkan string yang sebelumnya disimpan di SRAM. Sebelum memanggil instruksi ini, sebelumnya string sudah ditempatkan di SRAM. Instruksi ini memerlukan pustaka stdio.hex .

Contoh:

...
#include <mega8535>
#include <stdio.h> //tambahkan library
...
//Declare your global variable here
char buf[33];//deklarasi variable untuk menyimpan data string
//LCD module initialization
lcd_init(16);
lcd_gotoxy(0,1);
sprint(buf,”Angka %d”, 14);//menyimpan string ke SRAM
lcd_puts(buf);             //menampilkan ke LCD

Contoh aplikasi program yang disimulasikan di software Proteus:

Download Source Code –> Password: bekoy.wordpress.com

Referensi: Pemrograman Bahasa C untuk Mikrokontroler ATmega8535 – Penerbit Andi

15 thoughts on “Pemrograman LCD Karakter (2×16) Menggunakan CV AVR

  1. mau nanya mas cara hapus tulisan di lcd 16×2 bagaimana pakai intruksi lcd_clear (); gak bisa……….
    tulisannya di rubah juga gak bisa

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s