Anda di halaman 1dari 12

BAB 6

DASAR-DASAR MIKROKONTROLER

Tujuan:
Setelah mempelajari Dasar-dasar Mikrokontroler, diharapkan siswa dapat:
1. Memahami Mikrokontroler dan bagian-bagianya
2. Memahami prinsip kerja Mikrokontroler
3. Mengenal Jenis-jenis Mikrokontroler

6.1 MIKROKONTROLER

Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian


elektronik dan dapat menyimpan program didalamnya. Mikrokontroler 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.

Pada Mikrokontroler, perbandingan ROM dan RAM-nya besar, artinya program


kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya
relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara,
termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan. Rata-
rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/O secara langsung dan
mudah, dan proses interupt yang cepat dan efisien. Dengan kata lain mikrokontroler
adalah Solusi satu Chip dengan jumlah komponen yang sedikit dan hemat biaya (harga
relatif rendah).

Kelebihan dari mikrokontroller adalah sebagai berikut :


 Penggerak pada mikrokontoler menggunakan bahasa pemograman assembly
dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem
menjadi sangat mudah dikerjakan sesuai dengan logika sistem (bahasa assembly
ini mudah dimengerti karena menggunakan bahasa assembly aplikasi dimana
parameter input dan output langsung bisa diakses tanpa menggunakan banyak
perintah). Desain bahasa assembly ini tidak menggunakan begitu banyak syarat
penulisan bahasa pemrograman seperti huruf besar dan huruf kecil untuk bahasa
assembly tetap diwajarkan.
 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.
 Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer
sedangkan parameter komputer hanya digunakan untuk download perintah
instruksi atau program. Langkah-langkah untuk download komputer dengan
mikrokontroler sangat mudah digunakan karena tidak menggunakan banyak
perintah.
 Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori
dan I/O yang disesuaikan dengan kebutuhan sistem.
 Harga untuk memperoleh alat ini lebih murah dan mudah didapat.

6.1.2. Perbedaan mikrokontroler dan mikroprosesor

Mikrokontroler dan mikroprosesor merupakan perangkat yang sangat berbeda.


Perbedaan yang utama antara keduanya dapat dilihat dari dua faktor utama yaitu
arsitektur perangkat keras (hardware architecture) dan aplikasi dari masing-masing,
berikut penjelasannya :
 Ditinjau dari segi arsitekturnya, mikroprosesor hanya merupakan single chip
CPU, sedangkan mikrokontroler dalam IC-nya selain CPU juga terdapat device
lain yang memungkinkan mikrokontroler berfungsi sebagai suatu single chip
computer. Dalam sebuah IC mikrokontroler telah terdapat ROM, RAM, EPROM,
serial interface dan paralel interface, timer, interrupt controller, konverter Analog
ke Digital, dan lainnya (tergantung fitur yang melengkapi mikrokontroler
tersebut).

 Sedangkan dari segi aplikasinya, mikroprosessor hanya berfungsi sebagai Central


Processing Unit yang menjadi otak komputer, sedangkan mikrokontroler, dalam
bentuknya yang mungil, pada umumnya ditujukan untuk melakukan tugas–tugas
yang berorientasi kontrol pada rangkaian yang membutuhkan jumlah komponen
minimum dan biaya rendah (low cost)

6.1.3 Bagian-bagian Mikrokontroler

Berikut ini adalah bagian – bagian utama dari suatu Mikrokontroler, yaitu:
1. Register
Register merupakan suatu tempat penyimpanan (variable) bilangan bulat
yang terdiri dari 8 atau 16 bit. Pada umumnya register memiliki jumlah yang banyak,
masing-masing ada yang memiliki fungsi khusus dan ada pula yang memiliki fungsi
atau kegunaan secara umum. Register yang memiliki fungsi secara khusus
misalnya register timer yang berisi data penghitungan pulsa untuktimer, atau register
pengatur mode operasi counter (penghitung pulsa). Sedangkan register yang
memiliki fungsi umum digunakan untuk menyimpan data sementara yang -
diperlukan untuk proses penghitungan dan proses operasi mikrokontroler.
Register dengan fungsi umum sangat dibutuhkan dalam sistem
mikrokontroler karena mikrokontroler hanya mampu melakukan operasi aritmetik
atau logika hanya pada satu atau dua operand saja, sehingga untuk operasi-operasi
yang melibatkan banyak variabel harus dimanipulasi dengan menggunakan variabel-
variabel register umum.

2. Accumulator
Merupakan salah satu register khusus yang berfungsi sebagai operand umum proses
aritmetika dan logika.

3. Program Counter
Merupakan salah satu register khusus yang berfungsi sebagai pencacah / penghitung
eksekusi program mikrokontroler.

4. ALU (Arithmetic and Logic Unit)


