Anda di halaman 1dari 8

Membuat program mikrokontroler menggunakan CodeVisionAVR

BY A L U L ON F E B R U A R Y 3 , 2 0 1 1 2 1 C O M M E N T S

Yuph, Bermain mikrokontroler memang sangat menyenangkan. Memprogram mikrokontroler tidak sesulit yang dibayangkan. Banyak jalan menuju roma, banyak jalan juga cara memprogram mikrokontroler. Diantaranya ada yang menggunakan bahasa Asambly (sussaahh,,,,), bahasa C (lebih mudah), serta bahasa basic (mudah bangett.. ^^). Bahasa Basic ini yang paling mudah karena istilahnya sangat manusiawi. Bahasa C setingkat lebih sulit dabandingkan dengan bahasa basic, dan terakhir, Asambly merupakan bahasa pemrogrman yang kurang manusiawi. Hehehe.. Oke, yUkz kita belajar memporgram mikrokontroler menggunakan bahasa C. Oya, omAyib ingin berbagi informasi seputar bisnis online, silakan mampir ke halaman ini. Ada banyak program untuk menuliskan bahasa C ini, diantaranya CodevisionAVR. Kenapa penulis menggunakan CodevisionAVR, karena penulis merasa lebih mudah digunakan terutama untuk pemula. Silakan menginstal Codevision terlebih dahulu, atau unduh disini bagi yang belum punya. Setelah instalasi selesai, jalankan program CodevisionAVR. 1. Menjalankan CodevisionAVR

Gambar 1 1. Pilih file new, kemudian muncul box dialog, pilih project.

Gambar 2

Gambar 3 1. Kita diberi pilihan, apakah menggunakan wizard atau tidak. Jika iya, pilih yes.

Gambar 4 1. Akan mucul box dialog lagi, silakan pilih chip yang akan digunakan. Misalnya ATmega8535.

Gambar 5 1. Buka tab Ports. Pada bagian ini, kita diberi kesempatan untuk mengatur ports-ports yang akan digunakan. Pilih PortC sebagai output.

Gambar 6 1. Jika sudah, klik file-generate,save and Exit

Gambar 7 1. Proses menyimpan file dilakukan sebanyak 3 kali, masing-masing menghasilkan ekstensi *.C , *.prj, dan *.cwp. Simpan dengan nama file ledblink.

Gambar 8

Gambar 9

Gambar 10 1. Setelah proses meyimpan file selesai, mucul seperti dibawah ini. Disinilah kita akan menuliskan program.

Gambar 11 1. OKs, berikut listing program yang kita buat, boleh dimodifikasi.

/***************************************************** This program was produced by the 002 CodeWizardAVR V2.04.4a Evaluation 001 003 Automatic Program Generator 004 Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l. 005 Project : 006 Version : 007 Date 008 Author : 20/12/2009 : Freeware, for evaluation and non-commercial use only

009 Company : 010 Comments: 011 Chip type 012 Program type 013 AVR Core Clock 014 Memory model 015 External RAM size 016 Data Stack size : ATmega8535 : Application frequency: 8,000000 MHz : Small : 0 : 128

017 *****************************************************/ 018 #include <mega8535.h> 019 #include<delay.h> 020 // Declare your global 021 void 022 { main(void) variables here initialization variables here

023 // Declare your local 024 // Input/Output Ports

025 // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In 026 Func0=In // State7=T State6=T State0=T 028 PORTA=0x00; 027 State5=T State4=T State3=T State2=T State1=T

029 DDRA=0x00; 030 // Port B 031

initialization Func5=In Func4=In Func3=In Func2=In Func1=In State5=T State4=T State3=T State2=T State1=T

// Func7=In Func6=In Func0=In // State7=T State6=T 032 State0=T 033 PORTB=0x00; 034 DDRB=0x00;

035 // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In 036 Func0=In // State7=T State6=T State0=T 038 PORTC=0x00; 037 State5=T State4=T State3=T State2=T State1=T

039 DDRC=0x00; 040 // Port D initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 042 State0=0 041 043 PORTD=0x00; 044 DDRD=0xFF; 045 // Timer/Counter 0 initialization 046 // Clock source: System Clock 047 // Clock value: Timer 0 048 // Mode: Normal top=FFh 049 // OC0 output: 050 TCCR0=0x00; 051 TCNT0=0x00; 052 OCR0=0x00; 053 // Timer/Counter 1 initialization 054 // Clock source: System Clock 055 // Clock value: Timer1 Stopped 056 // Mode: Normal top=FFFFh 057 // OC1A output: Discon. 058 // OC1B output: Discon. 059 // Noise Canceler: Off 060 // Input Capture on Falling Edge 061 // Timer1 Overflow Interrupt: Off 062 // Input Capture Interrupt: Off 063 // Compare A Match 064 // Compare B Match 065 TCCR1A=0x00; 066 TCCR1B=0x00; 067 TCNT1H=0x00; 068 TCNT1L=0x00; 069 ICR1H=0x00; Interrupt: Off Interrupt: Off Stopped

Disconnected

070 ICR1L=0x00; 071 OCR1AH=0x00; 072 OCR1AL=0x00; 073 OCR1BH=0x00; 074 OCR1BL=0x00; 075 // Timer/Counter 2 initialization 076 // Clock source: System Clock 077 // Clock value: Timer2 078 // Mode: Normal top=FFh Stopped

079 // OC2 output: Disconnected 080 ASSR=0x00; 081 TCCR2=0x00; 082 TCNT2=0x00; 083 OCR2=0x00; 084 // External 085 // INT0: Off 086 // INT1: Off 087 // INT2: Off 088 MCUCR=0x00; 089 MCUCSR=0x00; 090 // Timer(s)/Counter(s) 091 TIMSK=0x00; 092 // Analog Comparator 093 // Analog Comparator: 094 // Analog Comparator 095 ACSR=0x80; 096 SFIOR=0x00; 097 while (1) 098 { 099 PORTD=0xFF; 100 delay_ms(1000); 101 PORTD=0x00; 102 delay_ms(1000); 103 }; 104 }
1. Selesai menuliskan program, selanjutnya kita meng compile untuk menghasilkan extensi *.hex

Interrupt(s) initialization

Interrupt(s) initialization initialization Off Input Capture by Timer/Counter 1: Off

Gambar 12

1.

BIla kita mengcompile, ditempat menyimpan file akan ditemukan banyak file. Yang kita butuhkan untuk diload ke mikrokontroler adalah file berekstensi *.hex . file ini dapat ditemukan didalam folder exe.

Gambar 13

Gambar 14 Berikut ini rangkaian percobaan kita menggunakan software simulasi Proteus v7.1

Gambar 15 Demikian tutorial singkat belajar menggunakan CodevisionAVR. Apabila terdapat kesalahan maupun kurnag jelas, silakan mengirim pesan ke alul_sip@yahoo.com. Semoga bermanfaatn dan Selamat Belajar!

Anda mungkin juga menyukai