MIKROKONTROLER AVR DAN BAHASA C

MIKROKONTROLER AVR DAN BAHASA C

Tak dapat disangkal

dewasa ini penggunaan bahasa pemrograman aras tinggi (seperti C, Basic, Pascal dan sebagainya) semakin populer dan banyak digunakan untuk memprogram sistem microcontroller. Berdasarkan sifatnya yang sangat fleksibel dalam hal keleluasaan pemrogram untuk mengakses perangkat keras, Bahasa C merupakan bahasa pemrograman yang paling cocok dibandingkan bahasa-bahasa pemrograman aras tinggi lainnya.
Dikembangkan pertama kali oleh Dennis Ritchie dan Ken Thomson pada tahun 1972, Bahasa C merupakan salah satu bahasa pemrograman yang paling populer untuk pengembangan program-program aplikasi yang berjalan pada sistem microprocessor (komputer). Karena kepopulerannya, vendor-vendor perangkat lunak kemudian mengembangkan compiler C sehingga menjadi beberapa varian berikut: Turbo C, Borland C, Microsoft C, Power C, Zortech C dan lain sebagainya. Untuk menjaga portabilitas, compiler-compiler C tersebut menerapkan ANSI C (ANSI: American National Standards Institute) sebagai standar bakunya. Perbedaan antara compiler-compiler tersebut umumnya hanya terletak pada pengembangan fungsi-fungsi library serta fasilitas IDE (Integrated Development Environment)–nya saja.
Relatif dibandingkan dengan bahasa aras tinggi lain, bahasa C merupakan bahasa pemrograman yang sangat fleksibel dan tidak terlalu terikat dengan berbagai aturan yang sifatnya kaku. Satu-satunya hal yang membatasi penggunaan bahasa C dalam sebuah aplikasi adalah semata-mata kemampuan imaginasi programmer-nya saja. Sebagai ilustrasi, dalam program C kita dapat saja secara bebas menjumlahkan karakter huruf (misal ‘A’) dengan sebuah bilangan bulat (misal ‘2’), dimana hal yang sama tidak mungkin dapat dilakukan dengan menggunakan bahasa aras tinggi lainnya. Karena sifatnya ini, seringkali bahasa C dikatagorikan sebagai bahasa aras menengah (mid level language).
Dalam kaitannya dengan pemrograman microcontroller, Tak pelak lagi bahasa C saat ini mulai menggeser penggunaan bahasa aras rendah assembler. Penggunaan bahasa C akan sangat efisien terutama untuk program microcontroller yang berukuran relatif besar. Dibandingkan dengan bahasa assembler, penggunaan bahasa C dalam pemrograman memiliki beberapa kelebihan berikut: Mempercepat waktu pengembangan, bersifat modular dan terstruktur, sedangkan kelemahannya adalah kode program hasil kompilasi akan relative lebih besar (dan sebagai konsekuensinya hal ini terkadang akan mengurangi kecepatan eksekusi).
Khusus pada microcontroller AVR, untuk mereduksi konsekuensi negative diatas, Perusahaan Atmel merancang sedemikian sehingga arsitektur AVR ini efisien dalam mendekode serta mengeksekusi instruksi-instruksi yang umum dibangkitkan oleh compiler C (Dalam kenyataannya, pengembangan arsitektur AVR ini tidak dilakukan sendiri oleh perusahaan Atmel tetapi ada kerja sama dengan salah satu vendor pemasok compiler C untuk microcontroller tersebut, yaituI ARC).
Seperti halnya compiler C untuk sistem microprocessor, di pasaran ada beberapa varian compiler C untuk memprogram sistem microcontroller AVR yang dapat dijumpai (lihat tabel 2.2).
Dengan beberapa kelebihan yang dimilikinya, saat ini CodeVisionAVR produk Perusahaan Pavel Haiduc merupakan compiler C yang relative banyak digunakan dibandingkan compiler-compiler C lainnya.
Bahasa C telah dikritisi secara meluas, dan banyak orang dengan cepat menemukan masalahnya. Tapi sebagai bahasa yang telah hadir, C tetap tak tersentuh. CodeVisionAVR adalah salah satu yang memanfaatkan keunggulan C dalam hal pemrograman mikrokontroler. Salah satu ungkapan menyatakan bahwa “jika kamu membuat perangkat lunak yang akan tetap layak suatu hari nanti, jangan belajar bahasa yang popular saat ini, pelajarilah C”.
C tidak membatasi pandangan orang mengenai sebuah bahasa pemrograman. C tidak object oriented, tetapi kita dapat menerapkan konsep objek oriented padanya. Bukan juga bahasa fungsional, tetapi kita dapat dapat menerapkan pemrograman fungsional menggunakannya. Kebanyakan interpreter LISP dan skema interpreters-interpreters/compiler-kompiler ditulis dengan menggunakan C. kita dapat memproses list menggunakan C, meski tak semudah menggunakan LISP. C juga memiliki fitur-fitur tambahan seperti rekursi, prosedur sebagai tipe data kelas pertama, dan banyak lagi.
Banyak orang yang merasakan C kekurangan akan kemudahan seperti JAVA, atau C++. Padahal C adalah bahasa yang sederhana. Tapi karena kesederhanaan ini dianggap kurang memadai sehingga membuat C diadaptasi sebagai perkenalan pertama ke tahap bahasa tingkat tinggi yang kompleks yang memungkinkan kita mengontrol dengan baik apa yang kita program tanpa fitur yang disembunyikan. Compiler tidak akan melakukan apapun sampai kita memerintahkan untuk melakukan sesuatu. Bahasa yang ada adalah transparan, bahkan jika beberapa fitur dari JAVA seperti garbage collection diikutsertakan pada implementasi C yang akan digunakan. Sebagai bahasa pemrograman, C tetap ada. Ini adalah inti dari development dilingkungan system operasi UNIX. Dan juga inti dari revolusi mikrokomputer, diantara C++, Delphi, JAVA dan lainnya, C masih tetap bertahan,dengan karakteristiknya sendiri.
Pada beberapa tahun yang lalu, the Electrical and Computer Engineering Technology department di Purdue University telah mempelajai bahasa pemrograman C sebagai bahasa yang dipilih untuk mengenalkan mikrokontroler. Mengajarkan Bahasa tingkat tinggi pada perkenalan mikrokontroler dalam referensi suatu bahasa tingkat assembly adalah sesuatu yang kontras pada suatu intitusi yang memiliki program yang sama. Penggunaan Bahasa tingkat tinggi memungkinkan untuk focus pada materi dan konsep dan tidak jemu dengan melihat detail listing assembly. Salah satu perbedaannya adalah bahasa tingkat tinggi memungkinkan untuk menuliskan langsung nilai pada register, memindahkan data melalui multiple operations dengan assembly.
Just-in-time (JIT) mengajarkan metode yang digunakan untuk mengenalkan komponen baru pada Bahasa pemrograman C seperti yang dibutuhkan. Pada prakteknya pokok masalah dipresentasikan, setelah itu disusun algoritma dan dievaluasi. Setelah itu dituangkan kedalam gambar sebagai diagram alir proses. Lalu dengan mudah diterjemahkan kedalanm bahasa C. seperti itulah dasar dari mikrokontroler.
Lebih dari 10 tahun, beratus juta mikrokontroler, suatu mikrokomputer yang mengandung perangkat ini dan memori didalam suatu single integrated circuit (IC) bersama CPU, telah disertakan pada perkembangan produk-produk dari keyboard sampai system control automobile (Ayala, 2000).
Bahasa tingkat tinggi meningkat menjadi metodologi standar untuk mikrokontroler terapan berdasar pada perkembangan dan improvisasi jaman dan pasar dan dukungan perawatan yang sederhana (Myklebust, N.D.). Untuk tetap sejajar dengan perubahan jaman, bahasa tingkat tinggi menjadi perlengkapan dalam memperkenalkan mikrokontroler sebagai bagian dari kurikulum pada the Electrical and Computer Engineering Technology curriculum di Purdue University, West Lafayette.