ALU memiliki kemampuan dalam mengerjakan proses-proses aritmatika
(penjumlahan, pengurangan, perkalian, pembagian) dan operasi logika (misalnya
AND, OR, XOR, NOT) terhadap bilangan bulat 8 atau 16 bit.

5. Clock Circuits
Mikrokontroler merupakan rangkaian logika sekuensial, dimana proses kerjanya
berjalan melalui sinkronisasi clock. Oleh karena itu diperlukan clock circuits yang
menyediakan clock untuk seluruh bagian rangkaian.

6. Internal ROM (Read Only Memory)


Merupakan memori penyimpan data dimana data tersebut tidak dapat diubah atau
dihapus (hanya dapat dibaca). ROM biasanya diisi dengan program untuk dijalankan
oleh mikrokontroler segera setelah power dihidupkan. Data dalam ROM tidak dapat
hilang meskipun power dimatikan karena bersifat non volatile.

7. Stack Pointer
Stack merupakan bagian dari RAM yang memiliki metode penyimpanan dan
pengambilan data secara khusus. Data yang disimpan dan dibaca tidak dapat
dilakukan dengan cara acak karena data yang dituliskan ke dalam stack yang berada
pada urutan yang terakhir merupakan data yang pertama kali dibaca kembali. Stack
Pointer berisi offset dimana posisi data stack yang terakhir masuk (atau yang
pertama kali dapat diambil).

8. I/O (Input/Output) Ports


Merupakan sarana yang digunakan oleh mikrokontroler untuk mengakses peralatan-
peralatan lain di luar sistem. I/O Port berupa pin-pin yang dapat berfungsi untuk
mengeluarkan data digital ataupun sebagai masukan data eksternal.

9. Interrupt Circuits
Adalah rangkaian yang memiliki fungsi untuk mengendalikan sinyal-sinyal interupsi
baik internal maupun eksternal. Adanya sinyal interupsi akan menghentikan
eksekusi normal program mikrokontroler untuk selanjutnya menjalankan sub-
program untuk melayani interupsi tersebut.
Diagram blok di atas tidak selalu sama untuk setiap jenis mikrokontroler. Beberapa
mikrokontroler menyertakan rangkaian ADC (Analog to Digital Converter) di
dalamnya, ada pula yang menyertakan port I/O serial disamping port I/O paralel
yang sudah ada.

10. Internal RAM (Random Acces Memory)


Merupakan memori penyimpan data dimana data tersebut dapat diubah atau dihapus.
RAM biasanya berisi data-data variable dan register. Data yang tersimpan pada
RAM bersifat volatile yaitu akan hilang bila catu daya yang terhubung padanya
dimatikan
Osilator (Pembangkit Frekuensi) dalam Mikrokontroler

Pada dasarnya mikrokontroler memiliki sifat seperti manusia. Kalau manusia


memiliki jantung untuk bisa hidup, maka mikrokontroler memiliki osilator untuk bisa
beroprasi. Osilator adalah suatu rangkaian elektronika yang menghasilkan sejumlah
getaran atau sinyal listrik secara periodik dengan amplitudo yang konstan.
Mikrokontroler sendiri sudah memiliki osilator internal yaitu sebesar 8Mhz tetapi,
kadang kala agar kinerja mikronkontroler lebih cepat osilator internal tidak bisa
menangani kasus tersebut. Oleh karena itu dibutuhkan osilator eksternal (kristal) yang
nilainya lebih dari 8Mhz. Perlu diperhatikan mikrokontroler hanya bisa beroperasi
sampai 16 Mhz. jadi kalau memilih krsital untuk AVR tidak boleh lebih dari 16Mhz.
6.2 PRINSIP KERJA MIKROKONTROLER

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.

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.

6.3 JENIS-JENIS MIKROKONTROLER

Secara umum mikrokontroler terbagi menjadi 3 keluarga besar Setiap keluarga


memepunyai ciri khas dan karekteriktik sendiri sendiri, berikut pembagian keluarga
dalam mikrokontroler:

6.3.1 Keluarga MCS51

Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian


besar instruksinya dieksekusi dalam 12 siklus clock. Mikrokontroler ini berdasarkan
arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip
tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM
luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses
program dan memori data.
Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah
mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat
dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Karena
itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic Control).

Mikrokontroler AT89S52

Mikrokontroler 89S52 merupakan versi terbaru dibandingkan mikrokontroler AT89C51


yang telah banyak digunakan saat ini. AT89S52 mmpunyai kelebihan yaitu mempunyai
flash memori sebesar 8K byte, RAM 256 byte serta 2 buah data pointer 16 bit,

Spesifikasinya:
Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya.
 8 K Bytes In system Programmable (ISP) flash memori dengan kemampuan 1000
