Sejarah Mikrokontroler Dan Perkembangan
Karena kebutuhan yang tinggi terhadap “chip-chip pintar” dengan berbagai fasilitasnya, maka berbagai vendor juga berlomba untuk menawarkan produk-produk mikrokontrolernya. Hal tersebut terjadi semenjak tahun 1970-an.
Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit. Pada tahun 1976 Intel mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama 8748 yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang dipasaran banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara mikrokontroler dan mikroprosesor sangat tipis. Masing-masing vendor mengeluarkan mikrokontroler dengan dilengkapi fasilitas-fasilitas yang cenderung memudahkan user untuk merancang sebuah sistem dengan komponen luar yang relatif lebih sedikit. Saat ini mikrokontroler yang banyak beredar dipasaran Yogyakarta adalah mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR sangatlah banyak, dengan masing-masing memiliki fitur yang berbeda). Dengan mikrokontroler tersebut pengguna (pemula) sudah bisa membuat sebuah sistem untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh yang menggunakan remote control televisi, radio frekuensi, maupun menggunakan ponsel, membuat jam digital, termometer digital dan sebagainya.
Motorola mengeluarkan seri mikrokontroler 6800 yang terus dikembangkan hingga sekarang menjadi 68HC05, 68HC08, 68HC11, 68HC12, dan 68HC16. Zilog juga mengeluarkan seri mikroprosesor Z80-nya yang terkenal dan terus dikembangkan hingga kini menjadi Z180 dan kemudian diadopsi juga oleh mikroprosesor Rabbit. Intel mengeluarkan mikrokontrolernya yang populer di dunia yaitu 8051, yang karena begitu populernya maka arsitektur 8051 tersebut kemudian diadopsi oleh vendor lain seperti Phillips, Siemens, Atmel, dan vendor-vendor lain dalam produk mikrokontroler mereka. Selain itu masih ada mikrokontroler populer lainnya seperti Basic Stamps, PIC dari Microchip, MSP 430 dari Texas Instrument dan masih banyak lagi.
Selain mikroprosesor dan mikrokontroler, sebenarnya telah bemunculan chip-chip pintar lain seperti DSP prosesor dan Application Spesific Integrated Circuit (ASIC). Di masa depan, chip-chip mungil berkemampuan sangat tinggi akan mendominasi semua desain elektronik di dunia sehingga mampu memberikan kemampuan komputasi yang tinggi serta meminimumkan jumlah komponen-komponen konvensional.
MENGAKSES MIKROKONTROLER
Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.
Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat keras dan perangkat lunak, yaitu:
- Sistem minimal mikrokontroler.
- Software pemrograman dan kompiler, serta downloader.
Yang dimaksud dengan sistem minimal adalah sebuah rangkaian mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi. Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang sama, yang terdiri dari 4 bagian, yaitu :
- Prosesor, yaitu mikrokontroler itu sendiri.
- Rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari awal.
- Rangkaian clock, yang digunakan untuk memberi detak pada CPU.
- Rangkaian catu daya, yang digunakan untuk memberi sumberdaya.
Pada mikrokontroler jenis tertentu (AVR misalnya), poin2 pada no 2 ,3 sudah tersedia didalam mikrokontroler tersebut dengan frekuensi yang sudah diseting dari vendornya, sehingga pengguna tidak perlu memerlukan rangkaian tambahan, namun bila ingin merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi dengan PC atau handphone), maka pengguna hs arumenggunakan rangkaian clock yang sesuai dengan karakteristik PC atau HP tersebut.
Sistem Polling dan InterupsiPolling sebenarnya bukan suatu fitur , ini adalah sesuatau yang harus dilakukan jika mikrokontroler yang dipilih tidak memiliki interupsi. Polling adalah teknik perangkat lunak dimana kontroler secara terus menerus menanyakan suatu perangkat jika membutuhkan servis.Perangkat membuat suatu tanda ketika data siap untuk ditransfer ke kontroler, dimana kontroler akan melihat pool berikutnya. Beberapa perangkat dapat dipolled dengan sukses, dengan kontroler yang meloncat kepada rutin program yang lain, tergantung pada flag mana yang telah diset.
Dasar dari polling adalah setiap fungsi memakai tipe round-robin untuk menanyakan ketika mereka dalam keadaan yang membutuhkan sebuah servis, kita dapat membuat mereka (prosedure/fungsi) memanggil fungsi mereka sendiri ketika prosedure tersebut membutuhkan penanganan lain. Ini disebut dengan “interupt”, ketika perangkat menginterupsi eksekusi program utama. Prosesor lalu akan mengambil waktu untuk keluar dari eksekusi program normal untuk menguji source interrupt dan mengambil aksi tertentu. Setelah itu, eksekusi program normal dilanjutkan. Sebuah servis interrupt dengan kata lain seperti sebuah sub-rutin, untuk melakukan perintah lain yang sebelumnya tidak dijalankan sehingga dapat diantisipasi oleh prosesor untuk menyesuaikan sebagian waktu, untuk mengeksekusi perintah baru dan menghentikan program utama yang kemudian dijalankan kembali jika tidak ada pemanggilan prosedur lain pada badan program.
Pemakaian prioritas interupsi di atas memiliki beberapa peraturan yang tercantum dibawah ini:
(a). Tidak ada interupsi yang menginterupsi interupsi prioritas tinggi.
(b). Interupsi prioritas tinggi boleh menginterupsi interupsi prioritas rendah.
(c). Interupsi prioritas rendah boleh terjadi jika tidak ada interupsi lain yang sedang dijalankan.
(d). Jika dua interupsi terjadi pada waktu bersamaan, interupsi yang memiliki prioritas lebih tinggi akan dikerjakan terlebih dahulu. Jika keduanya memiliki prioritas sama, maka interupsi yang berada pada urutan polling akan dikerjakan terlebih dahulu.
Mikrokontroler ATMEL secara otomatis akan menguji apakah sebuah interupsi bias terjadi setelah setiap instruksi dikerjakan. Pengecekan ini mengikuti suatu alur yang disebut dengan Polling Sequence dengan urutan:
- Interupsi Eksternal 0
- Interupsi Timer 0
- Interupsi Eksternal 1
- Interupsi Timer 1
- Interupsi serial
Ini berarti jika sebuah interupsi serial terjadi pada waktu bersamaan dengan interupsi eksternal 0, maka interupsi eksternal 0 akan dikerjakan terlebih dahulu dan interupsi serial baru akan dikerjakan setelah pengerjaan rutin interupsi eksternal 0 selesai dilakukan.