MICROCONTROLLER HARDWARE
Mikrokontroler atau sebut saja MK, dalam bahasa inggris microcontroller (MC), apa bedanya dengan mikroprosesor (uP) ?. Mikroprosesor yang digunakan saat ini dikuasai oleh produk-produk Intel dimana aplikasinya pada Personal Computer (PC) yang sudah tidak asing lagi bagi masyarakat luas.
Mau bereksperimen dengan mikroprosesor saat ini?, susah deh, lha nyoldernya saja tidak bisa, perintahnya komplek, jadi jangan berharap banyak untuk bermain secara hardware dengan mikroprosesor saat ini. Sekitar tahun 80 an, PC masih menggunakan Z80, mikroprosesor buatan Zilog, yang ini masih bisa digunakan untuk ekperimental, karena kemasannya 40 pin dan masih bisa disolder dengan cara manual.
Untung saat ini ada MK, juga dipasaran Indonesia mudah dicari, murah, MK berbeda dengan uP, karena lebih sederhana dan digunakan untuk aplikasi sederhana, artinya anda tidak akan dapat menjalankan Word dengan MK, atau mengolah grafik dsb, MK didisain untuk pengendalian, misalnya mengontrol nyala lampu, rele, motor listrik dan sejenisnya, kapasitas memory kecil, memiliki unit Input-Output.
MK itu suatu IC Digital yang kerjanya menuruti program yang diberikan, jadi perlu diprogram , seperti juga uP, ada untungnya juga, karena dengan merubah program berarti merubah fungsi, maka dengan perangkat yang sama akan dihasilkan perangkat yang beragam fungsinya, sesuai dengan program yang diberikan.
Aplikasi MK sudah sangat luas, dari mesin cuci, mikrowave oven, handphone hingga kendali satelit, pesawat terbang dan pengendalian didunia industri. Banyak jenis mikrokontroler yang terdapat dipasaran Indonesia, diantaranya; Motorolla, PIC, Atmel MCS51, Atmel AVR. Masing-masing beda performance dan bahasanya, pilih mana?, berikut hal yang perlu diperhatikan , sistem MK sebaiknya;
• Dapat diperoleh dipasaran dengan harga yang relatif murah. Jika digunakan untuk tugas akhir atau hanya untuk percobaan, beda puluhan ribu tak masalah, tetapi untuk mass product / bisnis, beda seratus rupiah jadi masalah. Harga MK saat ini yang umum di Indonesia mulai dari 12.500,- hingga ratusan ribu rupiah, rata-rata puluhan ribu, ya sekirat 50rb an per bijinya.
• Tidak banyak memerlukan tambahan komponen lain, PCB makin kecil dan kompak, memudahkan pembuatan hardwarenya.
• Banyak referensi mengenai hardware maupun software, terutama di situs internet., berupa situs, blog maupun forum diskusi.
• Mudah dibuat perangkat pengembangannya (Development tool) yang berupa software untuk simulator, emulator dan yang paling penting adalah compiler dan program¬ernya.
MK pertama buatan Intel, MCS48, terus berkembang jadi MCS51 yang katanya menguasai pasar MK diseluruh dunia, banyak industri lain seperti Siemens, Philips, Dallas, Atmel, mengeluarkan varaiant nya (compatible – bisa juga lebih canggih). Saat ini yang umum digunakan adalah seri AT89C, buatan Atmel yang kompatible dengan MCS51, Atmel AVR, PIC dan Motorolla seri 68HC. Pilih mana?, ya ini tergantung kebiasaan dalam membuat programnya, atau perintahnya, perintah bisa menggunakan bahasa asembler, C, Basic, tetapi sedikit gambaran bahwa;
• Sebenarnya semua MK dan uP bekerja dengan bahasa mesin, yang berupa kode-kode biner yang sulit dimengeri manusia, karena harus lihat tabel, artinya user interfacenya dengan manusia jelek.
• Bahasa Asembler adalah setingkat lebih tinggi dari bahasa mesin, Intermediate level language, bisa dimengerti manusia.
• Saat ini ada bahasa yang lebih mudah yaitu C dan juga Basic, yang disebut High level language.
Apabila digunakan untuk pengajaran di teknik elektro, maka semua bahasa harus diajarkan, mulai bahasa mesin hingga bahasa tingkat yang lebih tinggi, kalau untuk bisnis/proyek, ya asal bisa berfungsi dengan baik, toh user tidak akan mempermasalahkan pakai bahasa apa. Siswa elektro harus tahu register-register dengan segala keterbatasannya seperti bagaimana register 8 bit mengolah data 16 bit, data minus dan sebagainya.
Perlu dimengerti juga bahwa semua program yang ditulis pakai bahasa tingkat tinggi dan juga asembler, akan dikonversi menjadi bahasa mesin dengan bantuan compiler (software), tanpa kompiler maka kita harus lihat tabel bahasa mesinnya, seperti yang dilakukan pada awal tahun 80an, untuk memprogram Z80, harus tahu bahasa mesinnya.
Melalui programer, kode mesin dimasukkan kedalam chip PEROM dari MK, itulah cara memprogram MK, tentunya semuanya dengan bantuan PC dan software pendukungnya. Banyak software pendukung freeware di internet, karena biasanya produsen chip MK menjual hardware, bukan software, sehingga softwarenya merupakan pendukung agar hardwarenya laku.
Jika program ditulis dengan Asembler, maka kode mesin yang dihasilkan adalah paling kecil dibanding dengan penulisan dengan bahasa C atau BASIC, ini akan menghemat media penyimpanan program, yang saat ini biasanya ada dalam chip MK itu sendiri yang disebut sebagai Flash PEROM (Flash Programmlable Eraseable Read Only Memory).
Jadi masalah pemilihan program enak yang mana, tidak bisa didebatkan, jika sudah mahir dalam Asembler MCS51 atau AVR, susah kalau mau nulis dalam C, begitu sebaliknya, jika sudah keenakan dalam C, mau ke Asembler juga males. Bahasa C akan lebih mudah dalam proses-proses aritmatika, tetapi akan lambat dalam proses akses input-output serta menghasilkan kode yang besar . Bahasa asembler akan menghasilkan kode yang kecil, cepat, tetapi harus membuat rutin yang rumit saat berhadapan dengan aritmatika.
Hampir semua MK saat ini memiliki PEROM didalamnya, untuk menyimpan program, dan cara pengisiannya dengan cara serial, atau yang dikenal dengan cara ISP (In System Programmable), lebih hebat lagi saat MK bekerja, dapat diinterupsi untuk diprogram ulang, jadi pendeknya ada cara mudah untuk memprogramnya.
Untuk mengisi program, diperlukan programmer, berupa hardware dan software yang digunakan untuk koneksi dari PC ke MK, guna mentransfer kode program (dalam bahasa mesin). Koneksi bisa melalui port paralel, serial, atau saat ini pakai USB. Program dan interface banyak yang menyediakan di internet, gratis, kebanyakan melalui port paralel printer yang kelihatannya saat ini sudah tidak ada lagi di PC.
MK Favorit saya adalah AT89C2051, kecil 20 pin, murah (12.500,-) dan saya sudah biasa dan hapal bahasa asemblernya, jadi cepat dalam development, tetapi belakangan saya belajar C nya AVR, juga gampang dan cepat, tetapi menurut saya meskipun AVR dengan C lebih canggih dan mudah serta cepat, AVR kurang cocok untuk pengajaran karena menghilangkan filosofi MK atau uP dasar, baik internal registernya maupun kode perintah asemblernya, artinya lebih canggih, cepat dan mudah tetapi kurang memberikan pengetahuan dasar bagi siswa tentang filosopi MK.
Elektronika praktis adalah teori dan pengalaman, tanpa pengalaman tiada artinya, suatu persoalan muncul setelah aplikasi, karena beberapa parameter tak terkirakan dapat terjadi, apalagi diterapkan di lapangan atau lingkungan industri. Oleh karena itu bagi para pembaca yang ingin mendalami MK, harus praktek dengan mulai membangun proyek-proyek yang sederhana.