kali baca/tulis
 Tegangan kerja 4-5 V
 Bekerja dengan rentang 0 – 33MHz
 256×8 bit RAM internal
 32 jalur I/O dapat deprogram
 3 buah 16 bit Timer/Counter
 8 sumber interrupt
 saluran full dupleks serial UART
 watchdog timer
 dual data pointer
 Mode pemrograman ISP yang fleksibel (Byte dan Page Mode)

6.3.2 AVR
Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR
merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode
instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang
paling sering dipakai dalam bidang elektronika dan instrumentasi.
Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang
membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Keempat
kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan
AT86RFxx.

ATMEGA 8535/16/32

Merupakan mikrokontroler seri ATMEGA berbasis arsitektur AVR 8 bit. Secara


fisik ketiga jenis mikrokontroler tersebut sama dan bisa digunakan pada sistem minimum
yang sama pula. Perbedaan ketiga mikrokontroler tersebut adalah spesifikasi memori
yang dibunakan. Berikut tabel perbandingan ketiga mikrokontroler tersebut.

Gambar: ATMEGA 8535

Tabel: Perbandingan ATMEGA 8535, 16, dan 32


ATTINY 2313

ATtiny2313 merupakan seri mikrokontroler dengan arsitektur AVR 8 bit.


Walaupun memiliki arsitektur yang sama, ATTINY berbeda dari ATMEGA dari segi
fitur dan memori. Bandingkan ATMEGA 8535 yang memiliki memori flash 8 KB
dengan ATTINY 2313 yang hanya memiliki memoriflash sebesar 2 KB. Secara fitur,
ATMEGA menyertakan fitur ADC dalam satu kemasan IC sedangkan ATTINY 2313
tidak memiliki fitur tersebut. Selain itu kecepatan maksimal ATTINY 2313 hanya sampai
8 MHz saja, berbeda dengan seri ATMEGA 16 yang sanggup hingga 16 MHz.

Gambar: Konfigurasi Pin Mikrokontroler ATtiny 2313

6.3.3 PIC

PIC ialah keluarga mikrokontroler tipe RISC buatan Microchip Technology.


Bersumber dari PIC1650 yang dibuat oleh Divisi Mikroelektronika General Instruments.
Teknologi Microchip tidak menggukana PIC sebagai akronim,melaikan nama brandnya
ialah PICmicro. Hal ini karena PIC singkatan dari Peripheral Interface Controller, tetapi
General Instruments mempunyai akronim PIC1650 sebagai Programmabel Intelligent
Computer.
PIC pada awalnya dibuat menggunakan teknologi General Instruments 16 bit
CPU yaitu CP1600. * bit PIC dibuat pertama kali 1975 untuk meningkatkan performa
sistem peningkatan pada I/). Saat ini PIC telah dilengkapi dengan EPROM dan
komunikasi serial, UAT, kernel kontrol motor dll serta memori program dari 512 word
hingga 32 word. 1 Word disini sama dengan 1 instruki bahasa assembly yang bervariasi
dari 12 hingga 16 bit, tergantung dari tipe PIC micro tersebut. Silahkan kunjungi
www.microchip.com untuk melihat berbagai produk chip tersebut.
Pada awalnya, PIC merupakan kependekan dari Programmable Interface
Controller. Tetapi pada perkembangannya berubah menjadi Programmable Intelligent
Computer. PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat
oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik
General Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan
pembuatan PIC-nya yang keenam.
PIC cukup popular digunakan oleh para developer dan para penghobi ngoprek
karena biayanya yang rendah, ketersediaan dan penggunaan yang luas, database aplikasi
yang besar, serta pemrograman (dan pemrograman ulang) melalui hubungan port serial
yang terdapat pada komputer.
PIC bisa untuk mengontrol perangkat output ketika mereka dipicu
oleh sensor dan switch. Program dapat dihasilkan dengan menggunakan diagram
alur dalam perangkat lunak komputer, yang kemudian dapat di-download ke dalam
chip PIC. Hasilnya dapat ditulis ulang sebanyak yang kita inginkan. Memori jenis
ini disebut memori flash.
Sebuah mikrokontroler PIC adalah sirkuit terpadu tunggal yang cukup kecil
untuk dan berisi memori pengolahan unit, Jam dan sirkuit Input / Output dalam satu
unit. Sebuah mikrokontroler PIC sering digambarkan sebagai komputer dalam sirkuit
terpadu. Mikrokontroler PIC dapat dibeli kosong dan kemudian diprogram dengan
program kontrol tertentu. Mikrokontroler PIC juga dapat dibeli dengan pra–
diprogram seperangkat perintah yang memungkinkan download langsung
dari kabel komputer dan mengurangi biaya peralatan pemrograman.

Anda mungkin juga menyukai