Cara Penggunaan WinAVR (Install, Cara Buat Program Baru, Progam Sederhana)
-
Upload
hendi-wicaksono -
Category
Documents
-
view
505 -
download
1
description
Transcript of Cara Penggunaan WinAVR (Install, Cara Buat Program Baru, Progam Sederhana)
87
BAB 5
MENGENAL WINAVRTM
Robot tanpa program pengendali sulit untuk berjalan secara
otomatis. Kontroler sebagai tempat program pengendali biasa
digunakan adalah mikrokontroler. Pada Bab 5 ini dijelaskan
tentang penggunaan program WinAVR untuk menuliskan kode
program mikrokontroler jenis keluarga AVR dalam bahasa C.
Setelah mempelajari Bab ini diharapkan mahasiswa memiliki
enam kompetensi, yaitu: (1) mengidentifikasi proses instalasi
WinAVR; (2) mengidentifikasi pembuatan makefile; (3) meng-
identifikasi pemrograman sederhana pada WinAVR; (4) meng-
identifikasi teknik compile pada WinAVR; (5) mendefinisikan
keberhasilan compile sebuah program sederhana; (6) meng-
identifikasi hasil simulasi pemrograman sederhana.
Peta pembelajaran pada Bab 5 ini sebagai berikut.
Gambar 5.1 Peta Pembelajaran Bab 5
88 ROBOT BERKAMERA
5.1 Pengantar
inAVRTM
merupakan software GUI (Graphic User
Interface) open source untuk pengembangan berbagai
macam pemrograman mikrokontroler keluarga jenis
AVR pada Windows. Di dalam WINAVR sudah mencakup
GNU GCC sebagai compiler untuk C dan C++. Program
WinAVR diunduh di http://sourceforge.net/projects/winavr/files/.
WinAVR digunakan Robot Berkamera untuk menulis kode
program bahasa C yang sesuai dengan mikrokontroler AVR [6].
5.2 Proses Instalasi WinAVR
alam pembahasan ini, digunakan versi WinAVR 2007.
Bila dibandingkan dengan WinAVR terbaru, WinAVR
2007 tidak memiliki perbedaan yang mendasar dengan
WinAVR terbaru. Jika belum memiliki WinAVR, ada baiknya
mengunduh versi terbaru. Mengenai proses instalasi dan
penggunaan sama persis yang dijelaskan pada buku ini. Langkah
pertama yang kebanyakan orang sudah bisa melakukannya adalah
instalasi program WinAVR. jalankan aplikasi WinAVR-
20070525-install atau nama file instalasi WinAVR yang sudah
diunduh tadi, maka akan muncul tampilan seperti Gambar 5.2.
W
D
Gambar 5.2 Tampilan Saat Awal Instalasi
MENGENAL WINAVR 89
Pilih bahasa untuk proses instalasi, lalu klik “OK”, lalu muncul
seperti tampak pada Gambar 5.3 dan klik “Next”.
Kemudian muncul seperti pada Gambar 5.4, klik “I Agree”.
Gambar 5.3 Tampilan “Welcome Setup Wizard”
Gambar 5.4 Tampilan “License Agreement”
90 ROBOT BERKAMERA
Pilih direktori tempat meletakkan program WinAVR
(Gambar 5.5). Bila tempat peletakkan program WinAVR sesuai
default bisa langsung klik “Next”.
Lalu muncul seperti nampak pada Gambar 5.6, klik “Install”.
Gambar 5.5 Tampilan “Install Location”
Gambar 5.6 Tampilan “Select Component”
MENGENAL WINAVR 91
Gambar 5.8 Tampilan “Completing Setup Wizard”
Tunggu proses instalasi seperti pada Gambar 5.7.
Proses intalasi selesai, klik “Finish” untuk menutup proses
instalasi (Gambar 5.8).
Gambar 5.7 Tampilan Proses Instalasi
92 ROBOT BERKAMERA
Sampai di sini proses instalasi WinAVR sudah selesai.
Selanjutnya untuk memudahkan pembahasan maka dibuat sebuah
folder yang sama agar tidak membingungkan pada pembahasan
selanjutnya.
Buatlah working folder dengan langkah seperti pada Gambar 5.9
dan Gambar 5.10 untuk mengelompokan data AVR.
Gambar 5.9 Membuat Working Folder
Gambar 5.10 Working Folder dengan Nama AVR Doc
MENGENAL WINAVR 93
5.3 Pembuatan Makefile
ebelum memulai membuat kode program berbasis C, harus
dilakukan dulu pengaturan untuk memberitahu compiler
WinAVR jenis IC AVR apa yang digunakan, dan nama
file program apa yang dibuat. Pengaturan ini dilakukan dengan
membuat file dengan nama makefile. Semua pengaturan ada di
file tersebut.
Pada “START menu”, pilih “MFile”, seperti terlihat pada
Gambar 5.11.
Pada toolbar MFile, klik “Makefile”, pilih “Main file name”
seperti pada Gambar 5.12.
S
Gambar 5.11 Menjalankan MFile
94 ROBOT BERKAMERA
Pada Gambar 5.13 dapat dilihat dimasukkan “coba” dikarenakan
nama file dari kode program C diberi nama coba.c. Jadi kalau
lain kali menulis kode program C dan file diberi nama hendi.c
maka harus memasukkan “hendi” saja pada bagian Main File.
Pilihlah jenis AVR yang digunakan, dengan klik “Makefile” pada
toolbar, pilih MCU type – ATMega, lalu terdapat banyak macam
AVR yang tersedia. Pada desain Robot Berkamera ini, digunakan
AVR jenis ATMega32, maka harus dipilih jenis AVR tersebut.
Perhatikan Gambar 5.14.
Gambar 5.12 Mengisi Main File Name
Gambar 5.13 Mengisikan Nama File Kode Program
MENGENAL WINAVR 95
Simpan pengaturan MFile dengan cara klik “File” pada toolbar,
lalu klik “Save As” (Gambar 5.15).
Gambar 5.14 Pilih Jenis AVR yang Digunakan
Gambar 5.15 Simpan MFile
96 ROBOT BERKAMERA
Ubah direktori penyimpanan ke direktori working folder yang
tadi dibuat dengan nama AVR Doc (Gambar 5.16), lalu klik
“Save”.
5.4 Programmers Notepad
utup program mfile, kemudian pada “START menu”,
pilih “Programmers Notepad [WinAVR]” (Gambar 5.17).
Program “Programmers Notepad” digunakan untuk
menulis kode program bahasa C, dan melakukan compiling kode
bahasa C tersebut.
Maka muncul pertama kali working window <new>, yang secara
default muncul saat pertama kali program ini dijalankan.
Tutuplah working window ini untuk memulai membuat file
berekstensi C. Lakukan seperti terlihat pada Gambar 5.18.
Setelah itu muncul kembali working window dengan nama
<new>, lalu klik “File” – “Save As” (Gambar 5.19).
Karena pada pengaturan Makefile untuk “main filename” telah
diisi dengan kata coba, maka file ini harus disimpan dengan nama
coba.c. Perhatikan Gambar 5.20.
T
Gambar 5.16 Simpan pada Direktori AVR Doc
MENGENAL WINAVR 97
Gambar 5.18 New C File
Gambar 5.17 Menjalankan Programmers Notepad
98 ROBOT BERKAMERA
Gambar 5.19 Pilih “Save As”
Gambar 5.20 Memberi Nama coba.c
MENGENAL WINAVR 99
5.5 Proses Compile
etelah pengaturan selesai, kemudian menuliskan program
sederhana pada working window dengan nama file yang
telah dibuat (*kita lewati dulu proses penulisan kode
program karena penulisan kode program dibahas pada Bab
selanjutnya). Tahap selanjutnya adalah proses compiling, agar file
dengan format *.c bisa diubah ke file dengan format *.hex.
Caranya adalah klik “Tools” pada toolbar programmers notepad,
lalu klik “Make All” seperti nampak pada Gambar 5.21.
Saat proses compile sudah berhasil, maka terdapat writing
comment di bagian output:
Process Exit Code: 0.
Time taken: **:**.
Artinya tidak ada yang salah pada pengaturan dan program yang
sudah dibuat. Proses compile hanya dapat memberikan syntacs
error bukan logic error.
S
Gambar 5.21 Proses Compile
100 ROBOT BERKAMERA
5.6 Pembuatan Program Sederhana
inAVR menggunakan bahasa C yang merupakan
High Level Language atau bahasa tingkat tinggi yang
lebih mudah dipahami manusia sehingga mudah
dibuat. Oleh karena itu, pada bagian ini dipelajari sebuah
program sederhana untuk menyalakan LED ketika saklar ditekan.
Sebelum program dibuat, perhatikan algoritma program
sederhana LED seperti terlihat pada Gambar 5.22.
Catatan:
PORT C dan PORT B adalah port yang digunakan pada
mikrokontroler AVR dan dapat diubah sesuai keinginan. Jika
switch ditekan, maka logic akan menjadi 0, karena terhubung ke
ground. Rangkaian saklar yang digunakan adalah rangkaian
saklar aktif low dan rangkaian LED aktif high.
W
Gambar 5.22 Algoritma Program Sederhana LED
MENGENAL WINAVR 101
#include <avr/io.h> //library
#include <util/delay.h>
#define PORTLED PORTB
#define DDRLED DDRB
#define DDRSWITCH DDRC
#define PORTSWITCH PORTC
#define PINSWITCH PINC
int main (void)
{
DDRLED = 0xFF; //PORT B output
DDRSWITCH = 0x00; //PORT C input
PORTSWITCH = 0xFF; //pull up aktif
while(1)
{
if(bit_is_clear(PINC, 0))
{
PORTLED=0xFF;
_delay_ms(200);
}
else
{
PORTLED=0x00;
_delay_ms(200);
}
}
}
Pada Gambar 5.23 dapat dilihat penulisan kode program C pada
Programmers Notepad dan pada proses compile tidak terjadi
error satupun.
Jika program yang dibuat terdapat kesalahan, maka writing
comment dibagian output:
coba.c: In function 'main':
coba.c:23: error: expected ';' before '}' token
make.exe: *** [coba.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:02
102 ROBOT BERKAMERA
Berikut salah satu bentuk kesalahan / error. coba.c: In function 'main':
coba.c:23: error: expected ';' before '}' token
make.exe: *** [coba.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:02
Gambar 5.23 Kode Program dan Proses Compile
MENGENAL WINAVR 103
Gambar 5.24 Compile yang Tidak Berhasil
Artinya, pada function “main” saat compile baris ke 26 terdapat
error karena sebelum tidak adanya penutup “}”. Untuk
mengetahui posisi kesalahan yang dibuat, arahkan kursor ke
writing comment yang berwarna ungu lalu klik, maka pada
writing window kursor akan mengarahkan secara otomatis posisi
kesalahan. Seperti terlihat pada Gambar 5.24.
Setelah program dilakukan proses compile, maka file coba.hex
dapat disimulasikan pada Proteus 7.5.
104 ROBOT BERKAMERA
5.7 Simulasi Program
roteus 7.5 adalah program simulasi rangkaian elektronika
yang dibuat oleh ISIS Lab Center Electronics. Tampilan
awal saat membuka program Proteus 7.5 dapat dilihat
pada Gambar 5.25.
Untuk memulai simulasi, ambil komponen yang diperlukan,
seperti IC ATMega32, push button, dan LED. Tekan tombol
PLAY untuk memulai simulasi dan tekan tombol STOP untuk
mengakhiri simulasi. Pada simulasi kali ini, digunakan IC
ATMega32. Executed program berekstensi *.hex perlu load ke
proteus untuk mengetahui hasil simulasi. Caranya, double click
IC ATMega32. Pada pilihan “Program File”, “Browse File” cari
coba.hex. Hasil simulasi dapat dilihat pada Gambar 5.26 dan
Gambar 5.27.
P
Gambar 5.25 Tampilan Awal Proteus-Isis Profesional
MENGENAL WINAVR 105
5.8 Ringkasan Singkat
Program WinAVR merupakan program open source yang
digunakan untuk menuliskan kode program C dan untuk compile
menjadi file berekstensi *.hex. WinAVR hanya mampu
mendeteksi syntacs error dan bukan logic error. Untuk
Gambar 5.26 Switch Ditekan
Gambar 5.27 Switch Tidak Ditekan
106 ROBOT BERKAMERA
mengetahui logic error (error yang terjadi ketika suatu kondisi
tidak sesuai yang diinginkan) dapat dipergunakan bantuan
program Proteus 7.5.
5.9 Pertanyaan
1. Sebutkan kegunaan dari software WinAVR pada
Robot Berkamera?
2. Sebutkan tujuan dari pembuatan file “makefile” sebelum
membuat kode program?
3. Sebutkan jenis ekstensi file kode program yang ditulis pada
WinAVR?
4. Bagaimana tampilan dari output ketika sebuah kode program
berhasil dilakukan compile?
5. Setelah berhasil dilakukan compile, file berekstensi apakah
yang dihasilkan?