Anda di halaman 1dari 31

LAPORAN UNTUK PEDOMAN MENJALANKAN PROGRAM AVR,

MULAI DARI CARA MENGINSTAL USB-ASP SAMPAI MENGISI


PROGRAM KE DALAM MC MELALUI DOWNLOADER

Nama : ASFINALDI
Nim : 15130068
Prodi : Teknik Elektro Industri

FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG
2017
Hal – hal yang diperlukan dalam memprogram Mikrokontroler
1. Menginstall Driver USBAsp Pada downloader Mikrokontroler ( Saya
menggunakan windows 7 )
2. Menginstall Khazama
3. Cara Upload Firmware Modul USBasp (ATmega 8) Menggunakan Software
Khazama
4. Atur fuse bit Pada Atmega 32 dengan software Khazama
5. Install CVAVR dan memprogramnya
A. Instal Driver USBAsp Pada Downloader Mikrokontroller

1.Hubungkan rangkaian/modul donwloader ke komputer/laptop.


2. Buka device manager (start->control panel->hardware and sound->device manager).

3. Akan terlihat list device "Usbasp" dalam keadaan "unknown device".


4. Klik kanan pada "Usbasp".

5. Pilih "Update Driver Software".


6. Pilih "Browse my computer for driver software".
7. Klik button "Browse".
8. Pilih lokasi driver pada folder "usbasp.2007-07-23" (:\usbasp.2007-07-23\bin\win-driver).
(dalam file tersedia untuk 32bit dan 64bit. untuk 32bit pake aja update yang 2011)

9. Lalu klik "Ok".


10. Klik "next" dan tunggu proses instalasi driver. (jika ada pop up, klik aja "install....")
11. Jika berhasil akan ada notifikasi update is succesful.

12. pada device manager-pun device downloader sudah terdeteksi dengan nama "LibUSB-
Win32 Devices".
B. Instalasi Software Khazama AVR Programmer
Berikut ini adalah tutorial Instalasi Software Khazama AVR Programmer. Software Khazama
digunakan untuk memasukkan program ke mikrokontroler. Berikut adalah instalasi-instalasi
yang perlu dilakukan.
1. Pilih icon Khazama AVR berikut
:

2. Keluar tampilan berikut, lalu klik Next

.
3. Klik Install.
4. Tunggu hingga proses instal selesai

.
5. Setelah instalasi selesai, akan tampil kotak dialog sebagai berikut. Jika ingin langsung
menjalankan Khazama, beri centang pada “Launch Khazama AVR Programmer”.
Bagi yang ingin membuat sendiri sebuah USBasp kita dapat membuat skematicnya seperti
pada gambar diatas, atau bisa didapatkan di http://www.fischl.de/usbasp/ untuk melihat
beberapa contoh model USBasp.

Hardware atau alat dan bahannya :

1 .Board USBasp,
2. Sistem minimum atmega8,
3. Downloader Uspasp/ISP,
4. Komputer / PC.

Software yag dibutuhkan :


Khazama AVR Programer
Frimware usbasp.2007-10-23.tar.gz
Driver usbasp-windriver.2011-05-28.zip

Berikut ini adalah angkah-langkah membuatnya :


Buatlah PCB board USBasp dari rangkaian seperti diatas, bisa menggunakan software
pembuat layout PCB seperti, eagle, diptrace, expres pcb, altium, dan lainnya.
Sediakan juga PCB board sistem minimum atmega8 yang fungsinya adalah untuk IC atmega8
sebagai mikro target yang nantinya akan diisi frimware USBasp menggunakan Khazama

Siapkan downloader yang lain, bisa pinjam dari teman dulu, untuk downloader tidak harus
usbasp, bisa yang lainnya yang kompaitibel dengan MISO, MOSI, SCK, Reset AVR /
atmega8. beri tegangan pada sistem minimum dan pastikan koneksi pin MISO, MOSI, SCK,
Reset , terhubung dengan benar ke downloadernya, coba dilihat di datasheetnya,
Bila meggunakan komputer/laptop yang tidak ada port paralelnya maka bisa menggunakan
downlader versi USBasp, (untuk pc bisa menggunakan serial atau parallel dengan software
Pony Prog).
Kemudian selanjutnya kita anggap koneksi udah benar, sekarang kita buka software
downloader (khazama/avrdude/Extreme burner AVR dll ), disini kita menggunakan Khazama
Avr Programer.
Bila IC mikrokontrolernya yang masih baru atau IC bekas yang belum diotak atik fusebitnya
silahkan diatur dulu fuse bitnya.
Untuk pengaturan fuse bitnya seperti berikut ini :
1. Buka Khazama, Fuse and Lock Bits
2. Klik Read All

