Anda di halaman 1dari 8

MODUL 4

APLIKASI LCD

TUJUAN

• Praktikan memahami dasar-dasar pemrograman LCD


• Praktikan mampu memprogram mikrokontroler AVR 8535 untuk
menampilkan menggunakan bahasa pemrograman C menggunakan
CodeVision AVR
• Praktikan dapat membuat rancangan sistem minimum miktrokontroler
untuk sistem display berbasis LCD

PORT C SEBAGAI LCD

Perangkat yang dibutuhkan :

• Seperangkat sistem minimum AVR yang di dalamnya tersedia :


- 3 buah push button
- 8 buah led
- 1 buah dip switch
- 1 buah LCD yang terhubung ke Port C
- 1 buah motor DC beserta driver-nya
- 1 buah potensiometer yang terhubung ke Port A.0
• Kabel usbasp programmer
• Power Supply
• Software CodeVisionA AVR C Compiler
• Multimeter
• Laptop
• Kabel penghubung

Perangkat I/O berikutnya yang akan dipraktekkan adalah LCD. LCD


berguna sekali untuk membantu menampilkan hasill perhitungan, isi variabel atau
keperluan lainnya yang dibutuhkan dalam pemrograman. LCD berisi bahan cairan
kristal yang pengoperasian-nya menggunakan dot matrik.

Bentuk fisik LCD yang digunakan ditunjukkan sesuai gambar 10 berikut ini :
Gambar 10. Bentuk Fisik LCD

Berikut ditunjukkan konfigurasi pin LCD, selain itu juga ditunjukkan


rangkaian interface LCD.

Tabel 7. Konfigurasi Pin LCD

PIN NAMA PIN FUNGSI

1 VSS Ground
2 VCC Catu Daya + 5V
3 VEE Contrast
Register Select
4 RS 0 = Instruction Register
1 = Data Register
Read/Write, to choose write or read mode
5 R/W 0 = write mode
1 = read mode
Enable
6 E 0 = start to latch data to LCD character
1 = disable
7 DB0 Data bit ke 0 (LSB)
8 DB1 Data bit ke 1
9 DB2 Data bit ke 2
10 DB3 Data bit ke 3
11 DB4 Data bit ke 4
12 DB5 Data bit ke 5
13 DB6 Data bit ke 6
14 DB7 Data bit ke 7
15 BPL Positif Backlight Voltage (4 - 4,2V; 50-200 mA)
16 GND Negatif Backlight Voltage (0 Volt)
Gambar 11. Rangkaian Interfacing LCD ke Mikrokontroler

Sebelum membuat program dengan LCD. Gunakan fasilitas CodeVision


Wizard untuk mempermudah atau untuk membantu mempercepat pembuatan
listing program. Setting LCD pada Port yang kita inginkan (pada modul
praktikum ini LCD dihubungkan di Port C). Pilih char/line sesuai dengan ukuran
LCD (LCD yang tersedia berukuran 2 x 16, maka kita pilih 16 ). Jangan lupa men-
generate-nya. Selanjutnya akan tampil default program yang dihasilkan dari
pengaturan CodeVision Wizard.

Selanjutnya tambahkan instruksi-instruksi pendukung untuk menampilkan


karakter pada layar LCD seperti yang ditunjukkan berikut ini :

• LCD_gotoxy : menempatkan posisi LCD

• LCD_putsf : menampilkan kalimat

• LCD_putchar : menampilkan karakter


PERCOBAAN LCD_1 : PENERAPAN OUTPUT LCD

• Buat program LCD dengan memanfaatkan fasilitas CodeVision Wizard.


• Klik menu Alphanumeric LCD, selanjutnya pilih PORTC yang
menandakan bahwa perangkat LCD pada rangkaian dihubungkan ke
PORTC Mikrokontroler

Gambar 12. Tampilan CodeVision Wizard

• Klik tool bar Program, selanjutnya pilih Generate, Save and Exit.
• Buat listing program yang ada pada gambar percobaan LCD_1
• Setelah program selesai dibuat, selanjutnya lakukan compile untuk
mengecek kebenaran program yang sudah dibuat.
• Bila program yang di compile tidak terdapat error, selanjutnya klik
Build All Project Files untuk membuat file dengan ekstensi .hex.
• Atur tegangan Power Supply sebesar 9 Volt DC. Selanjutnya hubungkan
pada modul praktikum.
• Hubungkan Port C (ATMega 8535) pada LCD.
• Hubungkan modul praktikum dengan PC menggunakan downloader
usbasp. Sesuaikan kaki-kaki Port ISP.
#include <mega8535.h>
#include <alcd.h> // Alphanumeric LCD functions

