Tugas Pemrograman - ASFINALDI - 15130068
Tugas Pemrograman - ASFINALDI - 15130068
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
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
:
.
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.
1 .Board USBasp,
2. Sistem minimum atmega8,
3. Downloader Uspasp/ISP,
4. Komputer / PC.
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
jika ada permasalahan dalam koneksi maka akan muncul notifikasi berikut :
Kita anggap koneksi USBasp dengan sistem minimum(IC target) sudah terkoneksi dengan
benar.
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
Gambar 5 Perintah Fuse and lock Bits… untuk membuka jedela Fuse Bits
Lalu akan muncul jendela seperti dibawah ini :
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
.
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.
6. Klik Install
7. Maka akan tampil seperti gambar dibawah ini. Tunggu sampai proses selesai.
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)
Setelah selesai maka akan muncul jendela text-editor program seperti gambar berikut ini.
Gambar 16. Jendela text-editor program lengkap dengan hasil pengaturan CodeWizardAVR
Project :
Version :
Date : 23/12/2017
Author :
Company :
Comments:
#include <mega32.h>
#include <delay.h>
void main(void)
{
// Declare your local variables here
// 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;
// USART initialization
// USART disabled
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) |
(0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
// 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.
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.
· Setelah kalian membuka software pada komputer maka akan muncul gambar seperti
berikut
· 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.
· 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
· 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