ukmsrr's Blog

Beranda » E-Learning » Membuat program mikrokontroler menggunakan Code Vision AVR

Membuat program mikrokontroler menggunakan Code Vision AVR

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.

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.

  • Menjalankan CodevisionAVR

  • Pilih file – new, kemudian muncul box dialog, pilih project.

  • Kita diberi pilihan, apakah menggunakan wizard atau tidak. Jika iya, pilih yes.

  • Akan mucul box dialog lagi, silakan pilih chip yang akan digunakan. Misalnya ATmega8535.

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

  • Jika sudah, klik file-generate,save and Exit.

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


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

  • OKs, berikut listing program yang kita buat, boleh dimodifikasi.
001 /***************************************************** This program was   produced by the
002 CodeWizardAVR V2.04.4a   Evaluation
003 Automatic Program   Generator
004 © Copyright 1998-2009   Pavel Haiduc, HP InfoTech s.r.l.
005 Project :
006 Version :
007 Date    : 20/12/2009
008 Author  : Freeware, for evaluation and   non-commercial use only
009 Company :
010 Comments:
011 Chip type               : ATmega8535
012 Program type            : Application
013 AVR Core Clock   frequency: 8,000000 MHz
014 Memory model            : Small
015 External RAM size       : 0
016 Data Stack size         : 128
017 *****************************************************/
018 #include   <mega8535.h>
019 #include<delay.h>
020 // Declare your global   variables here
021 void   main(void)
022 {
023 // Declare your local   variables here
024 // Input/Output Ports   initialization
025 // Port A   initialization
026 // Func7=In Func6=In   Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
027 // State7=T State6=T   State5=T State4=T State3=T State2=T State1=T State0=T
028 PORTA=0x00;
029 DDRA=0x00;
030 // Port B   initialization
031 // Func7=In Func6=In   Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
032 // State7=T State6=T   State5=T State4=T State3=T State2=T State1=T State0=T
033 PORTB=0x00;
034 DDRB=0x00;
035 // Port C   initialization
036 // Func7=In Func6=In   Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
037 // State7=T State6=T   State5=T State4=T State3=T State2=T State1=T State0=T
038 PORTC=0x00;
039 DDRC=0x00;
040 // Port D initialization
041 // Func7=Out Func6=Out   Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
042 // State7=0 State6=0   State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
043 PORTD=0x00;
044 DDRD=0xFF;
045 // Timer/Counter 0   initialization
046 // Clock source: System   Clock
047 // Clock value: Timer 0   Stopped
048 // Mode: Normal top=FFh
049 // OC0 output:   Disconnected
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   Interrupt: Off
064 // Compare B Match   Interrupt: Off
065 TCCR1A=0x00;
066 TCCR1B=0x00;
067 TCNT1H=0x00;
068 TCNT1L=0x00;
069 ICR1H=0x00;
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   Stopped
078 // Mode: Normal top=FFh
079 // OC2 output: Disconnected
080 ASSR=0x00;
081 TCCR2=0x00;
082 TCNT2=0x00;
083 OCR2=0x00;
084 // External   Interrupt(s) initialization
085 // INT0: Off
086 // INT1: Off
087 // INT2: Off
088 MCUCR=0x00;
089 MCUCSR=0x00;
090 // Timer(s)/Counter(s)   Interrupt(s) initialization
091 TIMSK=0x00;
092 // Analog Comparator   initialization
093 // Analog Comparator:   Off
094 // Analog Comparator   Input Capture by Timer/Counter 1: Off
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 }
  • Selesai menuliskan program, selanjutnya kita meng compile untuk menghasilkan extensi *.hex
  • 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.


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

Demikian tutorial singkat belajar menggunakan CodevisionAVR. Mohon maaf apabila terdapat kesalahan maupun kurang jelas. Semoga bermanfaat dan  Selamat Belajar!

Sumber: om ayib


1 Komentar

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: