Sei sulla pagina 1di 12

Praktek 6

Display Data Pada LCD


Tujuan:
Mahasiswa mengerti cara membuat program C pada mikrokontroller AVR untuk
melakukan pemrograman pada modul LCD
Peralatan yang digunakan:
modul AVR
Modul LCD
Deskripsi/ Dasar Teori:

Gambar 1. Rangkaian Modul AT Mega 128

Gambar 2. LCD Karakter 20x2

Gambar 3. Daftar Kode Karakter yang bisa ditampilkan di LCD karakter

PERCOBAAN 1
#include <mega128.h>
#include "lcd.h"
void main(void)
{
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_putchar('s');
lcd_putchar('t');
while(1)
{}
}

Hasilnya:

PERCOBAAN 2
#include <mega128.h>
#include "lcd.h"
void main(void)
{
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_putchar('s');
lcd_gotoxy(5,0);

//untuk meletakkan karakter yang ada di baris


// berikutnya

lcd_putchar('t');
lcd_gotoxy(3,1);
lcd_putchar('t');
while(1)
{}
}

Hasilnya:

PERCOBAAN 3
#include <mega128.h>
#include "lcd.h"
void main(void)
{
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_putchar('s');
lcd_putchar(0x30);
lcd_putchar(' ');
lcd_putchar(0xc0);
lcd_putchar(65);
while(1)
{}
}

Hasilnya:

PERCOBAAN 4
#include <mega128.h>
#include <delay.h>
#include "lcd.h"
void main(void)
{
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_putsf("hallo");
delay_ms(1000);
lcd_clear();
lcd_putsf("apa kabar..");
while(1)
{}
}

PERCOBAAN 5
Animasi garis yang berputar.
#include <mega128.h>
#include <delay.h>
#include "lcd.h"
void main(void)
{
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_putsf ("Loading.. ");
while (1)
{
lcd_gotoxy(10,0);
lcd_putchar('-');
delay_ms(100);
lcd_gotoxy(10,0);
lcd_putchar('|');
delay_ms(100);
lcd_gotoxy(10,0);
lcd_putchar('/');
delay_ms(100);
};
}

Hasilnya:
LCD1

D0
D1
D2
D3
D4
D5
D6
D7
7
8
9
10
11
12
13
14

RS
RW
E
4
5
6

1
2
3

VSS
VDD
VEE

LM032L

PERCOBAAN 6
Bandingkan dengan percobaan 5 diatas:
#include <mega128.h>
#include <delay.h>
#include "lcd.h"
void main(void)
{
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_putsf ("Loading.. ");
lcd_cursoroff();
while (1)
{
lcd_gotoxy(10,0);
lcd_putchar('-');
delay_ms(100);
lcd_gotoxy(10,0);
lcd_putchar('|');
delay_ms(100);
lcd_gotoxy(10,0);
lcd_putchar('/');
delay_ms(100);
};
}

Hasilnya:

PERCOBAAN 7
#include <mega128.h>
#include <delay.h>
#include "lcd.h"
void main(void)
{
int a;
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_cursoroff();
while (1)
{
lcd_putsf ("Loading.. ");
lcd_gotoxy(0,1);
for (a=1;a<=20;a++)
{
lcd_putchar(0xff);
delay_ms(300);
}
lcd_gotoxy(0,0);
lcd_putsf ("Process Complete. ");
delay_ms(2000);
lcd_clear();
};
}

Hasilnya:

PERCOBAAN 8
Menampilkan angka desimal dari 0 sampai 199 dan berulang.
#include <mega128.h>
#include <delay.h>
#include "lcd.h"
///////////////////////////////
void H2BCD(int bilangan)
{
int ratusan,puluhan,satuan;
ratusan= bilangan/100;

// misal bilangan=231
// 231/100= 2
puluhan = (bilangan - (ratusan*100))/10; // (231-(2*100))/10
// (231-200)/10 = 31/10 = 3
satuan = bilangan - (puluhan*10) - (ratusan*100);
lcd_putchar(ratusan+0x30);
lcd_putchar(puluhan+0x30);
lcd_putchar(satuan+0x30);
}
void main(void)
{
int a;
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_cursoroff();
while (1)
{
for(a=0;a<=199;a++)
{
lcd_gotoxy(0,0);
H2BCD(a);
delay_ms(200);
}
}
}

Hasilnya:

PERCOBAAN 9
Menampilkan tulisan tes lcd scroll dari kiri ke kanan.
#include <mega128.h>
#include <delay.h>
#include "lcd.h"
/////////////////////////
void main(void)
{ int a,i;
flash unsigned char *pesan;
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_cursoroff();
// 47=20+ jmlh karakter + 20 (20 jmlh barisnya LCD)
// 12345678901234567890123456789012345678901234567
pesan="
tes lcd
";
while (1)
{
for(a=0;a<20+7;a++)
{
for(i=0;i<=19;i++)
{
lcd_putchar(pesan[a+i]);
}
delay_ms(100);
lcd_clear();
}

// 20+Jmlh karakter

}
}

Hasilnya:

10

PERCOBAAN 10
Menampilkan tulisan tes lcd scroll dari kiri ke kanan (2).

#include <mega128.h>
#include <delay.h>
#include "lcd.h"
/////////////////////////
void main(void)
{ int a,i;
flash unsigned char *pesan;
PORTA=0xff; // semua bit jadi output
DDRA=0xff;
lcd_init();
lcd_cursoroff();
// 12345678901234567890123456789012345678901234567
pesan="
tes lcd
";
lcd_gotoxy(0,1);
//
12345678901234567890
lcd_putsf("********************");
while (1)
{
for(a=0;a<=20+7;a++)
{
lcd_gotoxy(0,0);
for(i=0;i<=19;i++)
{
lcd_putchar(pesan[a+i]);
}
delay_ms(100);
}
}
}

Hasilnya:

11

12

Potrebbero piacerti anche