Mikrokontroler merupakan single-chip mikrokomputer yang berfungsi sebagai kendali dan otomatisasi mesin dan proses. Mikrokontroler memiliki central processing unit (CPU), memori, port input/output (I/O), pewaktu dan pencacah, pengkonversi analog ke digital (ADC), pengkonversi digital ke analog (DAC), port serial, interupsi logika, untaian osilator dan masih banyak lagi fitur-fitur lainnya yang tedapat dalam sebuah blok chip tersebut. Sebagai catatan, fitur-fitur dari mikrokontroler bisa beraneka ragam berdasarkan keluaran pabrikan dan serinya. Semua fitur-fitur yang sudah disebutkan tersebut terintegrasi hanya pada sebuah Integrated Circuit (IC). Banyak keuntungan yang diperoleh dari penggunaan mikrokontroler, diantaranya dapat mengurangi ukuran board cicuit kendali, konsumsi power yang lebih rendah, lebih tahan uji dan lebih mudah terintegrasi dengan desain aplikasi elektronik lainnya. Penggunaan mikrokontroler tidak hanya mengurangi ongkos otomatisasi, tetapi juga menyediakan fleksibilitas yang lebih tinggi. Desainer mikrokontroler telah menghilangkan periperal eksternal seperti ADC/DAC, dan juga lebih mengkonsentrasikan kepada aplikasi dan aspek development perangkat. Mikrokontroler dapat diprogram untuk membuat sistem menjadi cerdas. Halini sangat memungkinkan karena mikrokontroler memiliki memori dan pemrosesan data yang mampumenanganinya. Beberapa mikrokontroler yang biasa digunakan adalah Intel MCS-51, MCS-96, Motorola keluarga 68HC12, Microchip's peripheral interface controller (PIC) keluarga16CXX, 17CXX dsb.
1. Mikrokontroler/Microprosesor
Kata mikroprosesor dalam pengertian yang lebih luas berarti hanya sebuah CPU. Untuk membentuk sebuah board mikroprosesor yang lengkap blok-blok fungsional seperti memori, dan peripheral lainnya harus dihubungkan secara eksternal ke sebuah chip mikroprosesor. Sistem yang dibangun dengan cara ini disebut sebagai 'Single-Board Microcomputer'. Contoh mikroprosesor adalah 8085, 8086 dan 80486. Seperti yang telah didiskusikan pada bagian sebelumnya, jika melihat kebutuhan desain dari otomatisasi kita memerlukan sebuah perangkat yang mana semua blok-blok fungsional tadi terdapat dalam sebuah IC. Oleh karena itu konsep 'single-chip' mikrokomputer menjadi kenyataan, dan single-chip mikrokomputer ini adalah 'Mikrokontroler'. Contoh-contoh dari mikrokontroler adalah Intel MCS-51, keluarga PIC dari Microchip, Atmel 89CXX, 89CXX51.
Mikrokontroler dapat diprogram dan memilliki blok-blok fungsional yang sesuai jika dipadukan dengan kebutuhan desain elektronik yang lebih umum. Salah satu kelas penting lain dari mikroprosesor adalah 'Bit-Slice Processor'. Istilah bit-slice prosesor berarti bahwa prosesor dapat diinterkoneksikan kedalam bentuk potongan-potongan prosesor yang lebar wordnya dapat ditentukan. Bit-slice prosesor terdiri dari 4 atau 8 bit ALU, register, dan jalur kendali. Jalur kendali terkoneksi pada setiap prosesor-prosesor dan semua prosesor tersebut dapat melakukan operasi yang sama. Contoh bit-slice prosesor adalah AMD seri 2900. Desain bit- slice prosesor memilki beberapa keuntungan. Keuntungan yang pertama adalah ALU dapat digabungkan untuk membentuk komputer yang bisa mengelola data yang cukup besar dalam satu waktu. Keuntungan desain bit-slice prosesor lainnya adalah dapat menggunakan teknologi chip bipolar yang sangat cepat. Lebih jauh lagi, desain bit-slicememungkinkan penggunanya membuat set intruksi sendiri untuk aplikasiaplikasi yang mereka ciptakan.
2. Sejarah Mikrokontroler/Mikroprosesor
Semenjak kelahiran mikroprosesor, banyak mikroprosesor/mikrokontroler 4, 8, 16, dan 32 bit yang dikembangkan dan bermunculan di pasaran. Intel 4004 adalah 4-bit prosesor pertama yang muncul pada tahun 1971. Intel 4004 memiliki kapasitas 8-bit instruksi dan 4-bit proses data, memori eksternal terpisah untuk program (4K) dan data (1K). Ada 46 instruksi yang tereksekusi dalam satu clock (740 kHz). Lalu selama tahun 1972 intel mengembangkan 4040 yang merupakan versi advance dari 4004. 4040 memiliki 14 instruksi lebih banyak dengan 8K memori program dan juga sudah memiliki kemampuan interupsi.
Di tahun 1974 Texas Instrument mengenalkan mikrokontroler pertama TMS 1000. TMS 100 memiliki on-chip RAM, ROM dan I/O. Lalu di tahun 1974 Intel memperkenalkan 8080 yang merupakan versi advancedari 8008 yang telah diluncurkan sebelumnya di tahun 1972. Yang paling populer di tahun 1976 Intel mengembangkan 8085. Seri ini dapat beorperasi pada +5V dan frekuensi 3 MHz. Di tahun yang sama Zilog Z-80 muncul dengan kemampuan lebih baik dari 8080. Z80 beoperasi pada frekuensi 2,5 MHz dan frekuensi dalam CMOS (Complementary Metal Oxide Semiconductor) 10 MHz. Seketika setalah Intel muncul dengan 8080 di tahun 1975, Motorola memperkenalkan 6800, lalu diikuti dengan 6502 dan 6809. Berikutnya tahun 1976 Intel mengembangkan 8084 yang merupakan keluarga MCS-48. Seri ini sudah memungkinkan storage data tersimpan on-chip, tetapi code program masih tersimpan pada memori program eksternal. Tidak lama berselang dari itu MCS-48 tergantikan dengan mikrokontroler keluarga MCS-51 di tahun 1980. Intel MCS-51 menggunakan 2-byte instruksi yang lebih fleksibel, tersedia on-chip memori program (RAM/ROM/EPROM) dan memori data yang sama besar, 128 byte. Dan dapat pula terkoneksikan dengan memori eksternal. Di tahun 1982 Motorola memperkenalkan memperkenalkan mikrokontroler 6805.
Pada tahun 1975 peripheral interface controller (PIC) terbentuk di Universitas Havard. Keluarga mikrokontroler PIC mulai dikenalkan pada tahun 1985 oleh Microchip. PIC menggunakan arsitektur Havard dan telah memiliki Reduce Intruction Set. Di tahun 1978 Intel mengmbangkan 8086 yang merupakan prosesor 16-bit. Seiring dengan ini Motorola meluncurkan mikroprosesor 16-bit 68000, sedangkan Zilog meluncurkan 16-bit mikroprosesor Z8000. Pada juni 1997, mikrokontroler ATMEL 8-bit AVR dikenalkan ke pasar. dan hari ini telah banyak kluarga dari mikrokontroler yang bermunculan dari berbagai macam sumber dan berbagai macam versi.
3. Prinsip Kerja Mikrokontroler
Prinsip kerja mikrokontroler adalah sebagai berikut:
- Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter. Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment) secara otomatis. Data yang diambil pada ROM merupakan urutan instruksi program yang telah dibuat dan diisikan sebelumnya oleh pengguna.
- Instruksi yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai pada register, RAM, isi Port, atau melakukan pembacaan dan dilanjutkan dengan pengubahan data.
- Program Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1, atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan oleh mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya hingga power dimatikan.
4. Fungsi Setiap Bagian Mikrokontroler
- Register adalah suatu tempat penyimpanan (Variabel) bilangan bulat 8 bit atau 16 bit. Pada umumnya register berjumlah banyak, dan masing-masing ada yang memiliki fungsi khusus dan ada yang memiliki fungsi umum.
- Accumulator (register A), merupakan salah satu register khusus yang berfungsi sebagai operand umum proses aritmatika dan logika.
- Program counter, merupakan salah satu register khusus yang berfungsi sebagai pencacah/penghitung eksekusi program mikrokontroler
- ALU (Arithmetical and Logical Unit), ALU memiliki kemampuan khusus dalam mengerjakan proses-proses arithmetika (penjumlahan, pengurangan, perkalian dan pembagian) dan operasi logika (AND, OR, XOR dan NOT)
- Clock circuits, mikrokontroler merupakan rangkaian digital sekuensial, dimana kerjanya berjalan melalui sinkronisasi clock. Karenanya diperlukan clock circuits yang menyediakan clock bagi seluruh bagian rangkaian
- Internal ROM (On Chip Flash), merupakan memori yang isinya tidak dapat diubah atau dihapus (pada saat mikrokontroler berjalan) isinya hanya dapat dibaca saja. ROM biasanya berisi program (urutan-urutan instruksi) untuk menjalankan mikrokontroler. Data pada ROM dibaca secara berurutan.
- Internal RAM, merupakan memori yang isinya dapat diubah atau dihapus. RAM pada mikrokontroler biasanya berisi data-data variable dan register. Data yang tersimpan pada RAM bersifat hilang jika catu daya yang diberikan hilang (mati).
- Stack pointer, merupakan bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data yang khusus. Dimana data yang paling terakhir dimasukkan merupakan data yang pertama kali dibaca kembali (LIFO).
- I/O port (serial dan parallel), merupakan sarana yang digunakan mikrokontroler untuk mengakses peralatan di luar dirinya, memasukan dan mengeluarkan data.
- Interrupt circuits, merupakan rangkaian yang mengendalikan sinyal-sinyal interupsi bail internal maupun eksternal, dengan adanya sinyal interupsi akan mengakibatkan program utama yang sedang dikerjakan berhenti sejenak, dan bercabang/.loncat ke program rutin layanan interupsi (RLI) yang diminta, setelah RLI selesai dikerjakan, mikrokontroler kembali melanjutkan program utama yang tertunda tadi.
Setiap mikrokontroler memiliki blok diagram dan arsitektur yang berbeda satu dengan yang lainnya, tergantung pada banyak device yang terintegrasi di dalamnya, beberapa jenis mikrokontroler telah dilengkapi oleh ADC/DAC, PWM, WDT dan lain-lain.
EmoticonEmoticon