3. Setingan default menggunakan Crystal internal

4. Setingan dengan Crystal external


5. Bila sudah diseting klik write all.
Skarang kita sudah bisa mengecek apakah sudah terkoneksi dengan benar antara downloader
dan sistem minimumnya ? caranya seperti ini :
Buka Khazama AVR Programmer kemudian pilih command > read signature.

jika ada permasalahan dalam koneksi maka akan muncul notifikasi berikut :

Jika terjadi masalah seperti gambar diatas, solusinya adalah:


Cek lagi kabel koneksi downloader dengan mikro target(sistem minimunya), jangan lupa
diberi tegangan tegangan supply pada mikro targetnys(sistem minimumnya),
Bila masih ada masalah jugs mungkin pin-pinIC mikronya belum tersambung dengan benar,
bisa cek lagi koneksinya, bila masih ada masalah juga mungkin instal drivernya masih ada
yang salah.
Jika koneksinya benar akan melihat pesan seperti ini:

Kita anggap koneksi USBasp dengan sistem minimum(IC target) sudah terkoneksi dengan
benar.

Langkah selanjutnya adalah mengisi frimware USBasp ke mikrokontroler


target ( IC atmega8)

Langkah berikutnya adalah load firmware


caranya klik File > Load flash to buffer > kemudian cari dimana firmware tersebut disimpan
> setelah itu klik auto program
1. Load flash

2. Cari file(.hex) firmware


Writing Flash, klik Auto Program dan akhirnya,

Succesfully Writing Flash

Horee! selamat kita sudah berhasil memasukkan frimware ke dalam mikro target(atmega8)
Copot IC atmega8-nya dan masukan pada board USBasp yang sudah dibuat sebelumnya,
untuk mengetahui apakah usb sudah terkoneksi dengan benar cek di My Computer > Properti
> Device Manager

Bila terjadi seperti ini biasanya driver belum terinstal atau belum di update, solusinya adalah
dengan memperbaharui drivernya. Drivernya ada di driver-USBasp

Catatan :
Cara tesebut diatas adalah salah satu cara untuk memasukkan frimware ke USBasp, mungkin
masih banyak lagi metode yang lainnya.
Kita harus memastikan rangkaian PCB harus sudah benar, cek jalur dan koneksi antar
komponennya jangan sampai short/konsleting.
Untuk proses upload firmware-nya sebaiknya pada downloadernya pake mode SLOW SCK
agar proses download lebih sempurna

C. Atur fuse bit dengan software Khazama


Berikut adalah langkah untuk mengatur fuse bit dari mikrokontroler, langkah ini bertujuan
untuk mengatur pemilihan clock crystal yang dipakai oleh mikrokontroler yang di download,
langkah ini cukup sekali saja di lakukan untuk setiap mikrokontroler.
Buka program khazama, seperti tampak pada gambar dibawah ini, Jika mikrokontroler yang
akan dikonfigurasi fuse-bitnya adalah mikrokontroler baru dari pabrikan, maka pastikan Low
SCKpada USBasp diaktifkan:

Gambar 4 Halaman muka program Khazama


Pada menu command pilih “ Fuse and lock Bits… “

Gambar 5 Perintah Fuse and lock Bits… untuk membuka jedela Fuse Bits
Lalu akan muncul jendela seperti dibawah ini :

Gambar 6 Konfigurasi Fuse Bits jika menggunakan kristal luar


Pilih seperti pada lingkaran merah di atas. Pilihan diatas adalah H-Fuse bernilai C9 dan L-
Fuse bernilai FF dan lock bernilai 3F. Lihat tabel berikut :
A. SOFTWARE CodeVisionAVR
Software CodeVisionAVR adalah salah satu software yang dapat gunakan untuk belajar
memprogram mikrokontroler AVR. CodeVisionAVR adalah merupakan software IDE
(integrated development environment), karena dalam software tersebut telah dilengkapi
dengan text (source code) editor dan compiler. Versi evaluasi software ini dapat di-download
di www.hpinfotech.ro dan dapat dipakai secara gratis dengan ukuran file program maksimal 4
kilobyte. Untuk dapat mengikuti tutorial ini, pastikan software CodeVisionVAR telah ter-
install di komputer anda.

Sebatas berbagi info sedikit, Software CodeVision AVR adalah software compailer (software
kompilasi) bahasa C. Software ini akan merubah bahasa C ke bahasa Asemmbler kemudian
ke Hex. file yang berbentuk .hex ini yang nantinya akan disimpan kedalam Chip
Mikrokontroller
.

