Pengertian Mikrokontroller
Mikrokontroler adalah
sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya
dapat menyimpan program didalamnya. Mikrokontroler adalah sebuah
chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat
menyimpan program did umumnya terdiri dari CPU (Central Processing Unit),
memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital Converter
(ADC) yang sudah terintegrasi di dalamnya. Kelebihan utama dari
mikrokontroler ialah tersedianya RAM dan peralatan I/O pendukung sehingga
ukuran board mikrokontroler menjadi sangat
ringkas. Mikrokontroler adalah sebuah chip yang berfungsi sebagai
pengontrol rangkaian elektronik dan umunya dapat menyimpan program did MCS51
ialah mikrokomputer CMOS 8 bit dengan 4 KB Flash PEROM (Programmable and
Erasable Only Memory) yang dapat dihapus dan ditulisi sebanyak 1000 kali.
Mikrokontroler ini diproduksi dengan menggunakan teknologi high density
non-volatile memory. Flash PEROM on-chip tersebut memungkinkan memori program
untuk diprogram ulang dalam sistem (in-system programming) atau dengan
menggunakan programmer non-volatile memory konvensional. Kombinasi CPU 8 bit
serba guna dan Flash PEROM, menjadikan mikrokontroler MCS51 menjadi
microcomputer handal yang fleksibel.
Mikrokontroler tersusun
dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu
kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai
komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan
sistem.
Mikrokontroler adalah
suatu alat elektronika digital yang mempunyai masukan dan keluaran serta
kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara
kerja mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh,
bayangkan diri Anda saat mulai belajar membaca dan menulis, ketika Anda sudah
bisa melakukan hal itu Anda bisa membaca tulisan apapun baik buku, cerpen,
artikel dan sebagainya, dan Andapun bisa pula menulis hal-hal sebaliknya.
|
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.
CARA KERJA MIKROKONTROLER
Prinsip kerja
mikrokontroler adalah :
a.
Berdasarkan nilai yang berada pada register Program Counter,
mikrokontroler mengambil data pada ROM dengan address sebagaimana
nilai yang tertera pada Program Counter.
Selanjutnya Program Counter ditambah nilainya dengan 1 (increment)
secara otomatis. Data yang diambil tersebut adalah urutan instruksi program
pengendali mikrokontroler yang sebelumnya telah dibuat oleh
pemakai.
b.
Instruksi tersebut diolah dan dijalankan. Proses pengerjaan bergantung
pada jenis instruksi: bisa membaca, mengubah nilai-nilai pada register, RAM isi
port atau melakukan pembacaan dan dilanjutkan dengan pengubahan data.
c. Program
Counter telah berubah nilainya (baik karena penambahan otomatis
sebagaimana pada langkah 1 di atas atau karena pengubahan pada langkah b.
Selanjutnya yang dilakukan mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian
seterusnya hingga power dimatikan.
Dari pengertian di atas dapat disimpulkan bahwa pada dasarnya unjuk kerja
mikrokontroler sangatlah bergantung pada urutan instruksi yang dijalankannya,
yaitu program yang ditulis di ROM.
Dengan membuat program yang bermacam-macam, maka tentunya mikrokontroler dapat
mengerjakan proses yang bermacam-macam pula. Fasilitas-fasilitas yang ada
misalnya timer/counter, port I/O, serial port, Analog to Digital
Converter (ADC) dapat dimanfaatkan oleh program untuk menghasilkan proses
yang diinginkan. Misalnya saja ADC dipergunakan oleh sebuah
mikrokontroler pengendali alat ukur digital untuk mengukur tegangan sinyal
input. Kemudian hasil pembacaan ADC diolah untuk kemudian dikirimkan ke sebuah
display yang terhubung pada port I/O, menampilkan hasil pembacaan yang telah
diolah. Proses pengendalian ADC, pemberian sinyal-sinyal yang tepat pada
display, kesemuanya dikerjakan secara berurutan pada program yang ditulis di
ROM.
Penulisan program mikrokontroler pada umumnya adalah menggunakan bahasa
assembly untuk mikrokontroler yang bersangkutan (setiap mikrokontroler memiliki
instruksi bahasa assembly yang berlainan). Kemudian dengan bantuan sebuah
komputer, bahasa assembly tersebut diubah menjadi bahasa mesin mikrokontroler,
dan disalin ke dalam ROM mikrokontroler.
Pada buku ini akan dibahas mikrokontroler dari keluarga MCS-51, dengan beberapa
contoh aplikasi sederhana. Selanjutnya dari pengertian yang didapat, diharapkan
dapat dikembangkan sendiri aplikasi-aplikasi lain sebagaimana yang diinginkan.
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.
Tidak ada komentar:
Posting Komentar