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
CodeWizardAVR V2.04.4a   Evaluation
Automatic Program   Generator
© Copyright 1998-2009   Pavel Haiduc, HP InfoTech s.r.l.
Project :
Version :
Date    : 20/12/2009
Author  : Freeware, for evaluation and   non-commercial use only
Company :
Comments:
Chip type               : ATmega8535
Program type            : Application
AVR Core Clock   frequency: 8,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 128
*****************************************************/
#include   <mega8535.h>
#include<delay.h>
// 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=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
PORTC=0x00;
DDRC=0x00;
// 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 State0=0
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0   initialization
// Clock source: System   Clock
// Clock value: Timer 0   Stopped
// Mode: Normal top=FFh
// OC0 output:   Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1   initialization
// Clock source: System   Clock
// Clock value: Timer1   Stopped
// Mode: Normal   top=FFFFh
// 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=FFh
// 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;
// Analog Comparator   initialization
// Analog Comparator:   Off
// Analog Comparator   Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
while   (1)
{
PORTD=0xFF;
delay_ms(1000);
PORTD=0x00;
delay_ms(1000);
};
}
  1. Selesai menuliskan program, selanjutnya kita meng compile untuk menghasilkan extensi *.hex

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!

Membuat program mikrokontroler menggunakan CodeVisionAVR

Tagged with:
 

22 Responses to Membuat program mikrokontroler menggunakan CodeVisionAVR

  1. rendy says:

    Mas, tolong buatin program code vision AVR pada atmega 8535 dengan menggunakan sensor lm35 dong.
    jadi maksudnya: seberapa banyak jumlah suhunya (derajat celcius) maka LED akan berkedap kedip (hidup mati) sejumlah suhunya tadi kemudian begitu seterusnya..
    tolong bantuin ya, mas,,
    trims b4..

  2. roby jp says:

    mas, mau nanya gmna pemograman dengan code vision aplikasi keypad untuk menggerakkan motor..
    mohon masukannya

  3. deny says:

    cara nyimpan program codevisio menjadi file .hex gmn mas?

    terimakasih,,

  4. rain says:

    Link buat download nya mana om.? Kok ngga ada.?

    Mkasih sebelumnya…

    Testi dr saya : Web ini bagus bgt, berisi tutorial2 yg segar2..dan mudah di mengerti. Sukses selalu om & tetap berkarya.

  5. pccontrol says:

    saya lagi cari modul yang lengkap spt gambar ilustrasi di artikel.

  6. oxan says:

    saya bekerja di sebuah plastic injection , membutuhkan program yang dapat membaca on off mesin secara keseluruhan … ( Semua orang bisa melihat aktifitas mesin contoh mesin 1 : Mati, Mesin 2: Hidup, Mesin 3 Mati dst….di komputer) saat ini orang maintenance kami sudah membuat microcontrollernya .. mohon bantuannya ….

  7. dewinta putri hapsari says:

    mas,saya qn sedang membuat alat kecepatan angin dengan sensor foto dioda,trus saya menggunakan timer/counter 0 dan 1,dimana timer/counter1 saya gunakan sebagai timer dan timer/counter2 saya gunakan sebagai counter,jadi masukan dari sensor,saya ingin masukkan ke T0,saya bingung bagaimana programnya?

  8. dewinta putri hapsari says:

    ooh saya memakai ATmega8535

  9. chiko says:

    yib, yen pengen baca tegangan di port A, cuma 1 port yang dipake misal portA0, settingan portnya begimana?

  10. pccontrol says:

    wah bisa simulasi pakai proteus , makasih infonya…

  11. masno says:

    mau numpang nanya bos,saya punya AT89C52-24PI, bisa gak ya kalo dibikin jam digital dgn seven segment,kalo bisa tlg dong caranya gimana ya?

  12. kuncoro says:

    gan, bisa di upload source untk programming dot matriks yang pake string gan, thank you

  13. nasohi says:

    mas kok di folder exe nya gak ada file hex nya gmana tu
    padahal sudah dicompile

  14. mala says:

    anda bisa bantu saya membuat program di kodevision avr untuk menjalankan 3 servo,
    dengan 8 kondisi???

  15. zulai says:

    trimakasih banyak infonya

  16. arta says:

    untuk dot matrik ada gak mas…dalam program codevisio AVRnya..?

  17. mas bisa tolong buatin program pencacah, dari 0 sampai 500?
    emai saya yoggy.refiyon@ymail.com
    terimakash atas bantuannya mas,,,

  18. usman says:

    punya ane koq gak ada file hexnya ya setelah di compile…??

  19. deddy says:

    asalamualaikum, mhon bantuannya mas,sblmnya mhon maaf, sya sok kenal/akrab,. :-) sya membuat sebuah intrumen bell sekolah yang dikendalikan dengan PC (menggunakan VB), dimana bell tersebut berbunyi 3 x dlam 1 hari, ada bbrapa mslah yg sya hadapi saat ini:
    1. ketika sya simulasikan bbrapa mingngu, senin s.d jumat, bell trsebut dpt berfungsi sesuai dengan wktu setting. ttpi bell tersbut tidak berbunyi/heng ktika hri senin brikutnya (jum’at sore bell tersebut terakhir berbunyi, sabtu & mnggu tidak berbunyi krna waktu libur). mslah terbut dpt sya atasi dengan memberi code listing RESET pada VB, dmna 5 mnit sblm software trsebut memberi perintah kemikro software akan mereset.
    2. ketika program pada PC meRESET, COMnya sering putus (terkadang bell tersebut berbunyi sesuai dengan settingan kita, ttpi jga muncul perintah “5 ACCESS TO THE PORT COM 11 IS DENIED”). padahal sebelumnya telah disetting pada COM 11.
    Mohon bantuannya mas. sblm terimakasih, wasalam

  20. indah says:

    namek name komponen yang di puucuk komponen C3 tu ???

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>