P. 1
Tutorial Pemrograman Mikrokontroler Avr (Bagian i)

Tutorial Pemrograman Mikrokontroler Avr (Bagian i)

|Views: 0|Likes:
Dipublikasikan oleh Devi Hasanah

More info:

Published by: Devi Hasanah on May 10, 2013
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/20/2015

pdf

text

original

TUTORIAL PEMROGRAMAN MIKROKONTROLER AVR (BAGIAN I

)
Laboratorium Elektronika dan Instrumentasi Fisika ITB Jl. Ganesha 10, Bandung 40132

Sekilas tentang Mikrokontroller
Mikrokontroler merupakan suatu piranti elektronika digital yang mempunyai gerbang masukan dan gerbang keluaran serta sistem kendali yang bisa kita program melalui komputer dan bisa kita hapus dengan cara khusus. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Dengan penggunaan mikrokontroler ini maka : • • • Sistem elektronik akan menjadi lebih ringkas Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak

Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.

Gambar 1. Pinout/Kaki Mikrokontroler ATMega8535

Untuk menjalankan mikorkontroler, perlu adanya sistem minimum. Berikut adalah rangkaian sistem minimum ATMega8535 yang sudah dilengkapi dengan output berupa LED dan input berupa DIP Switch.

Gambar 2. Sistem Minimum ATMega8535 (Simulasi Software Proteus)

Sekilas CodeVisionAVR (CVAVR)
CodeVisionAVR merupakan compiler bahasa C, Integrated Development Environment (IDE), Automatic Program Generator, dan In-System Programmer untuk mikrokontroler AVR. CodeVisionAVR bukan open source, tetapi kita masih bisa menggunakannya secara gratis dengan mengunduh versi evaluasi.

Installasi CodeVisionAVR (CVAVR)
1. Buka terlebih dahulu file setup.exe progam CodeVisionAVR Evaluation.

Gambar 3. Welcome Screen Installasi CodeVisionAVR Evaluation version

2. Klik "I accept the agreement" dan klik Next >

Gambar 4. Lembar License Agreement

3. Tentukan lokasi install CodeVisionAVR Evaluation Version

Gambar 5. Lokasi install CodeVisionAVR Evaluation Version

4. Tentukan nama folder startup menu CodeVisionAVR Evaluation Version

Gambar 6. Nama folder startup menu CodeVisionAVR Evaluation Version

5. Konfirmasi proses install, klik Install

Gambar 7. Konfirmasi proses install

6. Tunggu proses instalasi hingga selesai

Gambar 7. Proses instalasi CodeVisionAVR Evaluation Version

7. Inforamasi terkait CodeVisionAVR, Klik Next >

Gambar 8. Informasi terkait CodeVisionAVR

8. Centang "Launch CodeVisionAVR C Compiler Evaluation", klik Finish

Gambar 9. Proses installasi program selesai

Gambar 10. Splash Screen CodeVisionAVR v2.05.7a evaluation

Penggunaan CodeVisionAVR
Program LED Blinking 1. Buka program CodeVisionAVR

Gambar 11. Tampilan Program CodeVisionAVR

2. Kik menu File > New, lalu pilih Project di kotak dialog Create New File. Klik OK. Kemudian Klik Yes untuk menggunakan fitur CodeWizardAVR. Fitur ini sangat memudahkan kita untuk melakukan setting mikrokontroller tanpa harus mengetik di jendela editor.

Gambar 12. Buat Project baru Gambar 13. Pilihan fitur CodeWizardAVR

Gambar 14. Jenis mikrokontroler yang dipakai

3. Akan muncul jendela CodeWizardAVR, fokuslah terlebih dahulu ke tab-tab di sebelah kiri. Di dalam tab tersebut, terdapat pilihan-pilihan yang digunakan untuk konfigurasi mikrokontroler. Pertama-tama, pada bagian Chip, pilih chip mikrokontroler dan isi clock yang sesuai, contoh : ATMega8535 dengan internal clock (RC Oscillator) 1 MHz. Kemudian di tab Ports, pilih sub-tab port yang digunakan baik untuk input maupun output. Klik tombol In atau Out (Data Direction) sehingga keadaannya berubah yang tadinya In menjadi Out, begitupun sebaliknya. Tanda In berarti bit port yang bersangkutan digunakan sebagai input sedangkan tanda Out berarti bit port digunakan sebagai output. Di samping Data Direction ada Pullup/Output Value. Untuk Input, tanda T menandakan input tanpa pull-up resistor sedangkan tanda P menandakan input menggunakan pull-up resistor. Untuk output, angka 1 berarti default output dalam kondisi HIGH, sedangkan angka 0 berarti defaut output dalam kondisi LOW. Berdasarkan gambar 2, Port C digunakan sebagai output dengan kondisi default HIGH (led akan menyala ketika kondisi output LOW atau ACTIVE LOW).

Gambar 15. Setting mikrokontroler di CodeWizardAVR

4. Ketika sudah selesai, klik menu Program > Preview untuk melihat kode yang dihasilkan CodeWizardAVR.

Gambar 16. Preview kode C hasil generasi CodeWizardAVR

5. Klik menu Program > Generate, save, and exit untuk menyimpan kode yang sudah dibuat di Wizard. Beri nama file kode C, file project CodeVisionAVR, dan file CodeWizardAVR

