Halo sobat hamtronik,
Kali ini saya akan berbagi cara memprogram microcontroller menggunakan IDE CvAVR.
kita mulai dari yang paling dasar gaes, agar kita paham alur dan cara kerja program yang akan kita bikin. Target kita nanti bisa bikin project yang bisa diaplikasikan dan bermanfaat di kehidupan kita.
langsung gass.. kita akan memprogram mikro kontroller atmega8, untuk MCU (baca microcontroller) yang lain nanti akan mudah menyesuaikan. Saat ini kita belum membutuhkan atmega8 dalam bentuk fisik, namun cukup dengan simulasi. Jika anda ingin langsung praktek dengan atmega8 fisik malah bagus.
Software yang perlu disiapkan:
1. CvAVR 3.12 (sesuai yang saya gunakan di tutorial ini)
2. Protues 7.9 atau diatasnya
amati gambar berikut fokus pada text di luar kurung dan abaikan yang lainnya.
![]() |
gb.1 Diagram Port Atmega8 |
ada 3 grup port IO atmega8 yang bisa kita gunakan yaitu
Port B 8bit dari B0 s.d B7
Port C 7bit dari B0 s.d B6
Port D 8bit dari D0 s.d D7
Supaya lebih mudah memahami kita langsung praktek saja, silahkan bikin file simulasi baru di proteus sperti sekema dibawah ini.
yang belum bisa cara bikin silahkan tonton video disini
gb.2 Skema latihan IO proteus |
Selanjutnya kita buka software CvAVR, kemudian buat project baru. ikuti langkah-langkah berikut
klik "File" >> New >> Project
![]() |
gb.3 Membuat project baru CvAVR |
jika tampil peringatan berikut, silahkan klik "No"
Kemudian anda diminta untuk menyimpan project, silahkan pilih folder penyimpanan dan beri nama file "Part1 IO" kemudian tekan "Save"
Selanjutnya akan diminta memilih Jenis MCU yang akan kita program. Silahkan cari Atmega8, dan otomatis kita juga akan dibuatkan sebuah file berexteni dot C. (lingkaran merah) Biarkan begitu saja dan tekan "OK"
gb. 4 |
Setelah itu akan tampil windows konfigurasi sperti dibawah ini, Klik tab "C Compiler", kemudian ubah clock dari 8,000000 menjadi 1,000000. Karena atmega8 baru sudah diset clock 1Mhz dari pabriknya, jadi sementara kita tidak utak-utik clock di atmega8. Kemudian tekan "OK"
gb. 5 |
tara... Editor C sudah terbuka dan siap digunakan. Jika anda ingin custom tampilan editor seperti gambar ini bisa klik "Setting" pilih "Editor" kemudian sesuaikan dengan selera anda. Tampilan default bawaan editor ini dengan background putih. Silahakan tutup window yang kiranya tidak digunakan, sehingga tampilan editor menjadi lebih lega seperti dibawah ini.
gb. 6 |
Selanjutnya edit code, sehingga menjadi seperti gambar gb.7 Jangan sampai ada yang terlewat walaupun hanya titik koma. karena bisa error
sebelum edit code, kita senggol dulu aturan-aturan penulisan code di CvAVR. Code di CvAVR menggunakan bahasa C yang bersifat case sensitif, artinya huruf besar dan huruf kecil dibaca berberda.
misal menulis "LEBAR" dan "lebar" kedua kata tersebut dinilai berbeda oleh sistem.
Aturan penulisan angka atau bilangan
- Penulisan bilangan biner selalu di dahului dengan "0B" contoh 0B10101
- Penulisan Bilangan Decimal tidak ada tanda apapun, jadi langsung menulis angka tersebut contoh: 231
- Penulisan bilangan Hexadecimal didahului dengan "0x" contoh 0x1A
gb.7 latihan IO |
PENJELASAN dan ALUR PROGRAM
Baris 1 s.d 5
disebut komentar. diawali denga "/*" dan ditutup dengan tanda "*/" baris ini berfungsi hanya sebagai keterangan saja, jadi tidak ikut diexekusi kompiler. untuk komentar dalam 1 baris saja bisa dengan tanda "//". jadi semua text disebelah kanan simbol diartikan sebagai komentar. contoh pda baris ke 9.
Baris 8 dan 9
io.h >> library untuk register atau mendefinisikan IO
delay.h >> library untuk tunda, ada 2 yang sering dipakai:
delay_us(nilai) : menunda dalam micro second
delay_ms(nilai): menunda dalam mili second
Baris ini merupakan inisialisasi Port, dimana kita akan setting port-port ini sebagai input atau output.
untuk Memperlakukan Port - Port ini sebagai input atau output kita menggukan register DDRx, dimana x adalah nama portnya ( B, C dan D). Setting input atau output dengan cara memberi Nilai masing-masing bit mulai dari bit ke 7 sampai ke 0. Jika 1 Port sebagai output dan Jika 0 Port sebagai input.
perthatikan baris 13, ada sintax DDRB = 0b00000000;
"0B" (baca nol B) artiya bilangan yang ditulis adalah biner, dan 00000000 ini berarti PB7 s.d PB0 disetting sebagai input.while(1)
Latihan
Sampai disini Part1 selesai, jika ada pertanyaan kita akan bahas dikolom komentar.
Post a Comment