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 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).
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
Posting Komentar