Arsitektur Mikrokontoler 8051

Mikrokontroler adalah sebuah komputer kecil yang dikemas dalam bentuk chip IC (Integrated Circuit) dan dirancang untuk melakukan tugas atau operasi tertentu. Pada dasarnya, sebuah IC Mikrokontroler terdiri dari satu atau lebih Inti Prosesor (CPU), Memori (RAM dan ROM) serta perangkat INPUT dan OUTPUT yang dapat diprogram.

Berikut adalah contoh Diagram Blok dan struktur dari  mikrokontroler beserta :


Arsitektur Prosesor Intel 8051
        Prosesor atau mikroprosesor adalah suatu perangkat digital berupa Chip atau IC (Integrated Circuit) yang digunakan untuk memproses data biner. Alat ini berisi ALU (Arithmetic and Logic Unit), register-register, Control Unit dan sistem interkoneksi atau BUS internal. Bila sebuah prosesor dilengkapi dengan memory (RAM & ROM) dan fasilitas Input/Output internal, biasanya disebut mikrokontroler. 8051 merupakan mikrokontroler buatan Intel corp yang merupakan bagian dari keluarga MCS-51. Semua fasilitas sebuah sistem mikroprosesor yang terdiri dari prosesor, memory dan I/O dikemas dalam keping tunggal atau single chip IC. Dengan cara ini, maka pengguna atau user tidak perlu melengkapi keping tunggal ini dengan beragam IC lain seperti clock generator, addres latcher, chip selector, memory dan PPI (Programmable Peripheral Interface) atau lainnya.

        Variasi register di dalam sebuah mikroprosesor sangat beragam bergantung pada tipe, fungsi khusus yang diinginkan dan pabrik pembuatnya. Karena mikrokontroler telah dilengkapi dengan berbagai peripheral yang sudah terdapat pada satu chip IC maka mikrokontroler memiliki keunggulan berikut ini :
a. Harga yang lebih ekonomis .
b. Sistem yang jauh lebih kompak dan ringkas.
c. Tingkat keamanan dan akurasi yang lebih baik.
d. Kemudahan dalam penggunaannya untuk sistem yang berbasis mikrokontroler.

        Berdasarkan perbedaan dalam aplikasi dan fasilitas, mikrokontroler mempunyai set instruksi (Instruction Set) yang berbeda dengan mikroprosesor lainnya. Set instruksi mikroprosesor tersebut bersifat processing intensive untuk operasi data volume besar, yang dapat beroperasi secara bit, nibble, byte atau word. Beragam mode pengalamatan (addressing mode) memungkinkan akses ke lokasi dapat dilakukan secara fleksibel baik data array yang besar, memakai pointer alamat, offset dan lain-lain.

Di sisi lain mikrokontroler mempunyai instruksi yang bekaitan dengan kontrol dari Input dan O        utput. Antaramuka (interfacing) ke berbagai Input dan Output dapat dilakukan dengan operasi bit maupun byte.

        AT89C51 merupakan prosesor 8-bit dengan low power supply dan performansi tinggi yang terdiri dari CMOS dengan Flash Programmable dan Erasable Read Only Memory (PEROM) sebesar 4 Kbyte didalamnya. Alat tersebut dibuat dengan menggunakan teknologi tinggi non-volatile berdensitas tinggi dari ATMEL yang kompatibel dengan keluarga MCS-51 buatan Intel yang merupakan standar industri. Dengan menggunakan flash memori, program dapat diisi dan dihapus secara elektrik, yaitu dengan memberikan kondisi-kondisi tertentu (high / low) pada pinpinnya sesuai dengan konfigurasi untuk memprogram atau menghapus.


Arsitektur Mikrokontroler 8051


Organisasi Memori

8051 memiliki beberapa alamat terpisah untuk penyimpanan program dan data.


Penyimpanan Program

Setelah reset, MCS-51 mulai mengutip instuksi dari 0000H. Dapat diambil dari memori eksternal maupun internal.




  • Jika EA rendah, maka memori program dari eksternal.
  • Jika EA tinggi, maka alamat 0000 hingga 0FFF adalah ROM internal.


Penyimpanan Data

8051 memiliki 256 byte RAM internal.

  • 128 byte bawah digunakan untuk penyimpanan data.
  • 128 byte atas digunakan untuk Special Function Registers (SFR).