Gambar 17. Kotak dialog Save C Compiler Source File

Gambar 18. Kotak dialog Save C Compiler Project File

Gambar 19. Kotak dialog Save CodeWizardAVR

6. Setelah disimpan, jendela editor akan terisi oleh kode hasil otomatisasi Wizard.

Gambar 20. Tampilan utama program yang sudah terisi kode C hasil otomatisasi Wizard

7. Berdasarkan sistem minimum pada gambar 2, modifikasi kode tersebut menjadi seperti berikut (huruf merah berarti kode sisipan yang ditambahkan di luar hasil Wizard)
/***************************************************** This program was produced by the CodeWizardAVR V2.05.7a Evaluation Automatic Program Generator © Copyright 1998-2012 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : Author : Company : Comments: Program LED blinking 1.0.0 02/04/2012 Andri Rahmadhani Lab. Elkafi ITB Latihan Mikro

Chip type : ATmega8535 Program type : Application AVR Core Clock frequency: 1,000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 128 *****************************************************/ #include <mega8535.h> #include <delay.h> #define LED PORTC // Declare your global variables here void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1 PORTC=0xFF; DDRC=0xFF; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // 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=0x00; TCCR1B=0x00; 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=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // USART disabled UCSRB=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC disabled ADCSRA=0x00; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; while (1) { // Place your code here LED = ~LED; delay_ms(1000); } } Scipt 1. Kode C program led blinking

Konfigurasi Chip Programmer
Sebelum meng-compile program yang telah dibuat, ada baiknya melakukan konfigrasi Chip Programmer yang digunakan. Chip Programmer berupa software bawaan dari CodeVisionAVR yang berfungsi untuk memasukkan kode hex (hasil kompilasi dari bahasa C yang diubah dulu ke bahasa assembler) ke dalam mikrokontroler. Chip Programmer akan berjalan manakala hardware programmer yang digunakan sesuai. Jenis hardware programmer yang support CodeVisionAVR di antaranya : AVRProg (AVR910), STK200+/300, STK500/AVRISP, STK600,

AVRISP MkII, AVRDragon, JTAGICE MkII, JTAGICE 3, dsb. Sebagai contoh, digunakan AVR910 sebagai hardware programmer mikrokontroler. Jika programmer tidak disuppport CodeVisionAVR seperti USBasp, gunakan file hex hasil compile CodeVisionAVR dan injeksikan ke chip menggunakan software lain seperti Khazama AVR Programmer atau ExteremeBurner AVR.

Gambar 21. DI-USB AVR ISP V2 / DI-USB to Serial TTL berbasis AVR910 (Depok Instruments)

Gambar 22. AVR USB Downloader berbasis USBasp (xflash electronics)

Langkah pertama yang harus dilakukan adalah konfigurasi COM Port (Serial) yang digunakan. Jika menggunakan konverter USB to Serial (USB to RS232), install terlebih dahulu drivernya sesuai dengan petunjuk yang ada (panduan installasi driver). Setelah driver terinstall, cek terlebih dahulu koneksi COM Port dengan cara klik Start Menu dan klik kanan pada tulisan Computer, lalu pilih Properties. Klik tombol Device Manager. Cari bagian Ports dan lihat nomor port yang digunakan. Klik kanan pada device tersebut lalu klik Properties. Pada tab Port Setting, ubahlah konfigurasi port sesuai kebutuhan dan klik Advanced... untuk setting lebih lanjut. Pada bagian ini, nomor port bisa diubah sesuai kebutuhan. Contoh : Gunakan COM Port 1.

Gambar 23. Jendela Device Manager Windows 7

Gambar 24. Konfigurasi nomor port yang digunakan COM Port

Peringatan akan muncu jika nomor COM Port telah dipakai hardware lain, abaiakn saja dengan klik Yes.

Gambar 25. Jendela peringatan COM Port

Kembali ke program CodeVisionAVR, klik menu Settings > Programmer dan sesuaikan Communication Port dengan port yang telah dikonfigurasi. Isikan Baud Rate yang sesuai dengan hardware, contoh : 115200.

Gambar 26. Setting Chip Programmer pada CodeVisionAVR

Setelah itu, klik menu Project > Configure lalu pilih tab After Build. Centang pilihan Program the Chip agar setelah proses kompilasi, kode program bisa langsung diinjeksikan ke mikrokontroler. Untuk kali ini (agar lebih cepat), hilangkan centang pada Check Signature, Check Ensure, Preserve EEPROM, Verify, dan Program Fuse Bit. Klik OK.

Gambar 27. Konfigurasi after build project pada CodeVisionAVR

Program dapat dikompilasi dan di-build dengan cara klik Project > Build All sehingga program bisa dikompilasi, di-link, dan dibuat file hex, serta diinjeksikan ke mikrokontroler. Setelah selesai, akan ada jendela informasi proses kompilasi. Lihat pada gambar 28 yang diberi lingkaran biru. Jika tidak ada error, hasilnya akan terlihat seperti pada gambar. Klik Program the chip untuk memulai injeksi program ke mikrokontroler.

Gambar 28. Informasi hasil kompilasi/build

Ditulis oleh : Andri Rahmadhani (10209084)

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->