Baiklah, untuk memudahkan saya menjelaskan dari ‘nol’, ada baiknya Anda perhatikan dulu diagram alir pada Gambar 1 (jika kurang jelas, silahkan di-klik aja yach)…
Gambar 1
Nach, berdasar diagram alir tersebut, semuanya berawal dari MASALAH, atau bisa juga Anda sebut PROYEK, KASUS atau apa saja yang Anda suka selama artinya adalah sesuatu yang ingin dicari, dibuat solusinya. Lebih tepatnya, pada tahap awal yang perlu dilakukan adalah IDENTIFIKASI MASALAH, persis atau detilnya bagaimana, misalnya…“Bagaimana membuat aplikasi menghidupkan LED berdasar tombol yang ditekan?”
Ini tentunya belum cukup, informasinya masih kurang, beberapa pertanyaan yang bisa diajukan antara lain:- LED-nya berapa?
- Tombol apa saja yang ditekan?
- Bagaimana hubungan antara sebuah tombol dengan LED yang bersangkutan?
- Apakah dimungkinkan menekan dua tombol atau lebih secara bersamaan?
- Apakah menyala-nya LED menggunakan tundaan? Atau hanya sekedar sesuai dengan tombol yang bersangkutan?
- Dan lain sebagainya.
Selain itu, dengan detil informasi yang diperoleh, Anda bisa menentukan mikrokontroler apa yang akan digunakan, sesuai dengan kebutuhan berdasar detil informasi yang bersangkutan. Ingatlah bahwa setiap mikrokontroler (baik keluarga AVR maupun AT89) masing-masing memiliki fasilitas yang sama dan juga berbeda. Apakah aplikasi atau solusi yang Anda tawarkan memerlukan timer? Memerlukan sinyal PWM? Menggunakan motor servo? Motor DC? Motor Langkah? Apakah memerlukan Watchdog? Berapa frekuensi clock yang dibutuhkan? Dan lain sebagainya…
Biasanya, persoalan yang dihadapi adalah mencari solusi itu sendiri. Katakan saja jika persoalan masukan/luaran sudah teridentifikasi secara 100% semuanya, langkah berikutnya adalah merancang solusi, termasuk memilih mikrokontroler mana yang akan digunakan. Untuk keperluan mendapatkan informasi mikrokontroler AVR atau AT89 secara lengkap silahkan merujuk datasheet masing-masing. Ini adalah sumber utama yang bisa dipercaya, karena langsung diterbitkan oleh pabrik mikrokontroler yang bersangkutan (ATMEL).
Setelah Anda melakukan IDENTIFIKASI MASALAH, langkah berikutnya (lihat diagram alir) adalah MELAKUKAN PERANCANGAN (termasuk menentukan masukan dan luaran apa saja yang terlibat dalam solusi tersebut). Langkah ini memang tidak semudah mengatakan-nya, namun ANDA PASTI BISA, karena semakin tinggi jam terbang Anda dalam menangani berbagai macam kasus-kasus yang melibatkan penggunaan mikrokontroler, Anda akan semakin terampil dan ‘jenius’.
Misalnya saja, ada pertanyaan yang masuk ke saya bagaimana menampilkan hasil perhitungan atau hasil akuisisi data di LCD? di Dot Matrix atau bahkan di 8×7segmen? Ini semua memerlukan kreativitas untuk mendapatkan solusinya. Anda rajin membaca artikel-artikel saya atau diskusi dengan saya, atau bahkan cari sendiri di internet, tanya ke yang lebih pakar dan lain sebagainya…
Termasuk dalam langkah MELAKUKAN PERANCANGAN adalah membuat DIAGRAM ALIR program mikrokontroler Anda (Anda bisa membaca ulasan tentang diagram alir disini). Beruntunglah Anda, karena saat ini sudah ada sebuah program yang dapat digunakan untuk membuat diagram alir sekaligus mengkonversikan-nya dalam bahasa C atau ASM untuk mikrokontroler AVR (termasuk juga untuk PIC dan ARM), asik khan? Silahkan baca informasinya dan unduh program demonya di Matrix Multimedia - FLOWCODE v3.0 for AVR atau langsung saja mengunduh disini.
Oya, dalam membuat diagram alir usahakan dibuat secara umum, artinya tidak mewakili bahasa pemrograman apapun, termasuk assembly. Mengapa? Karena memang begitu aturan dalam membuat diagram alir yang baik dan benar, selain itu akan memudahkan kita atau mungkin orang lain, jika Anda berkenan, melakukan pengembangan lebih lanjut dengan bahasa yang berbeda-beda (misalnya Basic, C dan lain sebagainya).
Langkah berikutnya adalah MEMBUAT RANGKAIAN YANG SESUAI (RANGKAIAN BAKU/MINIMUM PLUS APLIKASINYA), namun sebelum itu ada baiknya juga Anda sudah menentukan bahasa pemrograman apa yang akan digunakan, sebaiknya yang GRATIS aja, namun itu terserah Anda.
Pada tahap ini, barangkali Anda bertanya-tanya, dimana dan bagaimana saya mendapatkan rangkaian-rangkain aplikasi tersebut? Ya Anda sangat beruntung, karena beberapa buku-buku mikrokontroler sudah banyak membahas hal tersebut, antara lain:
- Belajar Mikrokontroler AT 89C51/52/55 (Teori dan Aplikasi) Edisi 2, Oleh: Agfianto Eko Putra, terbitan Gava Media, Yogyakarta (info);
- Belajar Dengan Mudah dan Cepat Pemrograman Bahasa C Dengan SDCC (Small Device C Compiler) Pada Mikrokontroler AT89X051/AT89C51/52 Teori, Simulasi dan Aplikasi, Oleh: Totok Budiok, terbitan Gava Media, Yogyakarta (info);
- Belajar Mikrokontroler ATMEL AT89S8252, Oleh: M. Ibnu Malik, ST, terbitan Gava Media, Yogyakarta (info);
- Belajar Mikrokontroler Atmel AVR ATtiny 2313 “Step by Step”, Oleh: Ardi Winoto, terbitan Gava Media, Yogyakarta (info);
- Design dan Implementasi Sistem Embedded Mikrokontroller ATMega8535 dengan Bahasa Basic, Oleh: Iswant, terbitan Gava Media, Yogyakarta (info)
- Bisa juga dengan membaca rangkuman artikel “Memulai Belajar Mikrokontroler !“.
- dan masih banyak lagi!
- EDABOARD.COM;
- Build Your Own Microcontroller Projects;
- AVR Microcontrollers Projects - The Netherlands;
- AVR Microcontroller Projects;
- dan masih banyak lagi lainnya…
Pembuatan program aplikasi bisa Anda lakukan dengan bahasa pemrograman apapun yang Anda inginkan, jika Anda seorang pemula, saya sarankan untuk menggunakan BASCOM 51 atau BASCOM AVR dari MCSELEC.COM, karena sangat mudah penggunaanya. Selain itu, Anda bisa menggunakan:
- AVR Studio 4 dari Atmel yang mendukung bahasa assembly dan jika diinstall WinAVR akan mendukung juga bahasa C - gratis;
- WinAVR menggunakan bahasa C - gratis;
- VMLAB for AVR (bahasa ASM) microcontroller dari ACMTOOLS - gratis;
- MIDE-51 (bahasa C dan ASM) dari OpCube - gratis;
- The fastest AVR Basic compiler generates the shortest code! (bahasa BASIC) Oleh FastAVR;
- mikroBasic PRO for AVR 2009 (bahasa BASIC) dari MikroElektronika - komersil alias mbayar;
- mikroC PRO for AVR 2009 (bahasa C) dari MikroElektronika - komersil alias mbayar;
- mikroPascal PRO for AVR 2009 (bahasa Pascal) dari MikroElektronika - komersil alias mbayar;
- mikroBasic PRO for 8051 2009 (bahasa BASIC) dari MikroElektronika - komersil alias mbayar;
- mikroC PRO for 8051 2009 (bahasa BASIC) dari MikroElektronika - komersil alias mbayar;
- mikroPascal PRO for 8051 2009 (bahasa Pascal) dari MikroElektronika - komersil alias mbayar;
- CodeVision (bahasa C) dari HP Infotech - komersil alias mbayar;
- Silahkan baca ulasan saya tentang Basic Compiler untuk AVR disini;
- dan masih banyak lagi yang lain…
Bagaimana cara mendownload? Menggunakan (alat) apa? Silahkan membaca artikel Pemrogram (downloader) Mikrokontroler AVR melalui USB, Software untuk AVR Downloader (berbasis USBasp) dan Min MCS51/AVR dan Min AVR dari ADP. Ingatlah selalu, agar mikrokontroler AVR Anda bisa berjalan dengan baik dan benar, lakukan pengaturan clock sistem terlebih dahulu, silahkan simak artikel Mengenal System Clock pada Mikrokontroler AVR.
Untuk persoalan mendownload ada sebuah catatan pengalaman menggunakan AT89S8252 yang terasa sangat lambat saat didownload menggunakan Min MCS51/AVR dan ternyata saya mendapatkan pencerahannya langsung dari pembuatnya mas Anang Dono Prasetyo (terima kasih mas Anang), berikut cuplikannya:
Langkah selanjutnya tentu saja MELAKUKAN UJI-COBA DAN EVALUASI apakah rangkaian dan program sudah berjalan dengan benar atau belum, lakukan TROUBLESHHOTING jika memang masih ada kesalaha mayor maupun minor, sehingga hasil yang diperoleh menjadi baik dan benar. Ingatlah bahwa kesalahan bisa terjadi pada RANGKAIAN dan/atau PROGRAM, bahkan seringkali kesalahan-kesalahan sepele tetapi berdampak besar pada jalannya aplikasi kita, dengan demikian lakukan pengecekan secara menyeluruh.Signature AT89S8252 memang tidak bisa dibaca jika menggunakan serial programmer, sama seperti signature AT89S53. lihat: AT89S8252.pdf hal 21. kedua mikro tersebut menggunakan format pemrograman FLASH yg tdk setandar yaitu 3byte. (yang lain 4byte). Byte MSB alamat programnya juga tdk beraturan. Signature AT89S8252 & AT89S53… hanya bisa dibaca dengan programer Paralel.Kalau ingin memprogram mikro ini harus dipilih secara manual pada list mikrokontroler programernya. karena alamat FLASH tidak beraturan maka memprogram mikro ini jadi lama.Solusinya, ganti AT89S8252 dengan AT89S8253. lebih besar dan menggunakan format programer FLASH standar(4byte). harga tdk jauh beda. Semoga Bermanfaat….
Untuk informasi lebih lanjut, silahkan Anda bertanya atau berkomentar, dan silahkan juga mengikuti pelatihan-pelatihan mikrokontroler AVR atau AT89 yang kita selenggarakan.
Terima kasih sudah membaca artikel saya, semoga bermanfaat dan sukses selalu untuk Anda!