Home >Documents >Tutorial Pemrograman Mikrokontroler Avr (Bagian i)

Tutorial Pemrograman Mikrokontroler Avr (Bagian i)

Date post:28-Dec-2015
Category:
View:8 times
Download:0 times
Share this document with a friend
Description:
buku tentang cara memprogram avr
Transcript:
  • 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 : Program LED blinking Version : 1.0.0 Date : 02/04/2012 Author : Andri Rahmadhani Company : Lab. Elkafi ITB Comments: 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 #include

    #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

  • 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,

    // 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 // Ana

Click here to load reader

Embed Size (px)
Recommended