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.