LAPORAN PRAKTIKUM SISTEM MIKROKONTROLER “ANTARMUKA MIKROKONTROLER DENGAN PENAMPIL LCD (Liquid Crystal Display) Disusun untuk Memenuhi Matakuliah LAB PTE03 Dibimbing oleh Ibu Dyah Lestari
Oleh: Kelompok 9
!"La#uardi E$a (!%&%'&'%*) +"Mu,a--ad .au#i .au#i Al/asy0ari (!%&%'&+!+&) '"Mu,a--ad 1ayu S2tya At-a3a (!%&%'&&'!)
PRODI S! PENDIDIKAN TEKNIK ELEKTRO C
TEKNIK ELEKTRO .AKULTAS TEKNIK UNI4ERSITAS NEGERI MALANG +&!
MODUL 4 ANTARMUKA MIKROKONTROLER DENGAN PENAMPIL LCD (Liquid Crystal Display)
TU5UAN •
•
Mengetahui dan memahami cara mengantarmukakan mikrokontroler dengan modul penampil LCD. Mengetahui dan memahami bagaimana memrogram mikrokontroler untuk menampilkan karakter ke penampil LCD.
LCD M!'+
Modul LCD M1632 seperti dalam Gambar 5.1 merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daa ang rendah. Modul ini dilengkapi dengan mikrokontroler ang didisain khusus untuk mengendalikan LCD. Mikrokontroler !D""#$% buatan !itachi ang ber&ungsi sebagai pengendali LCD ini mempunai CG'(M )Character Generator 'ead (nl Memor*+ CG',M )Character Generator 'andom ,ccess Memor*+ dan DD',M )Displa Data 'andom ,ccess Memor*.
Gambar 5.1 Modul LCD M1632 LCD ini memiliki 16 kaki+ sebagaimana ditun-ukkan dalam abel 6.1. N 6 1 2 3 "
5 6 # $ <
abel 5.1 /on0gurasi in LCD M1632 Ka$i D2s$ripsi ss cc LC ' 'D : D% D1 D2
% )GD* 45 LCD Contrast oltage 'egister elect !7 Data 8nput L7 8nstruction 8nput !7'ead L7 9rite :nable ignal Data ;us % Data ;us 1 Data ;us 2
1 % 1 1 1 2 1 3 1 " 1 5 1 6
D3
Data ;us 3
D"
Data ;us "
D5
Data ;us 5
D6
Data ;us 6
D#
Data ;us #
4;L
ositi=e ;acklight oltage
>;L
egati=e ;acklight oltage
DDRAM DD',M adalah merupakan memori tempat karakter ang ditampilkan berada. Contoh+ untuk karakter ?,@ atau "1! ang ditulis pada alamat %%+ maka karakter tersebut akan tampil pada baris pertama dan kolom pertama dari LCD. ,pabila karakter tersebut ditulis di alamat "%+ maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD. osisi ini ditun-ukkan dalam Gambar 5.2.
Gambar 5.2 osisi DD',M CGRAM CG',M adalah merupakan memori untuk menggambarkan pola sebuah karakter di mana bentuk dari karakter dapat diubah>ubah sesuai keinginan. amun memori ini akan hilang saat poAer suppl tidak akti&+ sehingga pola karakter akan hilang. CGROM CG'(M adalah merupakan memori untuk menggambarkan pola sebuah karakter di mana pola tersebut sudah ditentukan secara permanen dari !D""#$% sehingga pengguna tidak dapat mengubah lagi. amun karena '(M bersi&at permanen+ maka pola karakter tersebut tidak akan hilang Aalaupun poAer suppl tidak akti&. ada Gambar 6.3+ tampak terlihat pola>pola karakter ang tersimpan dalam lokasi>lokasi tertentu dalam CG'(M. ada saat !D""#$% akan menampilkan data "1! ke DD',M+ maka !D""#$% akan mengambil data di alamat "1! )%1%% %%%1* ang ada pada CG'(M aitu pola karakter ,.
Dalam Gambar 5." modul LCD dihubungkan ke ('; mikrokontroler dimana kaki '+ 'D+ : terhubung ke (';.%>(';.2 dan D"+ D5+ D6+ D# terhubung ke (';.">(';.#.
Gambar 5.3 pola /arakter dalam CG'(M
Gambar 5." 'angkaian LCD ALAT DAN 1A7AN 8ANG DIGUNAKAN
• • • • • • •
1 1 1 1 1 1 1
set CBLaptop ang sudah berisi program Code ision dan /haama buah catu daa DC 45 buah multimeter buah 8 DoAnloader ,' buah sistem minimum ,' buah LCD buah kabel printer ;
PROSEDUR
1.
'angkailah peralatan ang diperlukan seperti dalam Gambar 6.5. !ubungkan soket -umper ('; pada minimum sstem dengan soket -umper pada LCD.
Gambar 5.5 'angkaian antarmuka mikrokontroler dengan LCD 2. 3.
;uka program Code ision ,' ;uatlah 0le pro-ect ).pr-* kemudian pilih 8C ang digunakan ),mega$535* dan atur clock ".%%% Mh. )seperti praktikum sebelumna*
".
/lik sub tab LibrariesEE,lphanumeric LCD )alcd.h*. Centang :nable ,lphanumeric LCD upport kemudian sesuaikan pada gambar di baAah ini. /emudian klik (/
5. 6.
;uatlah 0le source ).c* kemudian hubungkan 0le pro-ect dengan 0le source seperti pada praktikum sebelumna. uliskan 0le header
#.
;uatlah program utama dan tuliskan program berikut di dalam program utama .
$.
uliskan program berikut dalam program utama tepatna di dalam Ahile)1*.
<.
Compile dan ;uild program -ika ada ang error perbaiki program. Masukkan 0le hex menggunakan /hanama ,' rogramer. /lik auto program+ amati tampilan LCD.
1%.
!apus program ang ada di dalam Ahile. uliskan program berikut di dalam Ahile)1*.
11.
Compile dan ;uild program -ika ada ang error perbaiki program. Masukkan 0le hex menggunakan /hanama ,' rogramer. /lik auto program+ amati tampilan LCD. !apus program ang ada di dalam Ahile. uliskan program berikut di dalam Ahile)1*. Ahile )1* F lcdgotox)%+%*BBmenempatkan kursor di baris % kolom % lcdputs&)Haa bela-arH*BBmenampilkan string Iaa bela-arJ K Compile dan ;uild program -ika ada ang error perbaiki program. Masukkan 0le hex menggunakan /hanama ,' rogramer. /lik auto program+ amati tampilan LCD. !apus program ang ada di dalam Ahile. uliskan program berikut di dalam Ahile)1*.
12.
13. 1".
15. 16.
Compile dan ;uild program -ika ada ang error perbaiki program. Masukkan 0le hex menggunakan /hanama ,' rogramer. /lik auto program+ amati tampilan LCD. !apus program ang ada di dalam Ahile. uliskan program berikut di dalam Ahile)1*.
1#. 1$. 1<.
Compile dan ;uild program -ika ada ang error perbaiki program. Masukkan 0le hex menggunakan /hanama ,' rogramer. /lik auto program+ amati tampilan LCD. ;uatlah tampilan nama anda ber-alan dari kiri ke kanan pada baris % dan 8M anda ber-alan dari kanan ke kiri pada baris 1 )tampidlan di baris % dan 1 muncul secara bersamaan*. bahlah nilai dalam lcdinit)16* men-adi lcdinit)"%* dan lihat perbedaanna.
DATA 7ASIL PERCO1AAN
1.
ampilan LCD pada langkah percobaan nomor 6
2. 3.
ampilan LCD pada langkah percobaan nomor # ampilan LCD pada langkah percobaan nomor $
".
ampilan LCD pada langkah percobaan nomor <
5.
ampilan LCD pada langkah percobaan nomor 1%
6.
ource code program pada langkah percobaan nomor 11 #include
#include #include void main () { //LCD MODL! ini"ialia"ion in" a$%& //de'laai'an vaia%le a dan % lcd*ini"(+,)& //-umlah 'aa'"e yang diedia'an adalah e%anya' +, 'aa'"e. hile(+) { a0& //a %enilai 0 1o (%+0&%>0&%22) //iniialiai vaia%el eulangan&"e" vaia%el eulangan&u%ah vaia%el eulangan { lcd*go"o4y(a$0)& //menema"'an 'uo di 'olom a$%ai 0 lcd*u"1(Muh.6aui)& //menamil'an 'aa'"e Muh.6aui lcd*go"o4y(%$+)& //Menema"'an 'uo di 'olom % %ai + lcd*u"1(+50537,0+0)& //menamil'an 'aa'"e +50537,0+0 a99& //'olom a a'an %e"am%ah + demi a"u delay*m(500)&// delay a'"u dengan 500 m lcd*clea()& //menghau 'aa'"e dan 'uo 'em%ali 'e aal (0$0) : : :
#.
ampilan LCD pada langkah percobaan nomor 12
ANALISA DATA
1.
,nalisa data hasil percobaan pada langkah percobaan nomor 6 sampai dengan nomor 1% a.
Pada rogram no! " ada tamilan L#D mun$ul:
karakter A ada baris 0 kolom 0%&al ini dikarenakan ada s$rit rogram terdaat : lcd_gotoxy(0,0); yang ber'ungsi untuk menematkan kursor di baris 0 kolom
0!
(edangkan karakter A mun$ul karena adanya s$rit rogram sebagai berikut :
lcd_putchar(0x41); yang ber'ungsi untuk menamilkan karakter )A* yang dalam s$rit
ditulis dalam bentuk bilangan heksadesimal! (ehingga ada tamilan L#D karakter A mun$ul ada baris 0 kolom 0! Pada rogram no! + ada tamilan L#D mun$ul:
b.
,arakter A ada baris 0 kolom 0%,arakter 0 ada baris - kolom 0!&al ini dikarenakan ada s$rit rogram terdaat : lcd_gotoxy(0,0); yang ber'ungsi untuk menematkan kursor di baris 0 kolom 0! Dan lcd_putchar(0x41); ber'ungsi untuk menamilkan karakter ‘A yang dalam s$rit ditulis dalam bentuk bilangan heksadesimal! Oleh karena itu ada tamilan L#D karakter A mun$ul ada baris 0 kolom 0! lcd_gotoxy(0,1); ber'ungsi untuk menematkan kursor di baris - kolom 0! Dan lcd_putchar(0x!0); ber'ungsi untuk menamilan karakter )0* yang dalam s$rit ditulis dalam bentuk bilangan heksadesimal! Oleh karena itu ada tamilan L#D karakter 0 mun$ul ada baris - kolom 0!delay_m"(1000); artinya erintah untuk memberi .eda selama -000 ms/- detik! (ehingga ketika rogram di.alankan% tamilan tia erubahan memiliki .eda selama detik!
Pada rogram no! 1 ada tamilan L#D mun$ul :
c.
,alimat #aya bela$ar ada baris 0 kolom 0 !&al ini dikarenakan ada s$rit rogram terdaat : lcd_gotoxy(0,0); yang ber'ungsi untuk menematkan kursor di baris 0 kolom 0 lcd_put"%(aya bela$ar&); ber'ungsi untuk menamilkan string 2(aya bela.ar! Oleh karena itu ada tamilan L#D mun$ul kalimat (aya bela.ar ada baris 0 kolom 0 d.
Pada rogram no! 4 ada tamilan L#D mun$ul : ,alimat A'tarmuka * ada baris - kolom 0!&al ini dikarenakan ada s$rit rogram terdaat : lcd_gotoxy(0,1); yang ber'ungsi untuk menematkan kursor di baris - kolom 0 lcd_put"%(&A'tarmuka *&); ber'ungsi untuk menamilkan string 2Antarmuka L#D! Oleh karena itu ada tamilan L#D mun$ul kalimat A'tarmuka * ada baris - kolom 0!
e.
Pada rogram no! -0 ada tamilan L#D mun$ul :
,alimat #aya bela$ar ada baris 0 kolom 0 dan ,alimat A'tarmuka * ada baris - kolom 0!&al ini dikarenakan ada s$rit rogram terdaat : lcd_gotoxy(0,0); yang ber'ungsi untuk menematkan kursor di baris 0 kolom 0! lcd_put"%(aya bela$ar&); ber'ungsi untuk menamilkan string 2(aya bela.ar lcd_gotoxy(0,1); ber'ungsi untuk menematkan kursor di baris - kolom 0 lcd_put"%(&A'tarmuka *&); ber'ungsi untuk menamilkan string 2Antarmuka
L#D!
5!
6elaskan rogram anda ada langkah er$obaan nomor --7 Pada rogam nomor -- ini menamilkan karakter nama dan .uga nim yang akan ber.alan dari kanan ke kiri%ada rogam ini menggunakan lcd*ini"(+,)& //-umlah 'aa'"e yang diedia'an adalah e%anya' +, 'aa'"e. rogam ini%nama karakter diletakkan ada 'uo di 'olom a$%ai 0 sedangkan dalam enematan nim diletakkan ada 'uo di 'olom % %ai + . dalam rogam ini agar bisa ber.alan dari kanan ke kiri menggunakan 'ungsi 1o (%+0&%>0&%22) //iniialiai vaia%el eulangan&"e" vaia%el eulangan&u%ah vaia%el eulangan
3.
,pakah &ungsi sintaks lcdinit)* dan -elaskan perbedaan antara menggunakan lcdinit)16* men-adi lcdinit)"%* l$d8init/-" Maka tamilan akan ber.alan dari kiri ke kanan ada baris 0% kemudian akan melan.utkan ke baris -!sedangkan dalam l$d8init/90 Maka tamilan akan ber.alan dari kiri ke kanan% tetai hanya ada baris 0! Tidak melan.utkan ke baris -% karena dengan menggunakan nilai l$d8init /90 berarti mamu memuat lebih banyak karakter