Cara berkomunikasi pada Teks LCD ada dua yaitu secara serial (seperti I2C) dan
paralel. Dalam unit tulisan ini akan disampaikan LCD dengan komunikasi paralel,
khususnya oleh chip controller LCD 16x2 HD44780U dari Hitachi. LCD seri HD44780U
dianggap standar secara umum untuk semua jenis LCD teks, sehingga dapat menggunakan
program dalam contoh ini untuk menguji LCD, selain itu juga dengan LCD yang sudah
dianggap standar maka baik rangkaian mapun program hanya sedikit mengalami perubahan
atau bahkan tanpa perlu diedit.
Seri HD44780U merupakan pengendali LCD untuk format Teks matriks LCD (dot-
matrix), chip ini dapat digunakan untuk satu atau dua baris layar LCD. HD44780U memiliki
dua mode komunikasi adalah 4 bit dan 8 bit. LCD ini berisi 208 karakter tersedia dengan
ukuran 32 sampel font, font karakter 5x8 dan 5x10 (total sampel 240 karakter yang berbeda).
Dua kaki LED Backlight LCD adalah nomor 15 dan 16 tetapi dalam beberapa kasus dua kaki
itu dicatat sebagai anoda (A) dan katoda (K). Gambar dibawah menjelaskan hubungan
kontroler LCD dengan sumber.
Pemrograman LCD Karakter pada CVAVR relatif lebih mudah dibandingkan jika
menggunakan software standar C, seperti WinAVR. Langkah pertama saat menggunakan
LCD adalah melakukan inisialisasi LCD melalui project awal menjalankan Codevision AVR.
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/01 Revisi : 01 Senin 010411 Hal. 3 dari 5 hal.
Sem.:Genap LCD TEXT 4 x 50 menit
Perintah-perintah CVAVR dalam pemrograman LCD
Contoh pemrograman
while(1)
{
// Menempatkan kursor LCD pada posisi (0,0)
lcd_gotoxy(0,0);
// Menulis kata "Latihan" dimulai dari baris (0,0)
lcd_putsf("Latihan");
// Menempatkan kursor LCD pada posisi(0,1)
lcd_gotoxy(0,1);
// menulis karakter ASCII 65, yaitu huruf "A"
lcd_putchar(65);
}
B. Rangkaian
Rangkaian 1
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/01 Revisi : 01 Senin 010411 Hal. 4 dari 5 hal.
Sem.:Genap LCD TEXT 4 x 50 menit
C. Program
Program 1
#include <mega16.h>
#include <stdio.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
void main(void)
{
lcd_init(16);
lcd_putsf("LATIHAN LCD");
Program 2
#include <mega16.h>
#include <stdio.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
void main(void)
{
lcd_init(16);
while (1)
{
lcd_gotoxy(0,0);
lcd_putsf("LATIHAN LCD");
delay_ms(100);
lcd_clear();
delay_ms(100);
};
}
Program 3
#include <mega16.h>
#include <stdio.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
void main(void)
{
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/01 Revisi : 01 Senin 010411 Hal. 5 dari 5 hal.
Sem.:Genap LCD TEXT 4 x 50 menit
lcd_init(16);
lcd_clear();
hasil = 79.3 * 30.1;
sprintf(dataku, "79.3x30.1=%.2f", hasil);
lcd_gotoxy(0,0);
lcd_puts(dataku);
D. Tugas
1. Gambarkan rangkaian mikrokontroller seperti pada gambar rangkaian 1 dan 2, beri nama
file untuk rangkaian 1 jadi NIM_ANDA_51 dan rangkaian 2 jadi NIM_ANDA_52
2. Tulislah program pada Program1 s.d program2 untuk gambar rangkaian mikrokontroller
ATMEGA16 dengan CVAVR
3. Lakukan konversi menjadi file dengan berextensi .c menjadi berextensi .COF dan .HEX
yang siap dimasukan ke dalam mikrokontroller
4. Gambarkan rangkaian diatas pada simulasi Proteus
5. Masukan file yang berextensi COF atau HEX ke dalam mikrokontroller ATMEGA16
6. Lakukan penekanan Tombol PLAY pada proteus amati apa yang terjadi
7. Buatlah rangkaian LCD 2x16 yang disambung pada PORTB dengan mikrokontroller
ATMEGA16.
8. Pada rangkaian soal no 7, Buatlah program untuk rangkaian 1 menampilkan hitungan up-
counter 000 s.d 999
9. Pada rangkaian soal no 7, Buatlah program untuk menampilkan jam:menit:detik
10. Buat gambar rangkaian LCD yang dilengkapi dengan Tombol1 START, Tombol2
STOP dan tombol2 RESET, kemudian Buatlah program untuk membuat STOP-
WATCH