Langkah – langkah Menginstal Software Code Vision AVR

1. Buka folder software CodeVision AVR, kemudian cari File Setup.exe seperti gambar
dibawah. kemudian buka (doble klick / klik kanan open). Jika kawan-kawan masih belum
punya mentahan softwarenya silahakan download disini.

2. Setelah dibuka maka akan tampil jendela seperti gambar dibawah, Jendela ini untuk
pemilihan bahasa yang akan kita gunakan, jika kita mau menggunakan bahasa inggris maka
pilih English kemudian klik OK.

3. Kemudian Klick Next


4. Kemudian akan muncul jendela seperti dibawah kemudian pilih I accept the
agreement dan klik Next
5. Klik Next

6. Klik Install
7. Maka akan tampil seperti gambar dibawah ini. Tunggu sampai proses selesai.

8. Kemudian Klick Next.


9. Proses Instal Selesai.
10 Tampilan

B. PENGGUNAAN SOFTWARE CodeVisionAVR

Langkah 1: Buka software CodeVisionAVR


Start>>All Program>>CodeVisionAVR>> CodeVisionAVR C Compiler. Atau dapat juga
dengan double click icon software CodeVisionAVR yang tersedia di desktop.

Gambar 2. Tampilan awal software CodeVisionAVR

Langkah 2: Membuat “Project”


Pilih opsi toolbar File>>New kemudian pada File Type pilih “Project”.
Gambar 3. Jendela “Creat New File”

Selanjutnya akan muncul jendela konfirmasi, apakah kita akan menggunakan


CodeWizardAVR ataukah tidak. Kita pilih “Yes” karena kita akan menggunakannya dalam
tutorial ini.

Gambar 4. Jendela “Confirm”

Berikutnya akan muncul jendela pengaturan fitur-fitur/konfigurasi project dalam


mikrokontroler AVR, seperti Ports, Chip, USART, I2C, Analog Comparator, dan sebagainya.
Perlu diketahui bahwa konfigurasi fitur-fitur yang tersedia, tidaklah harus kesemuanya diatur
ulang, namun cukup lakukan pengaturan untuk fitur-fitur yang dibutuhkan saja. Berikut ini
adalah beberapa tampilan jendela pengaturan fitur-fitur mikrokontroler AVR dengan tool
CodeWizardAVR dalam software CodeVisionAVR.
Gambar 5. Jendela pengaturan fitur “chip”

Gambar 6. Jendela pengaturan fitur “port”

Jika telah selesai maka klik File>>Generate, Save and Exit.

Gambar 12. Tampilan File>>Generate, Save and Exit

Pada proses penyimpanan (save) file akan diminta menyimpan tiga jenis file dengan ektensi
yang berbeda. Beri nama file source(*.c), file project (*.prj), dan file codewizard (*cwp)
dengan nama yang anda senangi. Penulis sarankan, beri nama ketiga file tersebut dengan
nama yang sama, hal ini untuk memudahkan dalam mencari file dalam folder tempat kita
menyimpan file tersebut apabila kita sudah banyak menyimpan file-file project menggunakan
software codeVisionAAVR.
Gambar 13. Jendela ‘save’ file source(*.c)

Gambar 14. Jendela ‘save’ file project (*.prj)


Gambar 15. Jendela ‘save’ file codewizard (*cwp)

Setelah selesai maka akan muncul jendela text-editor program seperti gambar berikut ini.

Gambar 16. Jendela text-editor program lengkap dengan hasil pengaturan CodeWizardAVR

Langkah 3: Melengkapi kode/program.


Dengan mengkofigurasi project pada langkah sebelumnya, maka kita tinggal melengkapi
dengan kode-kode (syntax) program yang akan kita perlukan.

Gambar 17. Program yang telah dilengkapi atau di-edit

Langkah 4: Compile dan


assembly/*******************************************************
This program was created by the
CodeWizardAVR V2.60 Evaluation
Automatic Program Generator
© Copyright 1998-2012 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 23/12/2017
Author :
Company :
Comments:

Chip type : ATmega32


Program type : Application
AVR Core Clock frequency: 12,000000 MHz
Memory model : Small
External RAM size :0
Data Stack size : 512
*******************************************************/

#include <mega32.h>
#include <delay.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization


// Port A initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRA=(1<<DDA7) | (1<<DDA6) | (1<<DDA5) | (1<<DDA4) | (1<<DDA3) | (1<<DDA2) |
(1<<DDA1) | (1<<DDA0);
// State: Bit7=1 Bit6=1 Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
PORTA=(1<<PORTA7) | (1<<PORTA6) | (1<<PORTA5) | (1<<PORTA4) | (1<<PORTA3) |
(1<<PORTA2) | (1<<PORTA1) | (1<<PORTA0);

// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) |
(0<<DDB1) | (0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) |
(0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) |
(0<<DDC1) | (0<<DDC0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) |
(0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) |
(0<<DDD1) | (0<<DDD0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) |
(0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) |
(0<<CS01) | (0<<CS00);
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) |
(0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) |
(0<<CS11) | (0<<CS10);
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0<<AS2;
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21)
| (0<<CS20);
TCNT2=0x00;
OCR2=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) |
(0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);

// External Interrupt(s) initialization


// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
MCUCSR=(0<<ISC2);

// USART initialization
// USART disabled
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) |
(0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

// Analog Comparator initialization


// Analog Comparator: Off
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) |
(0<<ACIS1) | (0<<ACIS0);
SFIOR=(0<<ACME);

// ADC initialization
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) |
(0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

// SPI initialization
// SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) |
(0<<SPR1) | (0<<SPR0);
// TWI initialization
// TWI disabled
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);

while (1)
{
// Place your code here
PORTA=0b11111111;
delay_ms(1000) ;
PORTA=0b00000000;
delay_ms(1000);

}
}

Jika program sudah selesai dibuat maka langkah selanjutnya adalah mengkompilasi (compile)
program tersebut sehingga didapatkan file-file baru yang kita butuhkan. Langkahnya adalah
pilih Project>>compile atau cukup tekan tombol shortcut F9. Jika dalam program masih ada
kesalahan, maka akan muncul pesan dan peringatan error. Jika itu terjadi, perbaiki terlebih
dahulu keselahan yang terjadi kemudian lakukan kompilasi kembali. Jika sudah tidak ada
kesalahan lagi selanjutnya pilih Project>>Make atau tekan shortcut Shift+F9.

Gambar 18. Jendela cara melakukan kompilasi program *.c ke *.hex


Gambar 19. Jendela informasi kompilasi (compile) program

Dengan demikian, file program yang kita buat dengan bahasa C telah siap diaplikasikan
kedalam IC mikrokontroler yang kita gunakan. Ingat!, software ini hanya dapat digunakan
untuk memprogram IC mikrokontroler ATMEL AVR. Seperti nama software ini,
CodeVisionAVR.

Penggunaan Khazama Programmer ini sebenarnya cukup mudah tinggal kita mengikuti
perintah saja sih.

L Langkah pertama buka software Khazama Programmer


Gambar 1.1. Buka software Khazama

· Setelah kalian membuka software pada komputer maka akan muncul gambar seperti
berikut

Gambar 1.2. Software Khazama

· Kemudian langkah berikutnya pilih jenis mikrokontroler sebagai target, sesuaikan


dengan mikrokontroler yang sobat pakai
Gambar 1.3. sesuaikan mikrokontroler

· Kemudian klik pada command yang ada pada taskbar atas di program Khazama dan
pilih read chip signature. Ini berfungsi untuk membaca chip mikrokontroler apakah cocok
atau tidak.

Gambar 1.4. Membaca Mikrokontroler


· Jika mikrokontroler telah cocok dan reading berhasil maka akan muncul gambar
seperti dibawah ini. Sebelumnya maap sob, karena gambar yang atas menggunakan OS Win7
dan yang bawah ini menggunakan OS XP. Saat ini saya tidak punya chip mikrokontroler buat
praktek jadi ya gambarnya copas aja. .hehe

Gambar 1.5. Proses reading berhasil

· Kita lanjutkan, langkah selanjutnya dengan load file hex. yang tadi sudah saya jelaskan.
Perhatikan dimana kalian menyimpan file hex. ini jangan sampai lupa dimana kalian
menyimpannya. Ikuti aja langkah-langkah seperti gambar dibawah ini

Gambar 1.6. Load file hex.

Gambar 1.7. Membuka tempat penyimpanan


· Setelah kalian menemukan tempat penyimpanan file hex. kalian dan mengklik open itu
menandakan bahwa file hex. telah masuk dalam Khazama Programmer dan siap untuk di
unudh. Tinggal klik aja tombol auto program seperti gambar dibawah ini.

Gambar 1.8. Jalankan program

· Jika berhasil maka akan muncul gambar seperti dibawah ini, dan program telah selesai
di download. Rangkaian mikrokontroler kalian telah terisi dengan program dan siap
digunakan

Gambar 1.9. Pengunduhan selesai

Anda mungkin juga menyukai