128 bytes bawah digunakan bukan hanya sekedar RAM biasa

  • Menyimpan registers, 
  • Stack
  • Dan fitur lainnya
  • 32 byte paling bawah membentuk 4 bank dari dengan isi 8 register tiap bank.
  • Hanya salah satu bank yang dapat aktif
  • Bank yang aktif dapat dipilih dengan mengatur 2 bit di PSW. [[Default bank (ketika dinyalakan) adalah bank 0 (lokasi 00 – 07)]].
  • Ke 8 register pada tiap bank dinamakan R0 hingga R7
  • Tiap register ini memiliki alamat dan dapat diakses langsung dengan menggunakan alamtnya tersebut, meskipun bank yang bersangkutan tidak diaktifkan.
  • 16 byte selanjutnya – lokasi 20H hingga 2FH – membentuk blok yang dapat dialamati baik sebagai byte maupun bit.
  • Byte memiliki alamat 20H hingga 2FH.
  • Bit-bit memiliki alamat 00H hingga 7FH.
  • Instruksi tertentu digunakan untuk mengakses bit-bit tersebut
  • Lokasi 30H hingga 7FH adalah general purpose RAM.



RAM –128 Byte Pertama


Lokasi memori bit addressable


SFR – Special Function Registers

  • RAM 128 byte atas digunakan untuk tempat special function register. Hanya sekitar 25 byte yang digunakan. Sisanya dicadangkan untuk versi pengembangan 8051.
  • Register-register ini berhubungan dengan fungsi yang penting dalam kerja MCS-51.
  • Beberapa SFR bersifat bit-addressable juga byte-addressable. Alamat bit 0 suatu register sama dengan alamat register yang bersangkutan.



Lokasi SFR



Special Function Registers

  • ACC dan B registers – 8 bit
  • DPTR :  data pointer [DPH:DPL] – 16 bit (gabungan)
  • PC : Program Counter – 16 bit
  • Stack pointer SP – 8 bit
  • PSW : Program Status Word
  • P0, P1, P2, P3 - Port Latch
  • SBUF - Serial Data Buffer
  • TH0, TL0, TH1, TL1 - Register Timer
  • Control Registers

ACC – Akumulator

Umumnya digunakan untuk penyalinan dan instruksi aritmatika dan dapat ditulis dengan beberapa cara:

  • Dinyatakan dengan ACC (atau A).
  • Dengan alamatnya 0E0H.

Disamping itu, juga bersifat bit addressable dimana ACC.2 berarti bit 2 register ACC.


Register B

  • Umumnya digunakan sebagai register sementara, mirip seperti register R0 – R7
  • Digunakan oleh dua opcode, seperti : mul AB, div AB
  • Register B menyimpan operan kedua dan menyimpan hasilnya seperti : 8 bit atas hasil perkalian dan Sisa pada pembagian.
  • Dapat juga diakses melalui alamatnya 0F0H.
  • Bersifat bit-addressable.


Register DPL dan DPH

  • 2 8-bit registers that can be combined into a 16-bit DPTR – Data Pointer.
  • Used by commands that access external memory
  • Also used for storing 16bit values
  • mov DPTR, #data16  ; setup DPTR with 16bit ext address
  • movx A, @DPTR   ; copy mem[DPTR] to A
  • Can be accessed as 2 separate 8-bit registers if needed.
  • DPTR is useful for string operations and look up table (LUT) operations.


The SP Register

  • SP is the stack pointer.
  • SP points to the last used location of the stack. (Push operation will first increment SP and then copy data and Pop operation will first copy data and then decrement SP).
  • In 8051, stack grows upwards (from low memory to high memory) and can be in the internal RAM only.
  • On power-up, SP points to 07H. (Register banks 2,3,4 (08H to 1FH) form the default stack area).
  • Stack can be relocated by setting SP to the upper memory area in 30H to 7FH, (mov SP, #32H).

Register PSW

Program Status Word: bersifat “bit addressable” register 8-bit Menyimpan seluruh flag.



Program Status Word


Register P0, P1, P2, and P3

  • Port Latch.
  • Memberikan nilai yang dikeluarkan pada port tertentu atau nilai yang dibaca dari port input tertentu.
  • Bersifat bit addressable. Alamat bit pertama juga merupakan alamat register yang bersangkutan. Contoh: alamat P1 adalah 90H, sehingga P1.7 atau 97H merupakan bit yang sama.


Register SBUF

  • Serial Port Data Buffer.
  • 2 register dengan lokasi yang sama. Satu untuk menyimpan data serial hasil input (Buffer Serial Data Receive). Satu lagi untuk tulis data serial (Buffer Serial Data Transmit).


Register Timer – TH0 dan TL0

  • Byte tinggi dan rendah register cacah 16-bit untuk timer/counter T0.
  • Terdapat pasangan TH1 / TL1 untuk timer T1.


Register Kontrol

  • IP – Interrupt Priority.
  • IE – Interrupt Enable.
  • TMOD – Timer Mode.
  • TCON – Timer Control.
  • T2CON – Timer 2 Control (8052)
  • SCON – Serial Port Control.
  • PCON – Power Control (80C51).


Over View


Arsitektur Mikrokontroler 8051

Komentar