·
Mengetahui dan memahami bagaimana memrogram
mikrokontroler untuk menampilkan karakter ke penampil LCD.
B.
DASAR
TEORI
1.
Pengeritan
LCD M1632
Modul LCD M1632 seperti dalam Gambar 1.1
merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya yang
rendah. Modul ini dilengkapi dengan mikrokontroler yang didisain khusus untuk
mengendalikan LCD. Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai
pengendali LCD ini mempunyai CGROM (Character Generator Read Only Memory),
CGRAM (Character Generator Random Access Memory), dan DDRAM (Display Data
Random Access Memory).
Gambar 1.1 Modul LCD M1632
LCD
ini memiliki 16 kaki, sebagaimana ditunjukkan dalam Tabel 1.1.
Tabel 1.1 Konfigurasi Pin LCD M1632
No
|
Kaki
|
Deskripsi
|
1
|
Vss
|
0V
(GND)
|
2
|
Vcc
|
+5V
|
3
|
VLC
|
LCD
Contrast Voltage
|
4
|
RS
|
Register
Select; H: Data Input; L: Instruction Input
|
5
|
RD
|
H:Read;
L: Write
|
6
|
EN
|
Enable
Signal
|
7
|
D0
|
Data
Bus 0
|
8
|
D1
|
Data
Bus 1
|
9
|
D2
|
Data
Bus 2
|
10
|
D3
|
Data
Bus 3
|
11
|
D4
|
Data
Bus 4
|
12
|
D5
|
Data
Bus 5
|
13
|
D6
|
Data
Bus 6
|
14
|
D7
|
Data
Bus 7
|
15
|
V+BL
|
Positive
Backlight Voltage
|
16
|
V-BL
|
Negative
Backlight Voltage
|
DDRAM
DDRAM adalah merupakan memori tempat
karakter yang ditampilkan berada. Contoh, untuk karakter ‘A’ atau 41H yang
ditulis pada alamat 00, maka karakter tersebut akan tampil pada baris pertama
dan kolom pertama dari LCD. Apabila karakter tersebut ditulis di alamat 40,
maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD.
Posisi ini ditunjukkan dalam Gambar 1.2.
Gambar 1.2 Posisi DDRAM
CGRAM
CGRAM
adalah merupakan memori untuk menggambarkan pola sebuah karakter di mana bentuk
dari karakter dapat diubah-ubah sesuai keinginan. Namun memori ini akan hilang
saat power supply tidak aktif, sehingga pola karakter akan hilang.
CGROM
CGROM
adalah merupakan memori untuk menggambarkan pola sebuah karakter di mana pola
tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna tidak
dapat mengubah lagi. Namun karena ROM bersifat permanen, maka pola karakter
tersebut tidak akan hilang walaupun power supply tidak aktif. Pada Gambar 1.3,
tampak terlihat pola-pola karakter yang tersimpan dalam lokasi-lokasi tertentu
dalam CGROM. Pada saat HD44780 akan menampilkan data 41H ke DDRAM, maka HD44780
akan mengambil data di alamat 41H (0100 0001) yang ada pada CGROM yaitu pola
karakter A.
Dalam Gambar 1.4 modul LCD dihubungkan ke
PORTB mikrokontroler dimana kaki RS, RD, EN terhubung ke PORTB.0-PORTB.2 dan
D4, D5, D6, D7 terhubung ke PORTB.4-PORTB.7.
Gambar 1.3 pola Karakter dalam CGROM
Gambar 1.4 Rangkaian LCD
C.
ALAT
DAN BAHAN YANG DIGUNAKAN
Pada
praktikum mikrokontroler dengan LED membutuhkan alat dan bahan sebagai berikut
:
·
1 set PC/Laptop yang sudah berisi program
Code Vision dan Khazama
·
1 buah catu daya DC +5V
·
1 buah multimeter
·
1 buah ISP Downloader AVR
·
1 buah sistem minimum AVR
·
1 buah LCD
·
1 buah kabel printer USB
D.
PROSEDUR
1. Rangkailah
peralatan yang diperlukan seperti dalam Gambar 6.5. Hubungkan soket jumper
PORTB pada minimum system dengan soket jumper pada LCD.
Gambar 5.5 Rangkaian antarmuka mikrokontroler dengan
LCD
2. Buka
program Code Vision AVR
3. Buatlah
file project (.prj) kemudian pilih IC yang digunakan (ATmega8535) dan atur
clock 4.000 Mhz. (seperti praktikum sebelumnya)
4. Klik
sub tab Libraries>>Alphanumeric LCD (alcd.h). Centang Enable Alphanumeric
LCD Support kemudian sesuaikan pada gambar di bawah ini. Kemudian klik OK
5. Buatlah
file source (.c) kemudian hubungkan file project dengan file source seperti
pada praktikum sebelumnya.
6. Tuliskan
file header
7. Buatlah
program utama dan tuliskan program berikut di dalam program utama .
8. Tuliskan
program berikut dalam program utama tepatnya di dalam while(1).
9. Compile
dan Build program jika ada yang error perbaiki program. Masukkan file hex
menggunakan Khanzama AVR Programer. Klik auto program, amati tampilan LCD.
10. Hapus
program yang ada di dalam while. Tuliskan program berikut di dalam while(1).
11. Compile
dan Build program jika ada yang error perbaiki program. Masukkan file hex
menggunakan Khanzama AVR Programer. Klik auto program, amati tampilan LCD.
12. Hapus
program yang ada di dalam while. Tuliskan program berikut di dalam while(1).
while (1)
{
lcd_gotoxy(0,0);//menempatkan kursor di baris 0
kolom 0
lcd_putsf("Saya
belajar");//menampilkan
string “Saya belajar”
}
13. Compile
dan Build program jika ada yang error perbaiki program. Masukkan file hex
menggunakan Khanzama AVR Programer. Klik auto program, amati tampilan LCD.
14. Hapus
program yang ada di dalam while. Tuliskan program berikut di dalam while(1).
15. Compile
dan Build program jika ada yang error perbaiki program. Masukkan file hex
menggunakan Khanzama AVR Programer. Klik auto program, amati tampilan LCD.
16. Hapus
program yang ada di dalam while. Tuliskan program berikut di dalam while(1).
17. Compile
dan Build program jika ada yang error perbaiki program. Masukkan file hex
menggunakan Khanzama AVR Programer. Klik auto program, amati tampilan LCD.
18. Buatlah
tampilan nama anda berjalan dari kiri ke kanan pada baris 0 dan NIM anda
berjalan dari kanan ke kiri pada baris 1 (tampidlan di baris 0 dan 1 muncul
secara bersamaan).
19. Ubahlah
nilai dalam lcd_init(16) menjadi lcd_init(40) dan lihat perbedaannya.
BAB
II
DATA
HASIL PERCOBAAN DAN ANALISA
2.1
Percobaan LCD 1
Percobaan LCD 1 diprogram
melalui CVAVR menggunakan script program berikut:
#include <mega8535.h> // Header
program chip Atmega8535
#include <alcd.h> //Header program untuk LCD
#include <delay.h> //Header program untuk delay
void main(void) // fungsi main
{
DDRB=0x00; // set PORTB sebagai input
PORTB=0xff; // PORTB aktif low
lcd_init(16); // set kolom LCD 16
while(1)
{
lcd_gotoxy(0,0); // Pindahkan kursor ke kolom 0 baris 0
lcd_putchar(0x41); // tampilkan karakter A
}
}
Hasil
dari script program diatas dapat digambarkan dalam tabel LCD 1:
Tabel 1. Hasil
Percobaan LCD 1
LCD 1
|
Letak
|
Tampilan LCD
|
0.0
|
A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pada percobaan LCD 1 ini
menampilkan string A pada LCD di kolom 0, baris 0. Menggunakan inisialisai LCD
16 karena kita tidak akan menggunakan karakter yang membutuhkan lebih dari 16
kolom guna lcd_init itu sendiri adalah menginisialisasikan lcd kemudian
dilanjutkan dengan penghapusan tampilan lcd kemudian menempatkan posisi krusor
dikolom di kolom 0, baris 0.
lcd_gotoxy (0,0) perintah
untuk penempatan karakter di kolom 0, baris 0. Lcd_putchar (0x41) adalah
perintah untuk penampilan karakter A.
2.2 Percobaan LCD 2
#include <mega8535.h> // Header
program chip Atmega8535
#include <alcd.h> //Header program untuk LCD
#include <delay.h> //Header program untuk delay
void main(void) // fungsi main
{
DDRB=0x00; // set PORTB sebagai input
PORTB=0xff; // PORTB aktif low
lcd_init(16); // set kolom LCD 16
while(1)
{
lcd_gotoxy(0,0); // Pindahkan kursor ke kolom 0 baris 0
lcd_putchar(0x41); // tampilkan karakter A
delay_ms(1000); // tunda 1000ms
lcd_clear(); // Menghapus LCD Display untuk karakter A
lcd_gotoxy(0,1); // Pindahkan kursor ke kolom 0 baris 1
lcd_putchar(0x30); // tampilkan karakter 0
delay_ms(1000); // tunda 1000ms
}
}
Hasil
dari script program diatas dapat digambarkan dalam tabel LCD 2:
Tabel 2. Hasil
Percobaan LCD 2
LCD 2
|
Letak
|
Tampilan LCD
|
Waktu
|
0.0
|
A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
0.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
delay (1000 ms)
|
0.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2
|
0.1
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
delay (1000 ms)
|
0.0
|
A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3
|
0.1
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pada percobaan LCD 2 ini
menampilkan karakter A pada LCD di kolom 0, baris 0 kemudian selang 1 detik
karakter A akan menghilang kemudian muncul karakter O di kolom 0 baris 1,
kemudian selang 1 detik akan muncul karakter A kembali tanpa menghilangkan
karakter O . Pada program ini menggunakan inisialisai LCD 16 karena kita tidak
akan menggunakan karakter yang membutuhkan lebih dari 16 kolom guna lcd_init
itu sendiri adalah menginisialisasikan lcd kemudian dilanjutkan dengan
penghapusan tampilan lcd kemudian menempatkan posisi krusor dikolom di kolom 0,
baris 0. Fungsi ini harus dipanggil pertama kali sebelum
memanggil fungsi-fungsi lcd yang lain.
Pada detik pertama LCD akan
menampilkan karakter A di (0,0), karena kita menggunakan lcd_gotoxy (0,0) untuk
lcd_putchar (0x41) atau karakter A.
Pada detik kedua karakter
A akan menghilang karena setelah perintah delay_ms (1000) yang artinya setelah
1 detik terdapat perintah lcd_clear(). Kemudian menamilkan karakter O dengan
menggunakan perintah lcd_putchar(0x30) yang di tempatkan pada baris ke-2 kolom
ke-1 menggunakan perintah lcd_gotoxy(0,1).
Pada detik ke tiga
karakter A akan kembali muncul tanpa menghilangkan karakter O karena program
tidak memerintahkan lcd_clear() pada karakter O. maka di layar LCD akan Nampak
kararter A pada kolom dan baris (0,0) dan karakter O pada kolom dan baris
(0,1).
2.3 Percobaan LCD 3
#include <mega8535.h> // Header
program chip Atmega8535
#include <alcd.h> //Header program untuk LCD
#include <delay.h> //Header program untuk delay
void main(void) // fungsi main
{
DDRB=0x00; // set PORTB sebagai input
PORTB=0xff; // PORTB aktif low
lcd_init(16); // set kolom LCD 16
while(1)
{
lcd_gotoxy(0,0); // Pindahkan kursor ke kolom 0 baris 0
lcd_putsf("Saya belajar"); // tampilkan Saya belajar
}
}
Hasil
dari script program diatas dapat digambarkan dalam tabel tabel LCD 3
Tabel 3. Hasil
Percobaan LCD 3
LCD 3
|
Letak
|
Tampilan LCD
|
0.0
|
S
|
a
|
y
|
a
|
|
b
|
e
|
l
|
a
|
j
|
a
|
r
|
|
|
|
|
0.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pada percobaan LCD 3 ini
menampilkan string “saya belajar” di kolom 0, baris 0. Menggunakan inisialisai
LCD 16 karena kita tidak akan menggunakan karakter yang membutuhkan lebih dari
16 kolom guna lcd_init itu sendiri adalah menginisialisasikan lcd kemudian
dilanjutkan dengan penghapusan tampilan lcd kemudian menempatkan posisi krusor
dikolom di kolom 0, baris 0.
lcd_gotoxy (0,0) perintah
untuk penempatan string “saya belajar” di kolom 0, baris 0. lcd_putsf("Saya
belajar") adalah perintah untuk menampilkan kalimat atau string yang
berada di dalam tanda petik yaitu “saya belajar”.
2.4 Percobaan LCD 4
#include <mega8535.h> // Header
program chip Atmega8535
#include <alcd.h> //Header program untuk LCD
#include <delay.h> //Header program untuk delay
void main(void) // fungsi main
{
DDRB=0x00; // set PORTB sebagai input
PORTB=0xff; // PORTB aktif low
lcd_init(16); // set kolom LCD 16
while(1)
{
lcd_gotoxy(0,1); // Pindahkan kursor ke kolom 0 baris 1
lcd_putsf("Antarmuka LCD"); // tampilkan Antarmuka LCD
}
}
Hasil
dari script program diatas dapat digambarkan dalam tabel LCD 4:
Tabel 3. Hasil
Percobaan LCD 4
LCD 4
|
Letak
|
Tampilan LCD
|
0.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.1
|
A
|
n
|
t
|
a
|
r
|
m
|
u
|
k
|
a
|
|
L
|
C
|
D
|
|
|
|
pada percobaan LCD 4 ini
menampilkan string “Antarmuka LCD” di kolom 0, baris 1. Menggunakan inisialisai
LCD 16 karena kita tidak akan menggunakan karakter yang membutuhkan lebih dari
16 kolom guna lcd_init itu sendiri adalah menginisialisasikan lcd kemudian
dilanjutkan dengan penghapusan tampilan lcd kemudian menempatkan posisi krusor
dikolom di kolom 0, baris 0.
lcd_gotoxy (0,1) perintah
untuk penempatan string “Antarmuka LCD” di kolom 0, baris 1. lcd_putsf("Antarmuka
LCD") adalah perintah untuk menampilkan kalimat atau string yang berada di
dalam tanda petik yaitu “Antarmuka LCD”.
2.5 Percobaan LCD 5
#include <mega8535.h> // Header
program chip Atmega8535
#include <alcd.h> //Header program untuk LCD
#include <delay.h> //Header program untuk delay
void main(void) // fungsi main
{
DDRB=0x00; // set PORTB sebagai input
PORTB=0xff; // PORTB aktif low
lcd_init(16); // set kolom LCD 16
while(1)
{
lcd_gotoxy(0,0); Pindahkan kursor ke kolom 0 baris 0
lcd_putsf("Saya belajar"); // tampilkan Saya belajar
lcd_gotoxy(0,1); // Pindahkan kursor ke kolom 0 baris 1
lcd_putsf("Antarmuka LCD"); // tampilkan Antarmuka LCD
}
}
Hasil dari script program tersebut dapat
dilihat pada tabel berikut;
LCD 5
|
Letak
|
Tampilan LCD
|
0.0
|
S
|
a
|
y
|
a
|
|
b
|
e
|
l
|
a
|
j
|
a
|
r
|
|
|
|
|
0.1
|
A
|
n
|
t
|
a
|
r
|
m
|
u
|
k
|
a
|
|
L
|
C
|
D
|
|
|
|
pada percobaan LCD 3 ini
menampilkan string “saya belajar” di kolom 0, baris 0 dan menampilkan string
“Antarmuka LCD” pada kolom 0, baris 1 dengan bersamaan. Program ini menggunakan
inisialisai LCD 16 karena kita tidak akan menggunakan karakter yang membutuhkan
lebih dari 16 kolom, guna lcd_init itu sendiri adalah menginisialisasikan lcd
kemudian dilanjutkan dengan penghapusan tampilan lcd kemudian menempatkan
posisi krusor dikolom di kolom 0, baris 0.
lcd_gotoxy (0,0) perintah
untuk penempatan string “saya belajar” di kolom 0, baris 0. lcd_putsf("Saya
belajar") adalah perintah untuk menampilkan kalimat atau string yang
berada di dalam tanda petik yaitu “saya belajar”. Sedangkan lcd_gotoxy (0,1)
adalah perintah untuk penempatan string “Antarmuka LCD” di kolom 0, baris 1. lcd_putsf("Antarmuka
LCD") adalah perintah untuk menampilkan kalimat atau string yang berada di
dalam tanda petik yaitu “Antarmuka LCD”.
2.5 Percobaan LCD 6
#include <mega8535.h> // Header
program chip Atmega8535
#include <alcd.h> //Header program untuk LCD
#include <delay.h> //Header program untuk delay
int
i,l; //Inisialisasikan
i dan l
void main(void) // fungsi main
{
DDRB=0x00; // set PORTB sebagai input
PORTB=0xff; // PORTB aktif low
lcd_init(16); // set kolom LCD 16
while(1)
{
for(i=0,l=15;i<16,l>=0;i++,l--) //perulangan i dan l
{
lcd_gotoxy(i,0); Pindahkan kursor ke kolom i baris 0
lcd_putsf("Feri Kurniawan"); //tampilkan Feri Kurniawan
lcd_gotoxy(l,1); // Pindahkan kursor ke kolom l baris 1
lcd_putsf("150534604378"); //tampilkan 150534604378
delay_ms(100); // tunda 100ms
lcd_clear(); // Menghapus LCD Display
}
}
}
pada percobaan LCD 6 ini
menampilkan nama dan nim yang diletakan di kolom dan baris yang berbeda,
penampilan itu terus berulang artinya nama dan nim tersebut akan bergeser ke
kolom yang berbeda sampai nama dan nim tersebut menghilang, nama “Feri
Kurniawan” akan bergeser ke kanan setiap 100 ms dan nim”150534604378” akan
bergeser ke kiri setiap 100 ms. namun karena
pada program ini menggunakan lcd_init (16), maka saat nama “Feri Kurniawan”
menyentuh kolom dan baris (15,0) maka nama “Feri Kurniawan” akan kembali lagi
ke kolom dan baris (0.0), karena guna lcd_init itu sendiri adalah
menginisialisasikan lcd kemudian dilanjutkan dengan penghapusan tampilan lcd
kemudian menempatkan posisi krusor dikolom di kolom 0, baris 0.
2.7 Percobaan LED 7
Pada
percobaan ketujuh ini diharapkan lcd dapat menampilkan nama dan nim yang
diletakan di kolom dan baris yang berbeda, penampilan itu terus berulang
artinya nama dan nim tersebut akan bergeser ke kolom yang berbeda sampai nama
dan nim tersebut menghilang, namun kita hanya bisa melakukan sampai nim berada
pada kolom dan baris (0,1) yang seharusnya nim tersebut terus berjalan hingga
nim tidak terlihat lagi. Berikut adalah skrip LCD percobaan ke 7:
#include <mega8535.h> // Header
program chip Atmega8535
#include <alcd.h> //Header program untuk LCD
#include <delay.h> //Header program untuk delay
int
i,l; //Inisialisasikan
i dan l
void main(void) // fungsi main
{
DDRB=0x00; // set PORTB sebagai input
PORTB=0xff; // PORTB aktif low
lcd_init(16); // set kolom LCD 40
while(1)
{
for(i=0,l=15;i<16,l>=0;i++,l--)//perulangan i dan l
{
lcd_gotoxy(i,0); Pindahkan kursor ke kolom i baris 0
lcd_putsf("Feri Kurniawan"); //tampilkan Feri Kurniawan
lcd_gotoxy(l,1); // Pindahkan kursor ke kolom l baris 1
lcd_putsf("150534604378"); //tampilkan 150534604378
delay_ms(100); // tunda 100ms
lcd_clear(); // Menghapus LCD Display
}
}
}
Hasil dari script program tersebut
dapat dilihat pada tabel berikut
LCD 7
|
Letak
baris
|
Tampilan LCD
|
Waktu
|
0
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
n
|
i
|
a
|
w
|
a
|
n
|
|
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
0
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
n
|
i
|
a
|
w
|
a
|
n
|
|
2
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
5
|
0
|
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
n
|
i
|
a
|
w
|
a
|
n
|
3
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
5
|
0
|
0
|
|
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
n
|
i
|
a
|
w
|
a
|
4
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
5
|
0
|
5
|
0
|
|
|
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
n
|
i
|
a
|
w
|
5
|
1
|
|
|
|
|
|
|
|
|
|
|
|
1
|
5
|
0
|
5
|
3
|
0
|
|
|
|
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
n
|
i
|
a
|
6
|
1
|
|
|
|
|
|
|
|
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
0
|
|
|
|
|
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
n
|
i
|
7
|
1
|
|
|
|
|
|
|
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
|
|
|
|
|
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
n
|
8
|
1
|
|
|
|
|
|
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
0
|
|
|
|
|
|
|
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
r
|
9
|
1
|
|
|
|
|
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
4
|
0
|
|
|
|
|
|
|
|
|
|
F
|
e
|
r
|
y
|
|
K
|
u
|
10
|
1
|
|
|
|
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
4
|
3
|
0
|
|
|
|
|
|
|
|
|
|
|
F
|
e
|
r
|
y
|
|
K
|
11
|
1
|
|
|
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
4
|
3
|
7
|
0
|
|
|
|
|
|
|
|
|
|
|
|
F
|
e
|
r
|
Y
|
|
12
|
1
|
|
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
4
|
3
|
7
|
8
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
F
|
e
|
R
|
y
|
13
|
1
|
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
4
|
3
|
7
|
8
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F
|
e
|
r
|
14
|
1
|
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
4
|
3
|
7
|
8
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F
|
e
|
15
|
1
|
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
4
|
3
|
7
|
8
|
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F
|
16
|
1
|
1
|
5
|
0
|
5
|
3
|
4
|
6
|
0
|
4
|
3
|
7
|
8
|
|
|
|
|
Pada program diatas
dengan menggunakan konsep perulangan pada kolom dan baris (0,0) menampilkan
nama “Feri Kurniawan” dan pada kolom dan baris (15,1) menampilkan nim
“150534604378” secara bersamaan dan akan melakukan perulangan di kolom yang
berbeda , maka nama dan nim tersebut akan terlihat berjalan namun dengan arah
yang berbeda. . Program ini menggunakan inisialisai lcd 40 karena kita akan
menggunakan karakter yang membutuhkan lebih dari 16 kolom
Pada program di atas menggunakan perulangan for(i=0,l=15;i<16,l>=0;i++,l--)
dengan
pendeklarasian i untuk nama dan l untuk pendeklarasian nim. Dengan begitu untuk
lcd_gotoxy(i,0) yang merupakan peletakan untuk nama “Feri Kurniawan” pada baris
0 dimulai dari kolom 0 kemudian bertambah sampai 15 kali, karena kita
menggunakan pengulangan i++. Jadi nama “Feri Kurniawan” akan berpindah ke kanan
setiap 100 ms seperti yang terlihat pada tabel di atas. Yang awalnya ada pada
kolom dan baris (0.0) kemudian setelah 100 ms akan bergeser ke kanan menjadi
(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).
lcd_gotoxy (l,1) yang
merupakan peletakan untuk nim”150534604378” pada baris ke 1. Karena kita
menggunakan parameter l=15 , l>=0, i-- maka nim tersebut akan muncul di
baris 1 kolom 15 dan kemudian bergeser ke kiri setiap 100ms seperti yang terlihat
pada tabel di atas, nim tersebut akan berhenti bergeser saat angka 1 pada angka
nim terdepan telah menyentuh baris 0, yang artinya nim tersebut akan muncul di
kolom dan baris (15,1) kemudian setelah 100 ms akan bergeser ke kiri menjadi
(14,1), (13,1), (12,1), (11,1), (10,1), (9,1), (8,1), (7,1), (6,1), (5,1),
(4,1), (3,1), (2,1), (1,1), (0,1).
BAB
III
KESIMPULAN
Dari hasil praktikum antarmuka mikrokontroler
Atmega8535 diperoleh kesimpulan sebagai berikut :
a) LCD (Liquid Crystal Display) merupakan layar
digital yang dapat menampilkan nilai yang dihasilkan oleh inputan dan dapat
menampilkan menu yang terdapat pada aplikasi mikrokontroler, dan juga teks.
b) Dua blok dot
matriks pada LCD dapat digunakan untuk menampilkan running teks ke kiri maupun ke kanan, atau bersamaan.
c) Bedasarkan hasil praktikum, beberapa pengujian sudah
menunjukkan kesesuaian antara program yang dirancang dan hasil, tetapi pada
praktikum ke tujuh masih terjadi kendala pada hasil praktikum dikarenakan
kurang sempurnanya program yang dirancang.
DAFTAR PUSTAKA
Andrianto, Heri. 2007. Pemrograman
Mikrokontroler AVR Atmega 16. Jakarta: Informatika.
Atmel Corporation. Atmega 8535
Datasheet (Complete).
Gadre,
Dhananjay V. 2001. Programming and Customizing the AVR Microcontroller. New York: Mc Graw Hill.
Heryanto, M Ary. 2007. Pemrograman Bahasa
C untuk Mikrokontroler Atmega 8535. Yogyakarta; Penerbit Andi.
Ibrahim,
Dogan. 2002. Microcontroller Based
Temperature Monitoring & Control. Newnes