void main(void)
{
// Characters/line: 16
lcd_init(16);
lcd_gotoxy(6,0);
lcd_putsf("Welcome");

Gambar 13. Listing Program Percobaan LCD_1

• Apabila kondisi display LCD menampilkan karakter “Welcome”, maka


percobaan yang dilakukan benar.

Keterangan program :

Posisi LCD untuk jenis : 2 x 16 → 2 baris x 16 kolom

x,y → kolom, baris

6,0 → karakter ditulis dari kolom ke 7 baris ke 1

0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0
0,1 1,1 2,1 3,1 4,1 5,1 6,1 7,1 8,1 9,1 10,1 11,1 12,1 13,1 14,1 15,1
PERCOBAAN LCD_2 : PENERAPAN OUTPUT LCD + PUSH BUTTON

• Buat listing program yang ada pada gambar percobaan LCD_2

#include <mega8535.h>
#include <delay.h>
#include <alcd.h>

void main(void)
{
PORTB=0xFF;
DDRB=0x00;
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("Welcome");
delay_ms(1000);

while (1)
{
if (PINB.2==0)
{
lcd_gotoxy(0,1);
lcd_putsf("Button 2 ");
delay_ms(500);
}
else if(PINB.0==0)
{
lcd_gotoxy(0,1);
lcd_putsf("Button 0 ");
delay_ms(500);
}
else if(PINB.1==0)
{
lcd_gotoxy(0,1);
lcd_putsf("Button 1 ");
delay_ms(500);
}
else
{
lcd_gotoxy(0,1);
lcd_putsf("No Button");
delay_ms(500); }
}
}

Gambar 14. Listing Program Percobaan LCD_2


PERCOBAAN LCD_3 : PENERAPAN LCD MENAMPILKAN NILAI

Selanjutnya membuat program LCD untuk men-counter bilangan (0


sampai 255). Dalam program ini akan menggunakan fungsi sprintf yang berguna
untuk menampilkan kalimat dalam bentuk string. Agar fungsi ini dikenali perlu
melengkapi dengan #include <stdio.h>.

• Buat listing program yang ada pada gambar percobaan LCD_3.


• Bila program yang dibuat sudah dianggap benar, selanjutnya compile
program untuk mengetahui apakah program yang telah dibuat sudah
benar.
• Berikutnya membuat file yanag berekstensi .hex.
• Apa yang dapat saudara jelaskan dari hasil percobaan yang telah
dipraktekkan.

#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
#include <alcd.h>

// Declare your global variables here


unsigned char lcd_tampil[20],i;
void main(void)
{

lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("new lcd");

while (1)
{
i++;
sprintf(lcd_tampil,"hitung = %3d",i);
lcd_gotoxy(0,1);lcd_puts(lcd_tampil);
delay_ms(50);

}
}

Gambar 15. Listing Program Percobaan LCD_3


PERCOBAAN LCD_4 : TAMPILAN KARAKTER LCD BERJALAN

• Buat listing program yang ada pada gambar percobaan LCD_4.


• Atur delay sesuai dengan yang diinginkan untuk mendapatkan hasil yang
optimum.
• Beri komentar dari hasil praktik yang telah dilakukan.

#include <mega8535.h>
#include <delay.h>
#include <alcd.h>

void main(void)
{
lcd_init(16);

while (1)
{
unsigned char i;
for(i=0;i<16;i++)
{
lcd_gotoxy(i,0);lcd_putsf("Pelatihan Mikrokontroler");
delay_ms(50);
lcd_clear(); //menghapus “jejak”;
};

for(i=0;i<16;i++)
{
lcd_gotoxy(i,1);lcd_putsf("Pelatihan Mikrokontroler");
delay_ms(50);
lcd_clear(); //menghapus “jejak”;
};
}
}

Gambar 16. Listing Program Percobaan LCD_4

Anda mungkin juga menyukai