Anda di halaman 1dari 5

1.

Konsep Dasar Mikrokontroler


1.1 Struktur Mikrokontroler
ALU
(ARITHMETIC and
LOGIC UNIT)

TIMER/COUNTER

ACCUMULATOR
REGISTER

INTERNAL RAM

I/O
PORT

I/O
PORT

INTERNAL
ROM

INTERRUPT
CIRCUIT
CLOCK
CIRCUIT

STACK POINTER

PROGRAM COUNTER

Gambar 1.1. Diagram blok mikrokontroler umum

Masing-masing bagian tersebut saling dihubungkan melalui internal bus,


umumnya terdiri dari 3 bus yaitu address bus, data bus, dan control bus.

Masing-masing bagian memiliki fungsi-fungsi :


Register :
Register adalah suatu tempat penyimpanan (variabel) bilangan bulat 8
atau 16 bit. Pada umumnya register jumlahnya banyak, masing-masing
ada yang memiliki fungsi khusus dan ada pula yang memiliki
kegunaan umum. Register yang memiliki fungsi khusus misalnya
adalah register timer yang berisi data penghitungan pulsa untuk timer,
atau register pengatur mode operasi counter (pencacah pulsa).
Sedangkan register yang bersifat umum digunakan untuk menyimpan
Mikrokontroler MCS51

data sementara yang diperlukan untuk proses penghitungan dan proses


operasi mikrokontroler. Register dengan kegunaan umum dibutuhkan
mengingat pada saat yang bersamaan mikrokontroler hanya mampu
melakukan operasi aritmetik atau logik hanya pada satu atau dua
operand saja. Sehingga untuk operasi-operasi yang melibatkan banyak
variabel harus dimanipulasi dengan menggunakan variabel-variabel
register umum.
Accumulator :
Merupakan salah satu register khusus yang berfungsi sebagai operand
umum proses aritmetika dan logika.
Program Counter :
Merupakan salah satu register khusus yang berfungsi sebagai
pencacah/penghitung eksekusi program mikrokontroler.
ALU (Arithmetic and Logic Unit) :
ALU memiliki kemampuan mengerjakan proses-proses aritmatika
(penjumlahan, pengurangan, perkalian, pembagian)

dan operasi

logika (misalnya AND, OR, XOR, NOT) terhadap bilangan bulat 8


atau 16 bit.
Clock Circuits :
Mikrokontroler adalah rangkaian logika sekuensial, dimana proses
kerjanya berjalan melalui sinkronisasi clock. Karenanya diperlukan
clock circuits yang menyediakan clock bagi seluruh bagian rangkaian.
Internal ROM (Read Only Memory) :
Merupakan memori penyimpan data yang isinya tidak dapat diubah
atau dihapus (hanya dapat dibaca). ROM biasanya diisi dengan

Mikrokontroler MCS51

program untuk menjalankan mikrokontroler segera setelah power


dinyalakan, dan berisi data-data konstanta yang diperlukan oleh
program. Isi ROM tidak dapat hilang walaupun power dimatikan.
Internal RAM (Random Access Memory) :
Merupakan memori penyimpan data yang isinya dapat diubah atau
dihapus. RAM biasanya berisi data-data variabel dan register. Data
yang tersimpan pada RAM bersifat hilang jika catu daya yang
terhubung padanya dimatikan.
Stack Pointer :
Stack adalah bagian dari RAM yang memiliki metode penyimpanan
dan pengambilan data secara khusus. Data yang disimpan dan dibaca
tidak dapat dilakukan dengan metode acak. Karena data yang masuk
ke dalam stack pada urutan yang terakhir adalah data yang pertama
kali dibaca kembali. Stack Pointer berisi offset dimana posisi data
stack yang terakhir masuk (atau yang pertama kali dapat diambil).
I/O (input/output) Ports :
Merupakan sarana yang dipergunakan oleh mikrokontroler untuk
mengakses peralatan-peralatan lain di luar dirinya, berupa pin-pin
yang dapat berfungsi untuk mengeluarkan data digital ataupun
menginputkan data.
Interrupt circuits :
Adalah rangkaian yang memiliki fungsi untuk mengendalikan sinyalsinyal interupsi baik internal maupun eksternal. Adanya sinyal
interupsi akan menghentikan eksekusi normal program mikrokontroler

Mikrokontroler MCS51

untuk selanjutnya menjalankan sub-program untuk melayani interupsi


tersebut.
Diagram blok tersebut tidaklah 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 di samping port I/O paralel yang sudah ada.

1.2. Cara Kerja Mikrokontroler


Prinsip kerja mikrokontroler adalah sebagai berikut :
1.

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.
2.

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.

3.

Program Counter telah berubah nilainya (baik karena penambahan


otomatis sebagaimana pada langkah 1 di atas atau karena pengubahan
pada langkah 2). Selanjutnya yang dilakukan mikrokontroler adalah
mengulang kembali siklus ini pada langkah 1. Demikian seterusnya
hingga power dimatikan.

Mikrokontroler MCS51

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 pembaca dapat mengembangkan sendiri aplikasiaplikasi lain sebagaimana yang diinginkan.
Mikrokontroler MCS51