APLIKASI LCD
TUJUAN
Bentuk fisik LCD yang digunakan ditunjukkan sesuai gambar 10 berikut ini :
Gambar 10. Bentuk Fisik LCD
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
• 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");
Keterangan program :
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
#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); }
}
}
#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
#include <alcd.h>
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);
}
}
#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”;
};
}
}