14
MCS-51 P1
P0 EA
ALE
PSEN ADDR
MEMORI PROGRAM
EKSTERNAL INSTR
OE LATCH
Gambar 4. Eksekusi Memori Program Eksternal Didin Wahyudin, 2006: 13
H. Memori Data
Gambar ini menunjukkan konfigurasi perangkat keras pada saat mengakses RAM eksternal bila kapasitas memori yang dibutuhkan lebih dari 2 K byte.
Dalam hal ini, CPU mengeksekusi program dari ROM internal. Port 0 berfungsi sebagai bus alamat atau data bersifat multiplexer terhadap RAM. Kemudian, 3
buah jalur dari port 2 digunakan untuk pemilihan halaman RAM RAM page. CPU mengaktifkan sinyal RD dan WR berdasarkan kebutuhannya selama
pengaksesan RAM eksternal.
MCS-51 P1
P0 EA
ALE
RD ADDR
MEMORI PROGRAM
EKSTERNAL DATA
WE LATCH
VCC
OE PAGE BITS
WR P3
P2 IO
Gambar 5. Pengaksesan Memori Data Eksternal Didin Wahyudin, 2006: 14
Data memori eksternal dapat mencapai 64 KB. Pengalamatan data memori eksternal ada yang memerlukan lebar cukup 1 byte atau dengan 2 byte.
Pengalamatan dengan 1 byte sering digunakan asalkan satu atau lebih jalur I O digunakan untuk memilih RAM page, seperti yang terlihat pada gambar.
Sebaliknya, pengalamatan 2 byte digunakan dengan catatan port 2 digunakan untuk mengirim high address byte byte alamat atas.
15
16
FFH UPPER
128 80H
7FH
LOWER 128
DIAKSES HANYA DENGAN INDIRECT
ADDRESSING PENGAKSESAN
DENGAN DIRECT ADDRESSING
DIAKSES DENGAN DIRECT MAUPUN
INDIREST ADDRESSING
SPECIAL FUCTION
REGISTER
FFH
80H
Gambar 6. Data Memori Internal
Agfianto Eko Putra;2002: 6
Data memori internal dibagi menjadi beberapa bagian seperti pada gambar. Memori internal dibagi menjadi 3 blok yang secara umum dibedakan menjadi
lower 128, upper 128 dan ruang Special Fucntion Register SFR. Lebar alamat data memori internal selalu sebesar 1 byte, sehingga kapasitas
maksimum sebuah alamat data adalah 256 byte. Namun demikian, mode pengalaman untuk internal RAM dapat diakomodasikan menjadi 384 byte dengan
sedikit trik. Pengalamatan langsung yang lebih tinggi dari 7 FH akan mengakses blok memori berbeda. Gambar 6 menunjukkan bagaimana upper 128 dan ruang
SFR menggunakan blok yang sama pada pengalamatan 80H sampai FFH, walaupun secara fisik keduanya terpisah
17
7FH
2FH 1FH
17H H
RUANG PENGALAMATAN
11 10
01 20H
18H 10H
08H 4 B
A NK DA
R I
REGIS TER
R 0-R7
BIT PEMILIH BANK REGISTER
PADA PSW 0F
07H 00 0
STACK 8
POINTER SAAT RESET
Gambar 7. Blok Lower 128 Didin Wahyudin, 2006: 16
Blok lower 128 selalu tersedia pada semua piranti MCS-51 seperti terlihat pada gambar diatas. Lokasi di bawah 32 byte dikelompokkan menjadi 4 buah
bank dari 8 register. Program instruksi mengenalnya sebagai R0 sampai R7. dua bit dalam PSW Program Status Word dipakai untuk memilih bank-bank yang
akan digunakan. Akibatnya, penggunaan pengkodean akan lebih efisien sebab dengan menggunakan cara demikian, kita akan mendapatkan instruksi yang lebih
pendek daripada dengan menggunakan Direct Addresing pengalamatan langsung Didin Wahyudin; 2006;16 .
BIT NOT ADDRESSABLE
Dapat digunakan sebagai ruang STACK pada piranti dengan RAM
256 byte
80H FFH
Gambar 8. Blok Upper 128
Didin Wahyudin, 2006: 17
16 byte berikutnya di atas bank register adalah ruang memori yang bersifat bit-addressable dapat dialamati per bit. Pada instruktion Set MCS-51 terdapat
instruksi-instruksi yang dapat mengolah bit tunggal dan sebanyak 128 bit pada area dapat diakses secara langsung dengan menggunakan instruction set. Bit yang
dapat diakses langsung adalah daerah dari 00H sampai 7FH. Semua daerah dalam lower 128 dapat diakses secara direct maupun indirect addressing pengalamatan
langsung maupun tidak langsung. Sebaliknya, upper 128 dari RAM tidak digunakan pada 8051, tetapi menggunakan RAM lain dengan kapasitas 256 byte.
Tabel di bawah ini menunjukkan ruang SFR Spesial Function Register. Dalam ruang SFR, ada port latch, timer, kontrol peripheral dan lain-lain. Kita
dapat mengakses register-register hanya dengan menggunakan dirrect addressing. Secara umum, seluruh keluarga MCS-51 memiliki ruang SFR sama dengan 8051.
kemudian SFR diletakkan pada alamat yang sama. Kita dapat melakukan pengalamatan sebanyak 16 alamat pada ruang SFR, baik pengalamatan bit
18
maupun byte. SFR yang bersifat bit addressable adalah alamat-alamat yang berakhir dengan 000B. Bit yang dialamatkan pada daerah ini mulai 80H sampai
FFH. I.
SFR Special Function Register
SFR pada mikrokontoler dapat dibagi menjadi beberapa bagian. Setiap FSR pada mikrokontoler AT89S51mempunyai alamat masing-masing sebagai berikut :
Tabel 1. Special Function Register
Macam SFR Alamat
Fungsi
Accumulator E0H
Menyimpan data sementara Register B
F0H Operasi perkalian dan pembagian
Program Status Word PSW
D0H Informasi statuus program
Stack Pointer 81H
Menyimpan dan mengambil data dari atau ke stack
Data Pointer 83 H dan 82H
Menampung data 16 bit Port 0, 1, 2 dan 3
80H, 90H, A0H Menyimpan data yang akan dibaca
atau ditulis dari atau ke port Serial Data Buffer
99H Sebagai register penyangga penerima
atau pengirim Timer Register
8CH dan 8AH Merupakan register-register
pencacah 16 bit untuk masing- masing timer 0, 1 dan 2
19
Capture Register CBH dan CAH
Menyimpan nilai isi ulang
J. Mode-mode Pengalamatan